appium初始化driver时,如果未安装该app会先进行安装,安装时,很多安卓手机都会弹框,需要手动确认安装。
如小米的机器,
这是个头疼的问题,之前在网上找遍了,只有通过adb去点相对坐标成功了,但是依然觉得不完美。一来没法判断是否有弹框,再者就算通过坐标比例去点,也没法保证所有系统的安装按钮都在那个相对位置。
后来突发奇想,想到一个好办法,讲下原理:
要运行appium的手机,一般至少会安装3个app,分别是输入法、Appium Settings、unlock。
既然要运行appium自动化测试的安卓机,都需要安装好这3个应用,那为什么不利用这3个应用!反正包名和activity都一样!
所以,解决方案是:
先初始化Appium Settings这个app,只要driver初始化完成了,我们就可以利用appium去查找元素并点击确认安装的按钮了!
等待测应用安装成功后,再初始化待测应用就可以了!
处理逻辑:
初始化Appium Settings->根据apk文件获取到包名->判断是否安装app->如果安装先卸载->使用adb安装app->查找确认安装按钮并点击->等待x秒,检查是否安装成功->如果失败再重试几次
-> 初始化待测app
源码:
https://download.csdn.net/download/xxiong1031/10396441