3.appium定位方法
1.使用id定位:
driver.find_element_by_id('id的名称').click()
2.使用className定位:
driver.find_element_by_class_name('元素的classname')
注:如有多个相同的className,可使用下标进行操作
elements=element.find_elements_by_class_name('元素的classname')
elements[2].click()
也可进行层级定位:
element=driver.find_element_by_class_name('元素上一级classname')
elements=element.find_elements_by_class_name('元素的classname')
elements[2].click()
3.使用UIAutomator进行定位:
driver.find_element_by_android_uiautomator('new UISelector().text("用户名")').send_keys('需要输入的信息')
4.使用xpath进行定位:
driver.find_element_by_xpath('//*[contains(@text,"忘记密码")]').click()
注:xpath教程:http://www.w3school.com.cn/xpath/xpath_intro.asp
5.原生app和H5进行相互切换:
dirver.contexts 查看所有可切换的页面信息
driver.switch_to.context('') 括号里填写的是你想要切换的那个页面,切换H5就写H5的,切换APP就写NATIVE_APP
6.获取tost元素:
需要python以下模块:
WebDriverWait
expected_conditions
tost_element=("xpath",'//*[contains(@text,"忘记密码")]')
WebDriverWait(driver,10,0.1).until(expected_conditions.presence_of_element_located(tost_element))
3.appium定位方法的更多相关文章
- appium定位方法
1.id定位 driver.find_element_by_id("这里是resource-id") 2.name定位 (新版本的appium 1.7 已经没有这个定位方法了) d ...
- Appium 定位方法例子(4)
有朋友留言反应定位不到元素,没错,船长也为这个一直在头疼,我用的App是原生安卓+webService+h5类型的,定位虽然没问题,但是在进行操作的时候各种不通过……真的很头疼啊……我这里说的“操作” ...
- appium---uiautomator定位方法
前面总结了7种定位方法,今天在介绍一种uiautomator方法,其实appium就是基于uiautomator框架实现的,让我们一起看下uiautomator有哪些定位方法可以使用 uiautoma ...
- Appium学习笔记4_元素定位方法
Appium之元素定位,如果对Android上如何使用工具获取页面元素有问题的,请转战到这:http://www.cnblogs.com/taoSir/p/4816382.html. 下面主要是针对自 ...
- Python Appium 元素定位方法简单介绍
Python Appium 元素定位 常用的八种定位方法(与selenium通用) # id定位 driver.find_element_by_id() # name定位 driver.find_ ...
- Robotframework + Appium 之常用元素定位方法
任何自动化测试,其实手动测试也是一样的,元素定位(目标定位)是首要任务,这是最直接的测试对象呀! 好了,废话不多说,又到了元素定位啦,之前我们已经介绍过selenium及appium常用的定位方法,下 ...
- appium 元素定位方法汇总
以上图为例,要定位到右下角的 我的 ,并点击 # appium的webdriver提供了11种元素定位方法,在selenium的基础上扩展了三个,可以在pycharm里面输入driver.find_e ...
- 基于appium的常用元素定位方法
一.元素定位工具 app应用的元素使用的是控件定位,不同于web网页,web网页定位元素通常使用的是F12工具,那么在app当中我们则要借助其它的工具来辅助定位. 1.uiautomatorviewe ...
- python+Appium自动化:各种元素定位方法
name定位 driver.find_element_by_name('飞利浦净水').click() 测试结果报错:selenium.common.exceptions.InvalidSelecto ...
随机推荐
- Sequence POJ - 3581 后缀数组
题意: 将一个序列分成非空的三部分,将每部分翻转后组合成一个新的序列, 输出这样操作得到的序列中字典序最小的序列 (保证第一个数是数组中最大的元素) 题解: 把数组当作串串. 因为第一个数最大,所以我 ...
- shell脚本练习05
######################################################################### # File Name: -.sh # Author ...
- C++头文件记得加#pragma once
C++头文件记得加#pragma once不然可能会导致重定义类
- 2019-7-2-asp-dotnet-core-通过图片统计-csdn-用户访问
title author date CreateTime categories asp dotnet core 通过图片统计 csdn 用户访问 lindexi 2019-7-2 19:21:2 +0 ...
- UVALive-3722 留个坑,为什么费马小定理求逆元不对??
#include <iostream> #include <cstdlib> #include <queue> #include <algorithm> ...
- 菜鸟nginx源码剖析数据结构篇(二) 双向链表ngx_queue_t[转]
nginx源码剖析数据结构篇(二) 双向链表ngx_queue_t Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csdn. ...
- 接口Interface解耦的理解
定义一个接口 磁盘 interface Disk(){ void save(File file); } U盘和硬盘都是磁盘,都实现这个接口 class UDisk implement Disk ...
- fastjson过滤字段
1.注解(字段上添加) @JSONField(serialize=false) 2.过滤器 PropertyFilter propertyFilter = new PropertyFilter() { ...
- hibernate离线条件查询设置or关系
detachedCriteria.add(Restrictions.or(Restrictions.isNull(""), Restrictions.isNull("&q ...
- 《DSP using MATLAB》Problem 8.14
代码: %% ------------------------------------------------------------------------ %% Output Info about ...