android - UiAutomator的同步

标签 android android-uiautomator

我正在编写 uiautomator 测试用例,用于在模拟器中运行 Android 应用程序。问题来了,假设我在不同的模拟器机器上运行 Ui 测试用例。如何保证录音机和播放机的 react 速度一致?例如,播放机的 react 可能比录音机慢,因此,当测试用例触发按钮中的单击操作时,播放机可能尚未在布局中加载该按钮。 uiautomator中是否有任何机制可以始终同步测试用例的播放和机器 react ?恐怕如果播放机太慢,那么可能会抛出一些未发现的异常。

最佳答案

通常您使用类似 UiDevice.wait(..) 的函数暂停,直到测试可以继续。

例如,如果您有一个按钮可以打开一个屏幕,其中包含您想要与之交互的某些元素,则您需要等待新内容出现,然后才能尝试与这些元素交互。

这看起来像:

detailsButton.click();

device.wait(Until.hasObject(By.desc("Details Pane")), TIMEOUT);

// Do something on the details pane

关于android - UiAutomator的同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31377936/

相关文章:

android - 我如何在listview android中切换三个以上的图像

selenium - Appium无法使用UIAutomator中的文本在移动应用程序中定位元素

android - 通过 UiAutomator 长按电源按钮

java - 用于压缩文件的 uidevice takescreenshot 选项不起作用

android - 按钮的随机大小和位置 : unexpected behavior

java - Android SharedPreferences 获取具有相同键的所有字符串?

java - 如何在android中扩展2个库类

android - 使用 MediaPlayer 作为服务时有人遇到 ANR 吗?

android - 从 ApplicationTest 启动时,DataBindingUtil 不得返回 null

android - Android SDK 的 UIAutomator Viewer 返回空白截图