在Mac上搭建Android 自动化测试的测试环境 (2)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在Mac上搭建Android 自动化测试的测试环境
一、
1.该环境搭在了本地的一台MacBook上,序列号:C02F302EDC79
2.使用的自动化测试工具是appium
3.搭建环境的步骤
1.在terminal 终端里面运行命令brew install node
2.在terminal 终端里面运行命令npm install -g appium
3.在terminal 终端里面运行命令npm install wd
对这三个命令的解释:第一个是安装node.js,这个命命令需要更新一下.它对版本的要求比较高,为了兼容性考虑,最好安装版本0.12第二个是安装appium ,第三个是安装appium client ,如果运行的时候报错,可以尝试在命令的前面加上sudo
4.安装JDK7 地址:
/technetwork/java/javase/downloads/jdk7-downloads-1880260.
html
5.安装android sdk地址:
/sdk/index.html
对于这个步骤你可以选择安装Android STUDIO 也可以只安装stand-alone sdk tools
然后再添加你需要的sdk packages 比如:platform tools
我是安装了Android studio ,然后又添加了一些sdk packages, 添加sdk packages 的方法:
/sdk/installing/adding-packages.html
sdk tools 所在的位置是:/users/testuser/Library/Android/sdk
其中的Library 是隐藏文件夹,如果想进去看点击mac 右上角的Go->Go to Folder:
输入~/Library/
6.在.bash_profilel里面为JAVA_HOME和ANDROID_HOME设置路径:
在terminal 终端里面运行命令vi ~/.bash_profile
进入profile界面后按I 进入编辑模式,然后设置路径为:
export JAVA_HOME="$(/usr/libexec/java_home -v 1.7)"
export ANDROID_HOME="/users/testuser/Library/Android/sdk"
然后按esc 返回到normal 模式,用命令:wq退出并保存
保存后如果想让它生效用命令source /.bash_file
Notes:机器不一样所以遇到的问题也不一样,如果你运行brew install node 提示你每天brew command ,那你需要搜一下把brew给装好。当你运行npm install -g appium的时候有可能安装失败,首先用sudo 试试,如果这样安装还是失败,看看log 我失败一次的经历是安装一个插件失败了好像是什么library 安装不了,这个时候如果有开发就去问问开发,如果不愿意问就自己先在google上搜索下,如果安装这个插件。搭测试环境这步是基础所以一定得搭好,走不下去问开发是正常的。
7.经过上面的1-6步以后基本环境以及搭建完毕。这时候去Download sample code
地址:https:///appium/sample-code
在terminal 终端里面运行命令git clone https:///appium/sample-code
我把sample code 放在了桌面的appium example 里面。里面的内容下面的截图
8.Appium 支持很多语言如Python.Java, Javascript,PHP, ruby我选择了python 来写脚
本
9.在Sample code 里面给了一些已经写好的脚本可以去直接运行,不过运行的时候说
缺少appium module 、Enum module ,selinum module又把这些module 给装了一下。
Appium module 的安装方法我是通过下载安装的,另外两个module 用的命令行安装的,分别是$ npm install enum和pip install -U selenium
10.再次去运行脚本发现可以跑成功了。跑脚本的方法:将tablet和mac连接成功后首
先在terminal 终端里面用命令appium &开启appium 。将你写好的脚本拖到terminal 终端里面python testcasename.py 运行举个例子如图所示
你也可以借助小工具如sublime text ,将case拖进去然后用命令command +B 运行。如图
二、与Jenkins 整合
我们最终的目标是当Jenkins 上编译了一个最新的版本的Aurora HI&M 后我们可以取到最新的版本然后跑case。
1.取最新版本的方法:Aurora RPM 的编译中有个workspace 里面存着最新的版本,
我们可以从这个地方去拿。把app的路径指到这个地方,但是版本的名字又是变动的,所以我们过滤筛选出含.apk 的file 。把它赋给app
source_dir = '/Users/Shared/Jenkins/Home/jobs/AuroraRPM/workspace/RPM'
for file in glob.iglob(os.path.join(source_dir, "*.apk")):
app = file
2.在Jenkins上面新建一个job。Autotest新建的项目可以copy之前项目的模板。
不同的地方是设置触发器当AuroraRPM编译出新的稳定的版本后出发这个job
接着是执行的脚本,
该脚本其实是执行的test_HTMLTestRunner.py . 这个脚本有两个用途一个是跑case。我的case 是写在了和它同一目录的android_Aurora_Test_Cases.py 里面。在test_ main里面把文件android_Aurora_Test_Cases的case加到test_HTMLTestRunner.py
它的另一个用途是可以用来生产html 的report。