主要是做断言 text
字符串类型属性:
content-desc(返回content-desc属性值)
text(返回 text)
className(返回 class)
resourceId(返回 resource-id)
布尔类型属性同UiautomatorViewer里面保持一致
获取当前元素的文本值(文本属性值)
当前正在前台运行的界面名,我们可以用此API在某些场景进行断言:是否当前activity符合我们的预期等。
- //得到当前正在运行的activity
- String activity = androidDriver.currentActivity();
可以用于判断当前页面是否有某个元素,或者判断当前页面有没有产生变化:
如:上下滚动判断是否已经到了底端/顶端;
获取app代码源码 用来做断言 根据源码看页面有没有什么变化
⚠️注意是当前页面,当前看到的页面,不是全部页面
- //得到当前页面的结构图
- androidDriver.getPageSource();
获取设备时间信息
androidDriver.getDeviceTime();
获取设备DPI,注意不是分辨率,屏幕密度 (Density)
androidDriver.getDisplayDensity();
获取automation name,默认为null,
如果有指定automation name为uiautomator2就为对应的值
androidDriver.getAutomationName();
获取设备横竖屏状态,有PORTRAIT(竖屏)与LANDSCAPE(横屏)
androidDriver.getOrientation();
输入android对应的key 激活对应的功能 包括:声音大小、相机、开关机、返回键等等
安卓对应的键:Android KeyCode 安卓键码对照表-CSDN博客
- KeyEvent key = new KeyEvent();
- key.withKey(AndroidKey.BACK);
- driver.pressKey(key);
- //手机截图文件
- //file对象存在一个临时目录,srcFile
- File srcFile = driver.getScreenshotAs(OutputType.FILE);
- FileUtils.copyFile(srcFile,new File("/.../android.png"));
选择设置中关于手机->连续点击五次版本号->进入开发者选项->指针位置进行勾选
- TouchAction action = new TouchAction(driver);
- //创建坐标点击对象PointOption
- //创建点 x y ⚠️左上角是原点
- PointOption point = PointOption.point(493,837);
- //点击
- action.press(point).release().perform();