您的位置:首页 > 移动开发 > Android开发

学习android及自动化测试中遇见的问题及解决办法总汇

2012-09-16 12:31 411 查看

一、如何在eclipse导入ApiDemos程序呢?

网上关于android自动化测试中大部分涉及的例子为ApiDemos程序,所以也想运行一下ApiDemos看看效果。一开始都不知道ApiDemos在哪,经过百度才知道在sdk目录下的sample目录下,有了源码后,第二个问题是如何导入到eclipse中,经过一翻研究,搞定。具体导入步骤如下:

1、打开eclipse

2、file->new-android project

3、在Project name下面有两个单选按钮,选下面一个 Create project from existing source 然后选择ApiDemos目录位置,这时Project Name将会自动命名为:ApiDemos。这里要注意一个问题,如果你的eclipse安装了两个版本,比如我机器上安装了android 2.3.3 和 android 4.0,如果你选择的是android2.3.3版本,即android-10目录下的ApiDemos,那么此时你应该在“New Android Porject”窗口中,选择最下面的“next”,而不要选择“finish”。如下图所示:



选择Next,目的是选择相对应的版本。如下图所示:



如果你导入的是android 2.3.3,系统默认是android 4.0(我这里默认为android 4.0),这样结果肯定出错。

4、剩下的事件就由你去做了。比如我写入到手机上,以monkeyrunner进行测试。

二、monkeyrunner xxx.py命令python文件中注释不能包括中文。

在CMD中通过命令monkeyrunner xx.py来执行xx.py的内容进行测试。注意:xx.py文件里不能包含中文。注释中包含中文都不行。切记。

该问题已解决,解决方案:

在文件开头增加 # -*- coding: utf-8 -*- 或者 #coding:utf-8 即可解决中文注释乱码问题。

如代码:

import sys
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
#我

def insertNote(d):
d.startActivity(component='com.example.android.notepad/.NotesList')
print 'insert a new note'
MonkeyRunner.sleep(2)
d.press('KEYCODE_MENU',MonkeyDevice.DOWN_AND_UP)
MonkeyRunner.sleep(2)

result=d.takeSnapshot()
result.writeToFile('shot1.png','png')
MonkeyRunner.sleep(2.0)

d.touch(267,905,MonkeyDevice.DOWN_AND_UP)
MonkeyRunner.sleep(5)
d.type("hello")
MonkeyRunner.sleep(1)
d.press("KEYCODE_BACK",MonkeyDevice.DOWN_AND_UP)
print 'wwwwwwwwwwwwwwwwww'
MonkeyRunner.sleep(15)
d.press("KEYCODE_HOME",MonkeyDevice.DOWN_AND_UP)
print "insert Successfully"
MonkeyRunner.sleep(5)

def main():
print 'start'
device=MonkeyRunner.waitForConnection()
if not device:
print 'couldn\'t get connection'
sys.exit()
print 'found device'

insertNote(device)

if __name__=='__main__':
main()

代码中包含注释“# 我”,代码执行失败,如下图所示:



去掉注释即可正常。

三、monkeyrunner中touch参数坐标的获取方法

具体访问:/article/8418950.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐