zoukankan      html  css  js  c++  java
  • appium python版api

    打印上下文

    driver.contexts

    打印当前上下文

    driver.context

    driver.current_context

    切换上下文

    driver.switch_to.context('WEBVIEW')

    打印页面元素

    driver.page_source

    获取元素text属性

    element.get_attribute('text')     android使用(获取元素的text值)

    element.text     ios使用(获取元素的value值)

    定位

    driver.find_element_by_ios_uiautomation(uia_string)

    driver.find_elements_by_ios_uiautomation(uia_string)

    driver.find_element_by_android_uiautomator(uia_string)

    driver.find_elements_by_android_uiautomator(uia_string)

    例:driver.find_element_by_android_uiautomator('new UiSelector().text("竞彩篮球")')

    driver.find_element_by_accessibility_id(id)

    driver.find_elements_by_accessibility_id(id)

    driver.find_element_by_id(id)

    driver.find_elements_by_id(id)

    driver.find_element_by_xpath(xpath)

    driver.find_elements_by_xpath(xpath)

    driver.find_element_by_name(name)

    driver.find_elements_by_name(name)

    driver.find_element_by_class_name(class)

    driver.find_elements_by_class_name(class)


    driver.find_element(by,value)

    by:"id"、"xpath"、"class name"、 "name"、'-ios uiautomation'、'-android uiautomator'、'accessibility id'

    坐标点击

    driver.tap([(x,y)],time)

    滑动

    driver.swipe(x1,y1,x2,y2,time)

    driver.flick(x1,y1,x2,y2)

    输入

    driver.send_keys()

    driver.set_text() Android可用

    driver.set_value() ios可用

    如果使用sendkeys不行,可以尝试下面两种方法,我在测试ios输入密码框是自定义的键盘时,用sendkeys输入不了,appium服务端log提示没找到keyboard,后面尝试setvalue可以输入。

    截图

    driver.get_screenshot_as_file(filename)

    获取手机屏幕分辨率

    driver.get_window_size()

    x = driver.get_window_size()['width']
    y = driver.get_window_size()['height']

    设置屏幕分辨率

    driver.set_window_size(width,height)

    获取当前坐标位置

    driver.get_window_position()

    滚动

    driver.scroll(ele1,ele2)

    按住element并拖动到另外一个element上

    driver.drag_and_drop(ele1,ele2)

    缩小

    driver.pinch(ele)

    放大

    driver.zoom(ele)

    重启app

    driver.reset()

    隐藏键盘

    driver.hide_keyboard()

    发送键盘事件

    driver.keyevent(keycode)

    按住键盘

    driver.press_keycode(keycode)

    长按住键盘

    driver.long_press_keycode(keycode)

    上传文件

    driver.push_file(path)

    下载文件

    driver.pull_file(path)

    下载文件夹

    driver.pull_folder(path)

    app隐藏后台

    driver.background_app(time)

    安装app

    driver.install_app(path)

    卸载app

    driver.remove_app(app_id)

    启动app

    driver.launch_app()

    关闭app

    driver.close_app()

    启动activity

    driver.start_activity(app_package, app_activity)

    打印当前activity

    driver.current_activity

    锁屏

    driver.lock(time)

    振动

    driver.shake()

    打开通知栏(api 18以上)

    driver.open_notifications()

    获取网络

    driver.network_connection

    设置网络连接( Android only.)

    driver.set_network_connection(type)

    Value (Alias) | Data | Wifi | Airplane Mode
    -------------------------------------------------
    0 (None) | 0 | 0 | 0
    1 (Airplane Mode) | 0 | 0 | 1
    2 (Wifi only) | 0 | 1 | 0
    4 (Data only) | 1 | 0 | 0
    6 (All network on) | 1 | 1 | 0

    type参数:

    NO_CONNECTION = 0
    AIRPLANE_MODE = 1
    WIFI_ONLY = 2
    DATA_ONLY = 4
    ALL_NETWORK_ON = 6

    from appium.webdriver.connectiontype import ConnectionType
    driver.set_network_connection(ConnectionType.AIRPLANE_MODE)

    获取手机输入法(返回list)

    driver.available_ime_engines

    激活某种输入法

    driver.activate_ime_engine(engine)

    判断输入法是否激活(返回bool)

    driver.is_ime_active()

    撤销当前输入法(Android only)

    driver.deactivate_ime_engine()

    得到当前设置

    driver.get_settings()

    返回{u'ignoreUnimportantViews': False}

    更新当前设置

    driver.update_settings(settings)

    settings参数为dict,如{ignoreUnimportantViews : True}

    ignoreUnimportantViews 参数:调用 uiautomator 的函数setCompressedLayoutHierarchy()。由于 Accessibility 命令在忽略部分元素的情况下执行速度会加快,这个关键字能加快测试执行的速度。被忽略的元素将不能够被找到,因此这个关键字同时也被实现成可以随时改变的 *设置 ( settings ) * 。默认值 false

    开关定位服务

    driver.toggle_location_services()


  • 相关阅读:
    PHP 大小写转换、首字母大写、每个单词首字母大写转换相关函数
    【论文学习4】BiSample: Bidirectional Sampling for Handling Missing Data with Local Differential Privacy
    【论文学习3】Local Differential Privacy for Deep Learning
    【论文学习2】 Differential Privacy Reinforcement Learning
    深度学习中的优化算法
    Spatial crowdsourcing
    “pip install tensorflow ”出现错误
    python或pip'不是内部或外部命令”
    pip install torch出现错误
    打不开gitHub的解决方法
  • 原文地址:https://www.cnblogs.com/hanzhao1987/p/5949580.html
Copyright © 2011-2022 走看看