UIautomator2
- Appium的端口为4723, 通过该端口与脚本交互
http://localhost:4723/wd/hub - 在移动端安装辅助APP(UIautomator2 server/ UIautomator2 test/Appium setting)
- 端口转发8200(电脑端口)转发到6790(netty server)
adb foward tcp:8200 tcp:6790
Appium 通过访问电脑端口8200进而访问手机端口6790 - 启动Uiautomator2 server
- 安装待测APP并启动
- app的返回结果在通过端口6790->8200->4723返回
H5页面交互原理
- Appium在操作Webview页面时会启动一个Chromedriver,端口号默认为8000, 通过Chromedriver来驱动移动端APP的操作;
- 因此Apium的chromedriver要和APP的Chromedriver一致;
查看手机APP的Chromedriver方法:应用->全都->Android system webview;
脚本通过AndroidMobileCapabilityType.CHROMEDRIVER_EXECUTABLE可以指定Appium的Chromedriver驱动
UIautomator1
- adb forward tcp:4724 tcp:4724
- 在手机端安装AppiumBootstrap.jar
- adb shell xxx 启动 AppiumBootstrap.jar
- AppiumBootstrap.jar封装APP操作,进行操作
多台设备连接Appium
- 启动Appium,指定端口号: appium -p 4491
- 脚本中指定使用端口为4491