Appium
Appium优点
- 开源
- 跨架构:NativeApp、Hybird App、Web App
- 跨设备:Android、iOS、Firefox OS
- 不依赖源码
- 使用任何WebDriver 兼容的语言来编写测试用例。比如 Java, Objective-C, JavaScript with Node.js, PHP, Python, Ruby, C#, Clojure, 或者 Perl.
- 不需要重新编译APP
Appium理念
- 你无需为了自动化,而重新编译或者修改你的应用。
- 你不必局限于某种语言或者框架来写和运行测试脚本。
- 一个移动自动化的框架不应该在接口上重复造轮子。(WebDriver)
- 无论是精神上,还是名义上,都必须开源。
基于这架构可以做什么?
- 可以用任何实现了该客户端的语言来写测试代码
- 可以把服务端放在不同的机器上
- 可以只写测试代码,然后利用类似Testin 云服务解决方案来解释命令.
Appium环境搭建所需
- jdk-8u121-window(32位的就下载32位的,64位的就下载64位的)。
- Android-sdk
- Python:(V3.6也可以)
- appium
- Node.js
- Appium-python-Client
- pycharm
#Appium连接手机测试
首先配置Appium的路径:填入配置好的anriod路径和jdk路径,配置完保存。
之后直接打开Start Server按钮即可启动Appium的服务,相当于开启 了一个Appium服务器
采用数据线采用数据线将手机和电脑相连接,手机打开USB的开发者模式(问度娘怎么选择手机开发者模式)连接完手机以后运用andriod的adb工具来测试手机的信息。
在此需要记录下手机的设备名称,位置为device product:设备名称。
之后获取要爬取的APP的程序包名和启动页(Activity)。(以微信为例)
先打开微信,然后在命令行终端输入 adb shell,然后输入dumpsys activity | grep mFocusedActivity
转一张图:此外还可以APK反编来获取(自己尝试)。
启动程序:然后填入程序需要的信息,填完启动。
启动,如果出现以下错误
- 运行appium出现下面报错:Encountered internal error running command: Error: Error getting device platform version. Original error: Error executing adbExec. Original error: ‘Command ‘‘D:\Android_ceshi\Android Sdk\platform-tools\adb.exe’ -P 5037 -s 127.0.0.1:62001 shell getprop ro.build.version.release’ exited with code 3221226356’; Stderr: ‘’; Code: ‘3221226356’
解决思路:
- 检查appium配置的路径是否正确
- 可能是手机上软件安装可能不全。
打开app以后,根据提示 ,进行安装,如下是我提示安装的软件。在安装以后,程序就可以正常运行了。
运行情况如下