Appium常用API

appium文档
一、 app操作
1. install_app() 安装app

driver.install_app("app包路径")

2. remove_app() 卸载app
driver.remove_app("app包名")

3. close_app() 关闭app
driver.close_app()

4. launch_app() 在设备上启动测试中的应用程序,官方描述:如果被测试应用程序(AUT)已关闭或后台运行,它将启动它。如果AUT已经打开,它将对其进行后台处理并重新启动它。
driver.launch_app()

5. background_app() 将app置于后台,需要指定将应用置于后台的时间,默认时间单位秒
driver.background_app(30)

6. is_app_installed() 检查应用是否已经安装,需要指定应用包名
driver.is_app_installed("app包名")

7. reset() 重置app,类似清除app缓存
driver.reset()

二、 上下文操作
1. contexts 获取所有上下文
dirver.contexts

2. current_context 获取当前的上下文
driver.current_context

3. switch_to_context() 切换上下文
driver.switch_to_context('NATIVE_APP') # 原生app

三、 按键操作
1. send_keys() 输入内容
driver.find_element_by_id('id').send_keys("test")

2. keyevent() 模拟按键, 发送一个按键码,一次只能输入一个字符。按键码对应值
# 输入字符串138 driver.keyevent(8) # 1 driver.keyevent(10) # 3 driver.keyevent(15) # 8

四、 触摸操作
TouchAction 类提供了一组实现触摸动作的方法,使用时需要倒入
from appium.webdriver.connon.touch_action import TouchAction#

1. tap() 点击 对一个元素或控件执行点击操作
tap(self, element=None, x=None, y=None, count=1) # 点击一个元素或坐标点(x,y) # count用于控制点击次数,默认1次

2. press() 按压 按压一个元素或坐标点
press(self, element=None, x=None, y=None)

3. long_press() 长按 长按一个元素或坐标点
long_press(self, element=None, x=None, y=None, duration=1000) # duration=1000 按压时间1秒

4. move_to() 移动 从上一个坐标点移动到新的元素或坐标点
move_to(self, element=None, x=None, y=None)

5. wait() 暂停 暂停脚本的执行,单位为毫秒
wait(1000)# 暂停1秒

6. release() 释放 结束的行动取消屏幕上的指针
release()

7. perform() 执行 执行的操作发送到服务器的命令操作
perform()

实例
# 设置九宫格 TouchAction(driver).press(x=385, y=1122).wait(2000) \ .move_to(x=385, y=1468).wait(1000) \ .move_to(x=385, y=1820).wait(1000) \ .move_to(x=720, y=1820).wait(1000) \ .move_to(x=1049, y=1820).wait(1000) \ .release().perform()

六、 高级api
1. Screenshot 截图 以文件形式获取当前窗口屏幕截图
driver.save_screenshot("test.png")

以二进制数据形式获取当前窗口屏幕截图
driver.get_screenshot_as_png()

以base64编码的形式获取当前窗口屏幕截图
driver.get_screenshot_as_base64()

截图某个元素
driver.find_element(By.XPATH, "//*[@text='交易']").screenshot("test.png")

2. source 获取当前页面源代码
driver.page_source

3. rotate 设置屏幕方向 设置横屏
driver.orientation = "LANDSCAPE"

设置竖屏
driver.orientation = "PORTRAIT"

获取当前设备/浏览器方向
driver.orientation()

4. Geolocation 地理位置 获取当前的地理位置
driver.location()

设置当前的地理位置 (只支持模拟器)
driver.set_location(49, 123, 10) 参数: 纬度number所需的地理位置纬度 经度number所需的地理位置经度 高度number所需的地理位置高度(可选)

5. Logs 日志 获取可用日志类型的列表
driver.log_types()

获取给定日志类型的日志
# 获取driver日志 driver.get_log('driver')

6. Settings 设置 更新设备上的当前设置 Settings API
driver.update_settings({"sample": "value"}))

检索设备上的当前设置
driver.get_settings

7. Performance Data 性能数据 获取可用性能类型的列表,如cpu,内存,网络流量和电池
dirver.get_performance_data_types()

获取给定类型的系统状态信息,如cpu,内存,网络流量和电池
p = driver.get_performance_data("my.app.package", "cpuinfo", 5) 参数: 包名字 string应用程序的包名称 数据类型string想要读取的系统状态的类型。它应该是受支持的性能数据类型之一。 data_read_timeoutnumber尝试读取次数(可选)

8. Recording Screen录屏 开始录制屏幕 (只支持安卓8.0以上)
driver.start_recording_screen()

【Appium常用API】停止录制屏幕
driver.stop_recording_screen()

    推荐阅读