打印上下文

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()

appium python版api的更多相关文章

  1. Appium 自动化测试(8) -- Appium Python client -- API

    最好的学习方法,就是看源码! 在  \appium\webdriver\webdriver.py ,新增了两个封装好定位安卓元素的方法,如  find_element_by_accessibility ...

  2. Appium Python Driver Api

  3. Appium Python核心API

    adb命令模拟按键事件 :http://blog.sina.com.cn/s/blog_68f262210102vc1b.html

  4. 移动端自动化测试Appium 从入门到项目实战Python版☝☝☝

    移动端自动化测试Appium 从入门到项目实战Python版 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌)  说到APP自动化测试,Appium可是说是非常流 ...

  5. Appium python API 总结

    Appium python api 根据testerhome的文章,再补充一些文章里面没有提及的API [TOC] [1]find element driver 的方法 注意:这几个方法只能通过sel ...

  6. Appium+python自动化8-Appium Python API

    Appium+python自动化8-AppiumPython API   前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts conte ...

  7. appium+python自动化☞appium python api大全

    整理了一些常用的appium python api,供学习使用...

  8. Appium===Appium+Python API(转)

    Appium+python自动化8-Appium Python API 前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts contex ...

  9. Appium+python自动化8-Appium Python API【转载】

    前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts contexts(self): Returns the contexts withi ...

随机推荐

  1. linux上不能显示Jfreechart的图片文件

     出现错误: Jan 23, 2015 4:19:21 PM org.apache.catalina.core.StandardWrapperValve invokeSEVERE: Servlet.s ...

  2. 【bzoj1299】[LLH邀请赛]巧克力棒(博弈论思维题)

    题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=1299 首先我们把每根巧克力棒看成一堆石子,把巧克力棒的长度看作石子的个数,那么原问题就 ...

  3. App测试经验分享之登录注册

    要诀 另外自己总结了一些要诀,仅供参考: 1)快:快速操作,营造冲突的场景,例如加载过程中返回键交互,快速点击登录按钮,快速切换菜单项,快速多次上下拉刷新 2)变:手机横竖屏.手机切换语言.手机调整字 ...

  4. pandas读取Excel

    time31 = pd.read_excel('F:/save_file/3问出车表.xlsx', sheetname='Sheet1') # 读取‘3问出车表.xlsx’中的Sheet1表单, ti ...

  5. 0.00-050613_Makefile

    # Makefile for the simple example kernel. AS86 =as86 -0 -a LD86 =ld86 -0 AS =gas LD =gld LDFLAGS =-s ...

  6. ROS创建工作空间

    1.$mkdir catkin_ws && cd catkin_ws && mkdir src 2.$catkin_make   (#这一句是完成编译初始化,注意括号内 ...

  7. 解决:git warning: LF will be replaced by CRLF in xxxx

    一. git add -A报错 在利用git add -A添加文件时,意外的发现报错了 报错信息中: LF:Line Feed 换行 CRLF:Carriage Return Line Feed  回 ...

  8. 数据结构录 之 单调队列&单调栈。(转)

    http://www.cnblogs.com/whywhy/p/5066306.html 队列和栈是很常见的应用,大部分算法中都能见到他们的影子. 而单纯的队列和栈经常不能满足需求,所以需要一些很神奇 ...

  9. angularjs 简单指令

    <!DOCTYPE html> <html data-ng-app="app"> <head> <title>angular js& ...

  10. python 实现一个TwoSum的例子

    今天无意中看到一个题目,也不是很难,就想着用python实现以下: 题目是数组中的两个数相加等于输入的一个target,然后输出数组的下标. 比如: [1,2,3,4,5,6] target=7  返 ...