UI自动化相信现在已经是软件测试人士的必备技能了,这次自己研究了下Appium在安卓端的使用,想分享给大家,也给一些初次接触Appium的小白白一些有用的帮助吧(自己中间也踩了很多坑)
概念:Appium主要是移动端的UI自动化工具,有server和desktop2种版本,前者据说已经停止更新了,但是今天还是以server版本为例子.
环境搭建:这里主要是用java来编写Appium脚本,那么我们接下来开始装环境吧=^_^=
1)Appium-server
下载地址:http://appium.io/
上面根据电脑系统自选,我选window版的
2)Node.Js
下载地址:http://nodejs.cn/download/
Appium依赖包之一
3)Java环境和ADB环境(要设置环境变量)
Java环境主要是IDE(eclipse等编译器)和jdk
ADB的话主要是安卓SDK相关,上面2个因为网上资源很多就不一一举例了...
下载地址:http://dl.google.com/android/adt/adt-bundle-windows-x86_64-20140702.zip
(这个地址里的是ADT安卓开发包,三合一,包含集成的eclipse,sdk和管理下载sdk的sdkmanager,炒鸡吴迪有没有!)
4).net framework 4.5(这个就不用解释了,巨硬家必须要装的)
5)IDE中的依赖包(TestNg自动化测试框架,selenuim driver,java client)
连接设备:
adb tcpip 5037 初始化自定义的端口
adb connect 192.168.2.101:5037 查到手机连接wifi的ip地址作为设备号,这样可以wifi连接adb
adb devices 查询设备连接情况
*坑*:因为环境没搭建好出现的状况
1)SDK没有配置正确导致appium出现warning提示,无法正常运行脚本
这个最好用上面给到的sdk,选择对应的sdk platform-tool和tool工具(24+最好)
2)nodejs没有配置好导致在运行脚本时,TestNG报出不能创建new session错误,脚本自动跳过
用文本打开以下路径的文件
Appium\node_modules\appium\node_modules\appium-adb\lib\adb.js
this.shell("ps '" + name + "'", function (err, stdout) {
*****
var outlines = stdout.split("\n");
outlines.shift()<------------------------添加这段代码
_.each(outlines, function (outline) {
*****
}
保存重启Appium即可
可能后续会有一些补充进去,之后另外开个帖子说一下实践的内容,先这样吧~