appium server: 一个APP自动化测试框架 C/S架构 服务端由node.js开发 客户端支持多种语言,底层使用netty通信。
java写的自动化爬取程序:使用java_client包( appium客户端的java支持包) maven下载最新的即可
测试机器:夜神模拟器 或者真机都行,模拟器更稳定
比如要操作手机对某个app实现点击按钮
1.adb连接上设备
2.appium客户端,这里使用Java来发起网络请求
报文实例:Creating session with W3C capabilities: {
[baseDriver] “alwaysMatch”: {
[baseDriver] “platformName”: “android”,
[baseDriver] “appium:appActivity”: “********”,
[baseDriver] “appium:appPackage”: “*******”,
[baseDriver] “appium:automationName”: “UiAutomator2”,
[baseDriver] “appium:deviceName”: “127.0.0.1:62001”,
[baseDriver] “appium:fullReset”: false,
[baseDriver] “appium:noReset”: true,
[baseDriver] “appium:platformVersion”: “7”
[baseDriver] },
[baseDriver] “firstMatch”: [
[baseDriver] {}
[baseDriver] ]
[baseDriver] }
[baseDriver] Session created with session id: 9ff230ac-e1bc-4494-bee8-9187e8025cc6
此报文表示客户端请求appium服务端和设备建立一个会话,通过会话可以向设备发送命令
3.appiumServer接受请求 处理转发到设备
数据流转流程
java程序(appiumClient) —》 appiumServer —》 设备的UIAutomator2(谷歌sdk自带的测试框架 执行一系列操作)
UIAutomator源码地址(需要翻墙,一些操作需要看源码 比如滚动查找元素)
UIAutomator Api文档(需要翻墙)
1.安装android sdk并设置环境变量 我选择安装在D:/Android下面**
2.安装AndoridBuildTools 得到adb方便后续查看设备情况
3.appium安装 并启动
4.建议替换夜神的adb 或者直接用夜神的nox_adb也行
5.启动夜神模拟器 cmd窗口下输入adb devices -l
显示如下:
List of devices attached
127.0.0.1:62001 device product:R11 Plus model:OPPO_R11_Plus device:R11 Plus transport_id:1
设备名:127.0.0.1:62001或者R11 Plus 建议使用前者