python+Appium自动化:id元素定位
元素定位
与web自动化一样,app自动化元素定位也是非常重要的一环,,appium也是提供了很多元素定位的方法,比如:id、name、class、层级定位等等。
元素定位方式
- id
 - name
 - class
 - List定位
 - 相对定位
 - Xpath定位
 - H5页面元素定位
 - Uiautomator定位
 
首先可以进入SDK中的tools文件夹中打开uiautimatorviewer.bat,用于元素定位

测试场景,启动淘宝app,同意温馨提示,进入首页
id定位
Appium中可以使用find_element_by_id()的方法进行id定位

代码如下:
from appium import webdriver
import time
desired_caps = {
"platformName": "Android",
"platformVersion": "5.1",
"deviceName": "U4KF9HSK99999999",
"appPackage": "com.taobao.taobao",
"appActivity": "com.taobao.tao.welcome.Welcome",
"noReset": False }
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
driver.implicitly_wait(10)
driver.find_element_by_id('com.taobao.taobao:id/provision_positive_button').click()
time.sleep(3)
appium这里的定位还多了好几种方式,后续继续学习

python+Appium自动化:id元素定位的更多相关文章
- python+appium 自动化2--元素定位uiautomatorviewer
		
出处:https://www.cnblogs.com/yoyoketang/p/6128741.html 前言: 可以打开手机上的app了,下一步元素定位uiautomatorviewer,通过定位到 ...
 - python3+Appium自动化13-H5元素定位实践案例
		
测试场景 启动钉钉app进入工作H5页面,点击考勤签到 查看webview上元素 1.电脑上打开chrome浏览器输入:chrome://inspect/#devices 2.Discover USB ...
 - python3+Appium自动化12-H5元素定位环境搭建
		
前言 在混合开发的App中,经常会有内嵌的H5页面.那么这些H5页面元素该如何进行定位操作呢? 针对这种场景直接使用前面所讲的方法来进行定位是行不通的,因为前面的都是基于Andriod原生控件进行元素 ...
 - python ui自动化之元素定位和常用操作
		
做ui自动化的最基础的就是页面元素定位了,如果连页面元素都定位不到,自动化从何谈起呢?接下来我们就看看页面元素定位的方法吧!(这里就用百度页面来进行演示) 一.最通用的几种定位方式: 1.通过id定位 ...
 - (appium+python)UI自动化_03_元素定位工具
		
前言 在UI自动化过程中,需要对手机app上的元素进行定位,然后进一步编写自动化脚本操作app.定位元素首先需要定位工具来辅助查看页面元素.小编常用的定位工具有2种,分别是uiautomatorvie ...
 - appium自动化测试之元素定位
		
方法一 使用SDK中附带的uiautomatorviewer来定位 在SDK安装目录下的tools下有个uiautomatorviewer.bat批处理文件点击运行 运行后(注意appium desk ...
 - python+Appium自动化:toast定位
		
Toast简介 Toast是一种简易的消息提示框. 当视图显示给用户,在应用程序中显示为浮动.和Dialog不一样的是,它永远不会获得焦点,无法被点击. 用户将可能是在中间键入别的东西.Toast类的 ...
 - python+Appium自动化:元素等待时间
		
元素等待时间 为什么要设置等待时间呢?主要是因为界面加载时,为了防止元素还未出现影响后续的操作. 主要有三种方式:强制(线性)等待.隐式等待.显式等待 适用于appium和selenium 强制(线性 ...
 - [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)
		
转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...
 
随机推荐
- Swagger2异常:Illegal DefaultValue null for parameter type integer java
			
一.异常分析: Illegal DefaultValue null for parameter type integer`和`NumberFormatException: For input stri ...
 - django中的Form和ModelForm中的问题
			
django的Form组件中,如果字段中包含choices参数,请使用两种方式实现数据源实时更新 方法一:重写构造方法,在构造方法中重新去获取值 class UserForm(forms.Form): ...
 - javascript图片库威力增强版
			
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Con ...
 - [转帖] ./demoCA/newcerts: No such file or directory  openssl 生成证书时问题的解决.
			
接上面一篇blog 发现openssl 生成server.crt 时有问题. 找了一个网站处理了一下: http://blog.sina.com.cn/s/blog_49f8dc400100tznt. ...
 - Android UI组件:布局管理器
			
为了更好的管理Android应用的用户界面中的组件,Android提供了布局管理器.通过使用布局管理器,Android应用的图形用户界面具有良好的平台无关性.通常,推荐使用布局管理器来管理组件的分布. ...
 - LeetCode 141 ——环形链表(JAVA)
			
给定一个链表,判断链表中是否有环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 -1,则在该链表中没有环. 示例 1: 输入: ...
 - 学习实践:使用模式,原则实现一个C++数据库访问类
			
一.概述 在我参与的多个项目中,大家使用libMySQL操作MySQL数据库,而且是源码即复用,在多个项目中有多套相同或相似的源码,这样的复用方式给开发带来了不变,而且libMySQL的使用比较麻烦, ...
 - 《深入实践C++模板编程》之五——容器与迭代器
			
1.容器的定义 容器:专门用于某种形式组织及存储数据的类称为“容器”. 2.容器与迭代器 迭代器:封装了对容器虚拟数据序列的操作并按约定提供统一界面以遍历容器内容的代理类即为迭代器. 举例理解 ...
 - C3.js入门案例
			
C3.js是基于D3.js开发的JavaScript库,它可以让开发者构建出可复用的图表,并且还提供了一系列图表上的交互行为.通过C3,只需要往generate函数中传入数据对象就可以轻松的绘制出图表 ...
 - JS基础_打印出1-100之间所有的质数
			
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...