Appium之打开应用时提示框处理
当打开一个应用时,会有一个无关紧要的提示框,如果要继续操作,需要先关闭提示框,如下图(如新用户福利提示):
此时,如果你直接用Appium inspector或者Android uiautomatorviewer一般是找不到它的相关属性的,我们手动操作是点击图中的“知道了”,appium自动化操作也应该是去点击此选项的,我的代码如下:
from appium import webdriver
from time import sleep caps = {
'platformName':'Android',
'deviceName':'xxxx',
'appPackage':'com.baidu.yuedu',
'appActivity':'com.baidu.yuedu.base.ui.MainActivity'
}
driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
sleep(2)
try:
driver.find_element_by_xpath("//*[@text='知道了']").click() #点击启动应用后的提示框里的"知道了"
except Exception as e:
pass
sleep(2) driver.quit()
即用xpath尝试定位text='知道了',因为这里的这个弹框不是单独的iframe,而且肯定有唯一的text属性值,所以成功定位并点击“知道了”了,提示框关闭进入百度阅读首页。
如此就完成然后就处理了打开应用时的提示框啦!
注:这个方法可能不是万能的,但还是有参考性的,如果对定位理解更多的话就会明白的(还有这是基于UI的测试~)
Appium之打开应用时提示框处理的更多相关文章
- 微信QQ打开网页时提示用浏览器打开
微信QQ打开网页时提示用浏览器打开 一,需求分析 1.1,使用微信或QQ打开网址时,无法在微信或QQ内打开常用下载软件,手机APP等.故此需要在微信qq里提示 二,功能实现 2.1 html实现 &l ...
- 解决当打开Unity时 提示项目已经打开,而自己之前并没有打开过(可能之前异常关闭)的问题
当打开Unity时 提示项目已经打开,而自己之前并没有打开过(可能之前异常关闭) 发生这种情况时 打开项目目录中的 Temp文件夹,可以找到 一个 UnityLockfile 文件 将这个文件删除就可 ...
- .Net中使用无闪刷新控件时提示框不显示
今天做提示框的时候一直不显示,让我郁闷好久,晚上吃饭的时候问了同事一下,他给了一个思路, 他说可能是因为由于页面中的无闪刷新导致的结果:百度了一下真找到了解决方法 在页面中存在无闪刷新控件的时候提示框 ...
- VS2013 打开项目时提示This project is incompatible with the current edition Visual Studio.
刚安装完成了Visual Studio 2013后,打开项目时,遇到以下问题 解决方法:在Visual Studio 2013 的菜单中打开“Tools",并打开“Extensions an ...
- 运行php程序时,浏览器跳出打开和保存提示框
解决办法:将php.ini文件复制到 C:\Windows
- Java从入门到精通——调错篇之ORACLE 打开PLSQL时提示ora-01033
客户Oracle服务器进入PL/SQL Developer时报ora-01033:oracle initializationg or shutdown in progress 错误提示,应用系统无法连 ...
- 打开Excel时提示"您尝试打开的文件**.xls的格式与文件扩展名指定的格式不一致"
问题描述: 系统安装了WPS时,Analyzer导出excel时候,会提示"您尝试打开的文件**.xls的格式与文件扩展名指定的格式不一致",这是Excel的安全问题, ...
- 打开office时提示错误窗口“向程序发送命令时出现问题”的解决方案
今天同事问了我一件很怪异的事情,说她的office打不开了,如打开word或excel时,突然出现错误提示错误窗口"向程序发送命令时出现问题",分析原因才知道她安装了 AVG pc ...
- 【原创】打开Excel时提示"您尝试打开的文件**.xls的格式与文件扩展名指定的格式不一致"
问题描述: 系统安装了WPS时,Analyzer导出excel时候,会提示"您尝试打开的文件**.xls的格式与文件扩展名指定的格式不一致",这是Excel的安全问题, ...
随机推荐
- linux(centOs)下memcached安装
1.libevent安装.为啥先安装它?因为不先装,memcached这座房子就没打地基: yum install libevent-devel 敲回车后出现: Loaded plugins: fas ...
- Redis队列——PHP操作简单示例
入队操作 <?php $redis = new Redis(); $redis->connect('127.0.0.1',6379); while(True){ try{ $value = ...
- log4net 极简配置
log4net的配置详解 分类: C#2013-10-01 22:45 5335人阅读 评论(4) 收藏 举报 log4net日志框架 前言:没买到1号回家的票,所以在祖国64岁生日之 ...
- 学习blus老师js(3)--定时器的使用
1.无缝滚动——基础 物体运动基础 让Div移动起来 offsetLeft的作用 用定时器让物体连续移动 offsetLeft: 获取物体的左边距:最大的优点在于可以综合考虑所有影响这个物体位置的 ...
- Oracle VM Virtualbox基础知识
修改硬盘的UUID VBoxManage internalcommands sethduuid <filename>
- Android ListView根据项数的大小自动改变高度
第一种:按照listview的项数确定高度 ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) ...
- Linux操作系统-基本命令(一)
熟悉Linux命令基础 Linux系统的终端窗口 字符终端为用户提供了一个标准的命令行接口,在字符终端窗口中,会显示一个Shell提示符,通常为$. 用户可以在提示符后输入带有选项和参数的字符命令,并 ...
- PHP-fpm启动时 出现 PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) 'fileinfo.so' in Unknown on line 0
出现该问题的原因之一是: 在编译PHP时启用了fileinfo扩展(内置),但同时在php.ini文件中添加了: extension=fileinfo.so 去掉或注释之后,重启php-fpm,警告消 ...
- Pyhton项目实践:将带有美国风格日期的文件改名为欧洲风格日期
题目 项目要求:上千个文本文件,文件名包含美国风格的日期( MM-DD-YYYY),需要将它们改名为欧洲风格的日期( DD-MM-YYYY) 先写个创建一百个美国风格日期的文件 #! python # ...
- Git进阶--你可能不知道的很好用Git功能
一.刚提交的代码,发现需要微调一下 刚刚最新提交了一段代码,然后跟前端说,接口好了.过了2分钟,前端跟你说,哎,兄弟,那个金额能不能返回整数,不要小数点. 这个时候一般我们通常会修改一下之后,再提交一 ...