我正在编写 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/