枕上诗书闲处好,门前风景雨来佳。这篇文章主要讲述Appium之UIAutomator API选择元素相关的知识,希望能为你提供帮助。
UI Automator测试框架提供了一组API来构建UI测试。
利用UI Automator API可以执行在测试设备中,打开‘设置’菜单或应用启动器等操作。
UI Automator测试框架非常适合编写黑盒自动化测试
【注意】如果你的安卓机版本在6及以上,可以在desired_caps字典中加上下面这句代码:
\'automatorName\': \'UiAutomator2\'
UI Automator查看器
访问设备状态:
UI Automator测试框架提供了一个UiDevice类。该类可用于执行以下操作:
- 更改设备旋转
【Appium之UIAutomator API选择元素】
- 按D-pad按钮
- 按返回、主屏幕、菜单按钮
- 打开通知栏
- 对当前窗口进行屏幕截图
如:要模拟按下‘主屏幕’按钮,请调用UiDevice.pressHome()方法
UI Automer API:
UiSelector:是我们appium自动化代码选择元素时直接使用到的。
UiSelector类似于appium中find_element_by_xxx()方法中的函数值。
如:根据ID选择元素
java语法:newSelector().resourceId("io.manong.developerdaily:id/tv_tab_title")
appium用法:driver.find_element_by_android_uiautomator(\'new UiSelector().resourceId("io.manong.developerdaily:id/tv_tab_title")\')
如:根据className选择元素
java语法:new UiSelector().className("android.widget.TextView")
appium 用法:driver.find_element_by_android_uiautomator(\'new UiSelector().className("android.widget.TextView")\')
如:根据class name 和text属性
code = \'new UiSelector().text("我的").classname("android.widget.TextView")\'
ele = driver.find_element_by_android_uiautomator(code)
如:根据childSelector和instance方法
code = \'new UiSelector().resourceId(\'\\
\' "io.manong.developerdaily:id/tab_bar").childSelector(new UiSelectot().className(\'\\
\' "android.widget.TextView").instance(3))\'
ele = driver.find_element_by_andorid_uiautomator(code)
ele.click()
-------------------------代码实现-------------------------------
文章图片
滑动屏幕:
* Appium WebDriver的swipe方法(坐标和duration)
* 直接查看,估算操作坐标
* 先获取元素坐标,再分析操作坐标(更健壮)
location = ele.location 左上角坐标 (dict:有x,y)
size1 = ele.size 宽 高 (dict:有width,height)
操作不可见元素:
* 先滑动到其可见
* 再操作该元素
* 获取全屏幕尺寸
screenSize = driver.get_window_size()
screenW = screenSize[\'width\']
screenH = screenSize[\'height\']
---------------------------代码实现------------------------------
文章图片
推荐阅读
- APP页面如何区分是原生的还是H5页面
- 手机号码生成器app,手机上用的
- Android: SharedPreferences的简单使用(数据可持久化)
- Elasticsearch系列---初识mapping
- uni-app真机调试报错request:fail abort解决方法
- application cache和localstorage的区别
- Android开发 MediaPlayer播放raw资源MP3文件
- main方法类 为何由AppClassLoader加载
- Flutter——AppBar组件(顶部导航组件)