美文网首页
Appium常用API

Appium常用API

作者: test小星星 | 来源:发表于2019-09-17 15:24 被阅读0次

    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_timeout   number  尝试读取次数(可选)
    

    8. Recording Screen录屏

    开始录制屏幕 (只支持安卓8.0以上)

    driver.start_recording_screen()
    

    停止录制屏幕

    driver.stop_recording_screen()
    

    相关文章

      网友评论

          本文标题:Appium常用API

          本文链接:https://www.haomeiwen.com/subject/iygzectx.html