Uiautomator中两次点击的时间差

Time difference in two click in Uiautomator

我正在使用UiAutomator来测量两次点击的时间差,但是我得到的两次点击的时间差大于秒表手动测量的实际时间差。

场景如下:我必须将图像保存到设备,点击 Start 将开始将图像保存到设备,直到它带有 OK 弹出窗口和完成消息。所以我在测量这个时间间隔。

这是我的源代码:

UiObject start_ok = mDevice.findObject(new UiSelector().text("OK"));
// Staring time measuring.......
   starting_time = System.currentTimeMillis();
   start_ok.click();
boolean complete_ok = mDevice.wait(Until.hasObject(By.text("OK")), 10000);
if (complete_ok)
{
  UiObject finished_ok = mDevice.findObject(new UiSelector().text("OK"));
  // Finished time calculating ....
  ending_time = System.currentTimeMillis();
  finished_ok.click();
}
 diff = ending_time - starting_time;

我得到的上述时间差异比我手动做的要多。请给我一个理由。还建议我如何克服这个问题?如何测量两次点击之间的准确时间?

指令中

boolean complete_ok = mDevice.wait(Until.hasObject(By.text("OK")), 10000);

您的 android 设备将等待 10 秒,然后单击“确定”按钮。

我想改成

UiObject finished_ok = mDevice.findObject(new UiSelector().text("OK"));
while(!finished_ok.exists()){
   finished_ok = mDevice.findObject(new UiSelector().text("OK"));
}
ending_time = System.currentTimeMillis();
  finished_ok.click();

应该有帮助。 您在这里等待下一个确定按钮的出现,而不是显式等待 10 秒。