UI自动化-appium-API使用

appium python API

常见基础API

#输入
keyevent,press_keycode
driver.find_element().send_keys()
#输入法
#清除
clear
#切换上下文-context
driver.contexts

driver.current_context
#查找元素
driver.find_element()
#滑动
#获取屏幕大小
size = driver.get_window_size()
print(size)
print(size['width'])
print(size['height'])
driver.swipe(x1, y1, x1, y2,t)
scroll ,drag,flick,pinch,zoom
#元素位置,大小
driver.element.size #{'width': 84, 'height': 84}
.location #{'y': 38, 'x': 192}
#点击
click
driver.tap([(100, 20), (100, 60), (100, 100)], 500)
#常用配置
hide_keyboard
reset
#app 相关操作
background_app,install_app,launch_app,lock,open_notification

#获取元素属性
element.text()
get_attribute()
is_select
is_enable
#提交表单
submit

#截图
screentshot_as_base64()
#运行脚本
driver.execute_script()

#toast
'''
1.appium 版本>1.6.3
2.desired_capabilities添加:
  'automationName': 'Uiautomator2'
'''
# 定位toast元素
toast_loc = ("xpath", ".//*[contains(@text,'再按一次退出')]")
t = WebDriverWait(driver, 10, 0.1).until(EC.presence_of_element_located(toast_loc))
print t

#TouchAcion
  TouchAction(self.driver). \
            long_press(element, x, y, duration). \
            release(). \
            perform()

二次封装

1.实际项目中直接使用基础API会造成大量代码冗余,所以会将操作进行封装。
2.封装在UI自动化中使用PO模式,或者更升级的使用-组件+Page+Object模式
3.具体的封装可参考各项目的base_function.py或BasePage.py文件

讨论数量: 0

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!