【独家】完美解决appium安装app时,需要手动确认安装的问题
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
【独家】完美解决appium安装app时,需要手动确认安装的问题的更多相关文章
- win7 Visual Studio 2008 安装程序时出现“ 加载安装组件时遇到问题。取消安装。”处理方法
		win7 Visual Studio 2008 安装程序时出现“ 加载安装组件时遇到问题.取消安装.”处理方法 vs2008试用期到期,卸载.重新安装都会出现“ 加载安装组件时遇到问题.取消安装.”无 ... 
- C#的Installer生成的msi的安装文件,安装新版本时提示:已经安装了该产品的另一个版本。无法继续安装此版本
		之前折腾了个C#的项目: WLW (Windows Live Writer) Plugin–InsertSkydriveFiles 然后又弄了个对应的Installer: [已解决]给一个C#的Dll ... 
- yum命令安装软件时,出现--centos 7 安装apache 出现 Could not resolve host: mirrorlist.centos.org; 未知的错误"--CentOS网络设置 couldn't resolve host 'mirrorlist.centos.org问题解决
		CentOS网络设置 couldn't resolve host 'mirrorlist.centos.org问题解决 今天在虚拟机上安装完CentOS6.5之后,首次使用时yum命令安装软件时,出现 ... 
- 安装系统时出现“windows无法安装到这个磁盘。选中的的磁盘采用GPT分区形式”
		安装系统到提示你不能安装在那个磁盘的一步,然后按住shift+F10呼出diskpart命令符,然后依次输入 diskpart list disk select disk 0 clean conver ... 
- 解决msi文件在XP上安装未完成(提示安装程序被中断,未能安装app。需要重新启动该安装程序进行重试)的问题。
		如图所示,我利用Visual Studio 2015制作了一个小程序.基于.Net 4.0.用VS的Install扩展,新建Install项目进行打包.打包为.msi文件.该安装文件在已经安装了 .N ... 
- 按照教程自动安装RFNoC时.在使用pip安装pybombs时出现报错,解决办法
		$ sudo apt-get install git $ sudo apt-get install python-setuptools python-dev python-pip build-esse ... 
- appium启动APP时避免重新安装的问题
		from appium import webdriverfrom time import sleepimport os #获取apk的绝对路径desired_cups = {}#设备平台desired ... 
- [置顶]
        完美解决Android Studio 运行时出现的警告信息?
		今天群友看到他说运行的时候报下面的错,我记得我之前导入百度地图也是遇到过,运行的时候一堆警告信息,然后编译失败等的,特别郁闷,其实后来在网上查了下,原来是很多第三方里面加个混淆,然后你有找不到那些方法 ... 
- 当我们在安装tensorflow时,我们在安装什么?- Intro to TF, Virtualenv, Docker, CUDA, cuDNN, NCCL, Bazel
		(Mainly quoted from its official website) Summary: 1. TensorFlow™ is an open source software library ... 
随机推荐
- ssh-add时候提示Could not open a connection to your authentication agent
			先执行下ssh-agent bash 
- CentOS7.4 删除virbr0 virbr0-nic虚拟网卡
			本文摘抄自 https://www.cnblogs.com/cloudos/p/8288041.html 在CentOS 7的安装过程中如果有选择相关虚拟化的的服务安装系统后,启动网卡时会发现有一个 ... 
- web.xml中context-param详解
			<context-param> <param-name>contextConfigLocation</param-name> <param-value> ... 
- 【柚子木字幕組】【BBC】 Are Our Kids Tough Enough? Chinese School 英國的孩子足夠堅強嗎?中式教學
			https://www.youtube.com/watch?v=ypT6c4NZ6jk 最近很火的一个bbc纪录片 讲的是英国学校请几个中国老师到他们那里试行中国教育的故事 作为学习英文的素材很不错 
- RAC3——RAC原理开始
			1.RAC并发 RAC的本质是一个数据库,只不过现在这个数据库运行在了多台计算机上,在原先的单实例中,一个进程是否可以修改一条数据,取决于是否有其他进程(同一台计算机上)并发修改.在RAC环境下,这种 ... 
- ORACLE设置密码无过期
			适用于ORACLE11G //获取用户所属的profile SELECT username,PROFILE FROM dba_users;//查看profile的密码有效期 默认是180天SELECT ... 
- jmeter --自动化badboy脚本开发技术
			jmeter --自动化badboy脚本开发技术 一般人用badboy都是使用它的录制功能,其它badboy还是一款自动化的工具,它可以实现检查点.参数化.迭代.并发.报告.断点等功能.本文就这些功能 ... 
- ASP.NET网站权限设计实现(三)——套用JQuery EasyUI列表显示数据、分页、查询
			一.说明: JQuery EasyUI下载地址:http://jquery-easyui.wikidot.com/download,最新版本1.2.2. 首先预览一下界面: 本例实现的功能: 1.多标 ... 
- TFS错误-TF249053
			前几天规划了下代码结构,改了很多东西后,台式机依然正常访问,但是笔记本一连接或者更改TFS相关资源就报错TF249053.报错点击后不影响正常使用,但是很郁闷.于是查了下资料如下. 错误原因: htt ... 
- C#连接Oracle数据库的方法(Oracle.DataAccess.Client也叫ODP.net)
			官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ... 
