简单介绍下背景:准备搭建Eclipse+python+Monkeyrunner自动化测试环境,然后用python写脚本实现对Android手机简单功能点得自动化测试,在搭建环境过程中以及拿一个现有脚本进行测试时出现了很多问题。下面就开始介绍:
1.安装jdk
(1)去该网址http://www.oracle.com/technetwork/java/javase/downloads/index.html下载jdk
(2)下载后安装,默认路径即可
(3)进入我的环境变量设置:新建系统变量JAVA_HOME,变量值就输入你安装jdk的路径即可;再编辑path系统变量,新建%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin,然后一路确定。
(4)此时jdk就安装好了
(5)去cmd输入命令:java -version出现下图所示表示安装成功:
2.安装eclipse
去网上找对应版本的eclipse下载即可,eclipse不用安装,直接可以打开.exe使用,但是不同版本的jdk要使用不同版本的eclipse。具体对应关系大家可以去https://blog.csdn.net/gsls200808/article/details/75007116/一文中查看。我安装的jdk是1.8版本的所以对应的eclipse安装的是Oxygen4.7版本,同时jdk和eclipse要保证都是64位的或都是32位的。
3.安装ADT
因为安装SDK要用到ADT,这里不详细解释,有需要的自行查询一下。
(1)去网上找ADT下载即可,版本要与你要使用的一致,具体可去https://blog.csdn.net/ElyXiao/article/details/50728105一文查看(但是我感觉好像不太全,大家可以再搜搜,因为我也不太了解)(这里我下载了ADT23.0.0,因为它对应android6版本,与之后我要测试的android手机版本一致)
(2)这里推荐一个网站https://www.androiddevtools.cn/,里面的Android SDK工具->ADT Plugin,然后下载对应需要的版本即可
(3)下载后,解压缩包到eclipse的路径下,然后打开eclipse,选择上方的选择项Help->Install New Software,进入Install页面
(4)在Install页面点击Add,然后在新的选择框点击Local,选择你之前下载解压缩好的ADT
(5)然后选择你要安装的内容,一路Next,等它安装好即可。
安装中途可能会出现一个弹框,选择Install Anyway即可继续安装,安装好之后Eclipse会重启并出现以下图标。
4.安装android-sdk
(1)去网上下载android-sdk,选择最新的版本下载就行。
(2)这里推荐一个网站https://www.androiddevtools.cn/,里面的Android SDK工具->SDK Tools,如下图
(3)选择下图所示的版本下载即可
(4)打开Eclipse,选择Window->Preferences,进入Preferences页面,依次选择Android->Browse,选择下载好解压缩后的SDK文件夹,点击确定,然后Apply
(5)然后打开SDK Manager或者直接点击eclipse的图标,去安装一些需要的内容,它会自动勾选一些要安装的,你只需要更改你需要的Android版本安装即可(API要与之前的ADT的API对应上哦!)
(6)安装好之后,Windows->Preference->Android出现以下则安装成功
(7)去配置环境变量如下:新建系统变量ANDROID_HOME,路径填写sdk的platform-tools和tools路径,用分号隔开
再去path系统变量中添加%ANDROID_HOME%
在这一步可能会出现的报错问题是:打开SDK Manager页面内容显示不全,并出现“Failed to fectch URl https://dl-ssl.google.com/android/repository/addons_list.xml, reason: Connection to https://dl-ssl.google.com refused”或是“Connection to http://dl.google.com refused”问题,解决方法见https://blog.csdn.net/Lycorisradiata__/article/details/100584361一文。
5.安装Pydev
配置Python环境需要安装Pydev
(1)选择Help->Install New Software,进入页面选择Add,直接填写如下:(Name一栏可随意填写)
(2)点击OK,然后一路Next安装下去,安装成功后会重启,然后Windows->Preference会出现pydev一栏
6.配置Python环境
(1)去https://www.python.org/getit/下载python(版本看自己需要),然后在在windows下默认安装即可(这个没有难度吧我就不详细说了)
(2)然后去配置环境变量:在path系统变量下添加Python的路径以及Scripts文件夹的路径
(3)去cmd执行python命令,出现以下提示则说明安装成功
(4)去Eclipse中打开第五步中的pydev一栏,按下图点击,然后选择安装好的python文件夹下的.exe程序
(5)出现以下则证明配置成功
在这一步中,可能会出现许多模块报错,类似于:“No module named setuptools“问题,解决方案参照https://blog.csdn.net/Lycorisradiata__/article/details/100132257一文。
到此,自动化环境基本搭建完成。但在调试现有python脚本时,还有一些报错问题,具体罗列如下:
这是编译出错,原因可能是脚本中添加的用来编译的python路径写错,请细心检查
原因是python模块没有引入对应的pyExcelerator,xlwt,xlrd包,这些都是第三方模块,默认安装的python不会自带,需要自己引入,可参照https://blog.csdn.net/Lycorisradiata__/article/details/100132744一文
原因是路径不存在,请信心检查要访问的路径是否有误。具体可参照https://blog.csdn.net/Lycorisradiata__/article/details/100145133一文
这个报错我解决了很久,当时已经安装了ConfigParser模块,然后编辑器中的import ConfigParser一行也没报错,但是一运行就报错,class文件是安装ConfigParser后里面的文件不可能出错,后来是重新搭建了一次环境这个问题才解决,至今不了解为何会报错(有大佬也可以给我解释一下噢)
编辑器中引入monkeyrunner模块一直标红,但是cmd运行monkeyrunner正常,然后一直百度都没找到解决办法。后来发现虽然标红但是不影响代码运行,看网上总结说经常会有引入第三方模块标红但不影响运行的情况,大家自行忽略即可。
大家可以https://mp.csdn.net/postedit/100175186一文查看
该问题出现背景是:脚本在android6可成功运行并得到相应结果,但换了android9手机就报错。原因是适用于Android6的sdk下的asm.jar不适用于Android8/Android9。解决办法就是去下载asm.jar,替换掉sdk下的asm.jar即可,具体操作见https://www.cnblogs.com/aziji/p/11358946.html一文(内有下载地址)
这个问题主要出现场景为:上一次的脚本执行被强制中断,这次执行时eclipse接着上次的脚本继续调用,导致对应不起来,引起报错。解决办法是从eclipse页面删除当前项目,然后重新导入执行即可。
注:以上是在win10上搭建的环境,最后脚本成功运行,但是同样的环境在win7下搭好脚本无法正常运行,经过验证环境搭建过程没有变化,如果跑不起来,建议换一个ADT版本试试!
大概总结到此结束辣,有别的问题我会继续补充der