文章目录
定位元素的方法
id
# id_value:为元素的id属性值
driver.find_element_by_id(id_value)
class
# class_value:为元素的class属性值
方法:find_element_by_class_name(class_value)
xpath
find_element_by_xpath(xpath_value) # xpath_value:为可以定位到元素的xpath语句
*** android端xptah常用属性定位:
1. id ://*[contains(@resource-id,'com.android.settings:id/search')]
2. class ://*[contains(@class,'android.widget.ImageButton')]
3. text ://*[contains(@text,'WLA')]
*** 模糊定位 contains(@key,value): value可以是部分值
显示等待操作
from selenium.webdriver.support.wait import WebDriverWait
WebDriverWait(driver, timeout, poll_frequency).until(method)
参数:
1.driver:手机驱动对象
2.timeout:搜索超时时间
3.poll_frequency:每次搜索间隔时间,默认时间为0.5s
4.method:定位方法(匿名函数)
获取元素的方式
text 获取元素的内容
get_attribute() 获取元素属性值
location 获取元素在屏幕上的坐标
获取包名方法:current_package,获取启动名:current_activity
事件
swipe 滑动事件
1.start_x:起点X轴坐标
2.start_y:起点Y轴坐标
3.end_x: 终点X轴坐标
4.end_y,: 终点Y轴坐标
5.duration: 滑动这个操作一共持续的时间长度,单位:ms
scroll滑动事件
从一个元素滑动到另一个元素,直到页面自动停止
方法:scroll(origin_el, destination_el)
参数:
1.origin_el:滑动开始的元素
2.destination_el:滑动结束的元素
drag拖拽事件
从一个元素滑动到另一个元素,第二个元素替代第一个元素原本屏幕上的位置
方法:drag_and_drop(origin_el, destination_el)
参数:
1.origin_el:滑动开始的元素
2.destination_el:滑动结束的元素
background_app() 应用置于后台事件
APP放置后台,模拟热启动
方法:background_app(seconds)
seconds:停留在后台的时间,单位:秒
TouchAction手势操作()
TouchAction是AppiumDriver的辅助类,主要针对手势操作,比如滑动、长按、拖动等,
from appium.webdriver.common.touch_action import TouchAction
tap 模拟手指轻敲一下屏幕操作
模拟手指轻敲一下屏幕操作
方法:tap(element=None, x=None, y=None)
方法:perform() # 发送命令到服务器执行操作
参数:
1.element:被定位到的元素
2.x:相对于元素左上角的坐标,通常会使用元素的X轴坐标
3.y:通常会使用元素的Y轴坐标
press 手指按操作
方法:press(el=None, x=None, y=None)
方法:release() # 结束动作,手指离开屏幕
参数:
1.element:被定位到的元素
2.x:通常会使用元素的X轴坐标
3.y:通常会使用元素的Y轴坐标
wait等待操作
方法:wait(ms=0)
参数:
ms:暂停的毫秒数
long_press() 手指长按操作 方法:
long_press(el=None, x=None, y=None, duration=1000)
参数:
1.element:被定位到的元素
2.x:通常会使用元素的X轴坐标
3.y:通常会使用元素的Y轴坐标
4.duration:持续时间,默认为1000ms
move_to()手指移动操作
方法:move_to(el=None, x=None, y=None)
参数:
1.el:定位的元素
2.x:相对于前一个元素的X轴偏移量
3.y:相对于前一个元素的Y轴偏移量