Appium脚本(2):元素检测
场景:
有的按钮在第一次打开时显示,之后就不显示了,如更新提示、特性介绍等,面对这样的场景写了如下脚本,增加脚本的复用性。
no_element_exception_2.py
from appium import webdriver
from selenium.common.exceptions import NoSuchElementException desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['deviceName'] = '127.0.0.1:62001'
desired_caps['platforVersion'] = '5.1.1' # 真机配置
# desired_caps['deviceName']='MX4'
# desired_caps['platforVersion']='5.1'
# desired_caps['udid']='750BBKL22GDN' # desired_caps['app'] = r'C:\python_dir\apps\kaoyan3.1.0.apk'
desired_caps['appPackage'] = 'com.tal.kaoyan'
desired_caps['appActivity'] = 'com.tal.kaoyan.ui.activity.SplashActivity' # 重置开关,默认false,默认每次如第一次安装好的状态
desired_caps['noReset'] = 'True' driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
driver.implicitly_wait(5) def check_cancelBtn():
print("check cancel button")
try:
cancelBtn = driver.find_element_by_id('android:id/button2')
except NoSuchElementException:
print("no cancel button")
else:
cancelBtn.click()
driver.implicitly_wait(2) def check_skipBtn():
print("check skip button")
try:
skipBtn = driver.find_element_by_id('com.tal.kaoyan:id/tv_skip')
except NoSuchElementException:
print("no skip button")
else:
skipBtn.click()
driver.implicitly_wait(2) check_cancelBtn()
check_skipBtn()
driver.find_element_by_id('com.tal.kaoyan:id/login_register_text').click()
driver.implicitly_wait(5)
Appium脚本(2):元素检测的更多相关文章
- python3+Appium自动化03-Appium元素检测
需要导入方法NoSuchElementException from appium import webdriver from selenium.common.exceptions import NoS ...
- Appium脚本(5) 元素等待方法示例
思考 在自动化过程中,元素出现受网络环境,设备性能等多种因素影响.因此元素加载的时间可能不一致,从而会导致元素无法定位超时报错,但是实际上元素是正常加载了的,只是出现时间晚一点而已.那么如何解决这个问 ...
- 一个简单的appium脚本
这是一个简单的appium脚本,测试amazon购物过程的,过程包括搜索商品,然后从结果列表中选取中意的商品,然后加入购物车,等等. 它是一个最原始的脚本,对测试元素.数据.报告等未作任何的封装,后面 ...
- genymotion+Oracle VM VirtualBox + eclipse + appium 脚本运行慢解决步骤
genymotion+Oracle VM VirtualBox + eclipse + appium 脚本运行慢解决步骤 1.lenove 机器启动时按F1 进入bios 设置,设置cpu virtu ...
- Appium学习实践(二)Python简单脚本以及元素的属性设置
1.简单的Python脚本 Appium中的设置与Appium学习实践(一)简易运行Appium中的一致 Launch后,执行脚本 #coding:utf-8 import unittest impo ...
- Appium Inspector定位元素与录制简单脚本
本次以微信为例, 使用Appium自带的Inspector定位工具定位元素, 以及进行最最最简单脚本的录制: capabilities = { "platformName": &q ...
- python+Appium自动化:Appium元素检测
appium模拟用户的真实操作,如果用户第一次进入app或许会弹出一些更新提示,或者是引导页面,但是下一次开启app时则没有引导页这些界面,这时,脚本中又肯定不考虑用两套代码来进行维护,此时如何应对这 ...
- python+appium-desktop:安卓(android)7.0以上使用appium无法定位元素(无法refresh)且 无法运行脚本
--解决方法: 启动appium时配置中添加: "automationName":"uiautomator2" --扩展: 想支持安卓7.0及以上版本需要满足一 ...
- Appium脚本(4) 使用uiautomator方法定位元素
from app.find_element.capability import driver from time import sleep # 使用uiautomator方法定位元素 accunt_i ...
随机推荐
- ES6中Number中的扩展
1.Number.parseInt() , Number.parseFloat() 在ES6中将parseInt()和parseFloat()都移植到Number对象上去,方法的行为保持不变. // ...
- 如何查看已购买的office密钥
登陆这个网址https://account.microsoft.com/services/ 声明 :转载请注明来源sogeisetsu.cnblogs.com
- 动态域名作为dga的做法
https://wenku.baidu.com/view/54b1df373968011ca3009183.html dga算法 import time from ctypes import c_in ...
- myBatis框架之入门(四)
Mybatis多表管理查询 多表关联关系分析: 多表关联:至少两个表关联.分析多表关系的经验技巧:从一条记录出发,不要从表整体去分析,比如分析A表和B表关系,A表中的一条记录对应B表中的几条记录,如果 ...
- JPA EnableJpaAuditing 审计功能
关于自动填充或更新实体中的 CreateDate.CreatedBy 等在之前有一篇 jeecg 默认为空的字段值是如何被填充的? 有提到通过拦截器的方式实现,但是今天带大家了解一下如果使用 JPA ...
- VS2010中使用boost正则表达式库
1.下载boost库.http://www.boost.org/ 我下载的是boost_1_51_0版本.放在D:\opensource\boost_1_51_0. 2.编译boost库. 执 ...
- mysql 组合聚集函数
mysql> select * from table1; +----------+------------+-----+---------------------+ | name_new | t ...
- 测试linux下磁盘的读写速率
1) 通过df -h命令查看磁盘情况 Filesystem Size Used Avail Use% Mounted on/dev/sda4 289G ...
- 【CS224n】Lecture8 Notes
注:这是2017年课程的lecture8.一直都在用RNN,但是对它内部的构造不甚了解,所以这次花了一个下午加一个晚上看了CS224n中关于RNN的推导,不敢说融会贯通,算是比以前清楚多了.做个笔记, ...
- 使用CAS实现单点登录功能
目录 单点登录 简介 CAS服务器部署 上传tomcat服务器压缩到文件夹/usr/local/cas目录下,解压,修改tomcat文件夹名为tomcat 修改tomcat配置文件的端口号 关闭tom ...