打印上下文

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. inline-block和同级的text-align问题

    https://www.cnblogs.com/qjqcs/p/5551640.html margin:0 auto:是设置块标签在父级中居中对齐,是一种对齐方式.所以对于display:inline ...

  2. 比较运算符in/instanceof/typeof 逻辑表达式||/&&

    1.比较运算符in in运算符希望它的左侧操作数是一个字符串或可以转换为字符串,希望它的右操作数是一个对象, 如果右侧的对象拥有一个名为左侧操作数值的属性名,那么表达式返回true, eg:var a ...

  3. hdu 5884 Sort 队列+多叉哈夫曼树

    Sort Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Des ...

  4. Delphi_按字节比较两个文件

    1.界面 2.代码 procedure TForm1.btnSelectFile01Click(Sender: TObject); begin if OpenDialog1.Execute then ...

  5. javascript删除JSON元素

    首先要搞清JSON的数据格式,我这里所说的JSON都是指javascript中的. JSON数据是由对象和数组数据结构组成,我们只要学会javascript中对对象和数组的删除方法即可对JSON项进行 ...

  6. SSIS的控制流之For循环容器

    SSIS包由一个控制流以及一个或多个数据流(可选)组成.下面的关系图显示具有一个容器和六项任务的控制流. 这些任务中有五项定义于包级别,还有一项定义于容器级别.任务位于容器内.在控制流中的工具箱.我们 ...

  7. openGL 3.3+ 场景渲染

    这个渲染程序是研一下学期的计算机图形学课程大作业,花了两三周学习使用了下 openGL 3.3+ 库,整合出了这个渲染程序,完成于 2013/07/05. 相对于老版本的库,新版本更开放,给了程序员更 ...

  8. Dom节点操作常用方法

    1.访问/获取节点 document.getElementById(id); //返回对拥有指定id的第一个对象进行访问 document.getElementsByName(name); //返回带 ...

  9. 原生JDBC的使用

    public class ConnDB { private Connection ct = null; //驱动程序名 String driver = "com.mysql.jdbc.Dri ...

  10. 2018-2019-2 20165210《网络对抗技术》Exp6 信息搜集与漏洞扫描

    2018-2019-2 20165210<网络对抗技术>Exp6 信息搜集与漏洞扫描 一.实验目标: 掌握信息搜集的最基础技能与常用工具的使用方法. 二.实验内容: 各种搜索技巧的应用 G ...