打印上下文

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

最新文章

  1. [转]h5页面测试总结
  2. 译:什么是ViewData的, ViewBag和TempData? - MVC为当前和后续请求之间传递数据的三种方法
  3. 高层次综合(HLS)-简介
  4. easyui datagrid 编辑器绑定事件
  5. 解决Tomcat 7遇到StackOverflowError的异常
  6. hdoj 2050 折线分割平面
  7. LINUX 内核月报 taobao
  8. 使用 Entity Framework Code First
  9. python流程控制:for循环
  10. android EventBus详解(二)
  11. DD XOFT虚拟键盘鼠标
  12. 音视频编解码技术(一):MPEG-4/H.264 AVC 编解码标准
  13. upstream timed out (10060: A connection attempt failed because the connected party did not properly respond
  14. 正则表达式识别js跳转的链接
  15. 为MySQ启用HugePage
  16. Linux系统java环境jdk的安装
  17. Ios8 Xcode6 设置Launch Image 启动图片
  18. 一个Flex 对话框的坑
  19. [转]被玩坏的innerHTML、innerText、textContent和value属性
  20. POJ 1089

热门文章

  1. iframe标签的子父页面调用函数和属性
  2. 更改自己iCloud的地区
  3. linux下如何查看某个软件 是否安装??? 安装路径在哪???
  4. SpringBoot- springboot集成Redis出现报错:No qualifying bean of type 'org.springframework.data.redis.connection.RedisConnectionFactory'
  5. js判断是pc还是移动端
  6. jsp: jstl标签库
  7. php:使用XHProf查找PHP性能瓶颈
  8. Tomcat的bin目录下startup.bat、Tomcat6.exe、Tomcat6w.exe区别
  9. c++primer 第五章编程练习答案
  10. 配合Jenkins自动化构建,bat脚本(一)