app UI自动化测试Linux环境搭建:https://juejin.im/post/5d1d62ea518825392a5d0057
1.在测试环境(10.20.0.157)启动appium容器,直接输入以下命令即可,不需要安装任何appium依赖包
docker run --privileged -d -p 4723:4723 --name appium1 appium/appium
查看:docker ps -a
出现appium1 说明启动appium成功
2.在测试环境启动安卓模拟器(这里选用夜神模拟器)
2.1 先打开夜神模拟器,在cmd窗口输入
adb devices
出现 127.0.0.1:62001 device 之后输入以下命令改变连接方式,从usb更改为tcp-ip的方式
adb -s 127.0.0.1:62001 tcpip 55555
出现 restarting in TCP mode port:5555 说明改变连接方式成功
2.2 将夜神模拟器的网络设置为网络桥接模式(系统设置-手机与网络-网络设置-勾选开启网络桥接模式)
IP设置 DHCP
ip地址:10.30.1.107
网关:10.30.1.1
子网关掩码:255.255.255.0
DNS1:10.30.0.10
DNS2:10.20.0.10
设置完成重启模拟器,重启之后可能无法获取ip,点击系统应用-设置-WLAN-打开开关,然后自动获取下就可以了
查看模拟器的ip地址:10.30.1.107
可在cmd窗口输入:ping 10.30.1.107 查看本地是否可连接10.30.1.107
可在cmd窗口输入:adb connect 10.30.1.107:55555 查看在本地是否可连接模拟器
出现connected to 10.30.1.107:55555说明连接成功
2.3 虚拟机docker连接模拟器
ping 10.30.1.107 (查看在测试环境是否可连接10.30.1.107)
可ping通之后输入:
docker exec -it appium1 adb connect 10.30.1.107:55555
出现connected to 10.30.1.107:55555说明连接成功,再输入:
docker exec -it appium1 adb devices
出现List of devices attached
10.30.1.107:55555 device 说明在测试环境启动模拟器成功
3.修改python启动参数,运行脚本
caps = {}
# 模拟器启动参数
caps["platformName"] = "Android"
caps["platformVersion"] = "5.1.1"
caps["deviceName"] = "10.30.1.107:5555"
caps["uid"] = "10.30.1.107:5555"
caps["appPackage"] = "com.anjounail.app"
caps["appActivity"] = ".UI.Start.WelcomeActivity"
caps["noReset"] = True
caps["unicodeKeyboard"] = True
caps["resetkeyboard"] = True
caps["adbExecTimeout"] = 30000
caps["uiautomator2ServerLaunchTimeout"] = 30000
driver = webdriver.Remote("http://10.30.0.157:4723/wd/hub", caps)
4.在测试环境输入docker logs -f appium1 查看日志