打印上下文
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
版权声明:本文为博主原创文章,转载请附上博文链接!

appium api笔记的更多相关文章

  1. 篇4 安卓app自动化测试-Appium API进阶

    篇4                 安卓app自动化测试-Appium API进阶 --lamecho辣么丑 1.1概要 大家好! 我是lamecho(辣么丑),今天是<安卓app自动化测试& ...

  2. (转载)中文Appium API 文档

    该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/s ...

  3. appium API接口

    appium API接口 标签(空格分隔): appium常用api 1.contexts contexts(self) 返回当前会话的上下文,使用可以识别H5页面的控件: driver.contex ...

  4. 中文Appium API 文档

    该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/s ...

  5. Python Socket API 笔记

    将上节中的C#该成Python版的容易程度大大超出了我的意料之外.从来没有发现,仅仅用灰尘简单的几句话就实现了该程序的主要功能,可见python的简易和强大之处.这里先对SocketAPI 做一下总结 ...

  6. appium(6)-parts of appium api

    parts of appium api Lock Lock the screen.//锁屏. // java driver.lockScreen(3); // objective c [driver ...

  7. java appium api

    Appium中部分api的使用方法,有需要的朋友可以参考下. 使用的语言是java,appium的版本是1.3.4,java-client的版本是java-client-2.1.0,建议多参考java ...

  8. Appium学习笔记(一)--安装与配置

    移动自动化测试常用工具有两个:Appium和Robotium.正好最近自己开始负责客户端的工作,初来乍到需要熟悉下环境,正好学习新的东西. 移动自动化相对web来说,原理与操作过程是一样的,通过自动化 ...

  9. JS全部API笔记

    我相信对于程序猿都有做笔记的习惯. 我初学到现在也做了不少笔记,以前,总是怕写的文章或者好的内容分享出来就怕被直接copy以后更个名就不再是你的. 但通过博客园,学习到不少东西,人家都不怕什么了,我自 ...

随机推荐

  1. Huber Loss

    Huber Loss 是一个用于回归问题的带参损失函数, 优点是能增强平方误差损失函数(MSE, mean square error)对离群点的鲁棒性. 当预测偏差小于 δ 时,它采用平方误差, 当预 ...

  2. HTTP协议09-响应首部字段

    响应首部字段 响应首部字段是由服务器向客户端返回响应报文中所使用的字段,用于补充响应的附加信息.服务器信息,以及对客户端的附加要求等信息. 1)Accept-Ranges Accept-Range:b ...

  3. LNMP一键包安装后解决MySQL无法远程连接问题

    MySQL/MariaDB无法远程连接,如何开启? 1,没有给root对应的权限 -- @'192.168.1.123'可以替换为@‘%’就可任意ip访问 mysql> GRANT ALL PR ...

  4. 递归遍历所有xml的节点及子节点

    import java.io.File; import java.util.List; import org.dom4j.Attribute; import org.dom4j.Document; i ...

  5. iOS -- Effective Objective-C 阅读笔记 (5)

    1: 理解 '对象等同性' 概念 理解: 根据'等同性' 来比较对象是一个非常有用的功能, 不过按照 == 操作符比较出来的结果未必是我们想要的, 因为该操作比较的是两个指针本身, 而不是其所指的对象 ...

  6. RIDE的下载及安装

    1.本机配置 windows8.1 python3.6.5,已配置环境变量 2.安装RIDE前需要安装的依赖包(使用pip就可以直接安装) 首先必须有robotframework 例如:pip ins ...

  7. 饮冰三年-人工智能-Python-21 Python数据库MySql

    一:下载与安装 1:下载地址:https://dev.mysql.com/downloads/mysql/ 2:安装MySql 打开下载文件解压到指定文件目录.(我这里解压目录为D:\MySql\my ...

  8. memcached笔记

    启动memcached:./memcached -d -m 10 -l 127.0.0.1 -p 11211 -u root 连接memcached:telnet 127.0.0.1 11211 查看 ...

  9. Linux--奇思淫才

    根据进程号找到可执行的文件路径 [ec2-user@baolin ~]$ ll /proc/<pid>/exe lrwxrwxrwx 1 ec2-user ec2-user 0 May 3 ...

  10. UOJ#407. 【IOI2018】狼人 Kruskal,kruskal重构树,主席树

    原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ407.html 题解 套路啊. 先按照两个节点顺序各搞一个kruskal重构树,然后问题转化成两棵krus ...