元素操作Api
click()
触发当前元素的点击事件
sendKeys(...)
输入数据
clear()
清空内容
getAttribute()
//得到class属性
element.getAttribute("className");
字符串类型属性:
- name(返回 content-desc 或 text)
- text(返回 text)
- className(返回 class)
- resourceId(返回 resource-id)
布尔类型属性同UiautomatorViewer里面保持一致
getText()
获取当前元素的文本值
androidDriver操作Api
currentActivity()
当前正在前台运行的界面名,我们可以用此API在某些场景进行断言:是否当前activity符合我们的预期 等。
- 得到当前正在运行的activity
- String activity = androidDriver.currentActivity();
- System.out.println(activity);
getPageSource()
可以用于判断当前页面是否有某个元素,或者判断当前页面有没有产生变化:如上下滚动判断是否已经 到了底端/顶端
- 得到当前页面的结构图
- androidDriver.getPageSource();
其他信息获取类API
pressKey()
- KeyEvent key = new KeyEvent();
- key.withKey(AndroidKey.BACK);
- driver.pressKey(key);
getScreenshotAs()
- 截图
- File file = androidDriver.getScreenshotAs(OutputType.FILE);
- try {
- FileUtils.copyFile(file, new File("D:\\test_111.jpg"));
- } catch (IOException e)
- { // TODO Auto-generated catch block e.printStackTrace();
- }
坐标点击
选择设置中关于手机->连续点击五次版本号->进入开发者选项->指针位置进行勾选
注意:坐标点击受设备屏幕尺寸/分辨率/DPI影响,万不得已不要使用此种方式
总结
1、元素API使用,click、sendKeys、clear、getAttribute、getText
2、driver的API使用,currentActivity、getPageSource、getDeviceTime、getAutomationName、 getOrientation、getDisplayDensity、pressKey、getScreenshotAs
3、坐标点击 TouchAction->press->release->perform ,坐标的转换,原始坐标转换成PointOption类型