zoukankan      html  css  js  c++  java
  • appium 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()
    ---------------------
    作者:hqzxsc2006
    来源:CSDN
    原文:https://blog.csdn.net/hqzxsc2006/article/details/50112109
    版权声明:本文为博主原创文章,转载请附上博文链接!
  • 相关阅读:
    pathon学习总结(二)pathon的基础语法
    python学习总结(一),第一个python程序的编写
    数组中查找最大值和最小值 (两种方法)
    websocket----聊天室,推送等服务
    django-celery 应用方法
    vue-resource
    Vue-router
    vue 属性绑定
    Vue的生命周期以及钩子函数
    安装 vue 及 组件
  • 原文地址:https://www.cnblogs.com/zzllovehappy/p/10671207.html
Copyright © 2011-2022 走看看