android - 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 秒钟,然后单击 OK 按钮。
我认为将其更改为
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();
应该有帮助。在这里,您正在等待下一个 OK 按钮的出现,而不是 10 秒的显式等待。
推荐阅读
- list - 将对象添加到 SimpleListProperty
- android - 将 C 源文件交叉编译到 Android Arm
- git - GIT 在创建分支后追加描述以提交
- reactjs - Jest 遇到了一个意外的令牌 ReactJS
- python-3.x - 如何读取张量流混淆矩阵的行和列
- wpf - WPF 从同一线程中的另一个窗口更新窗口的 UI 控件
- c# - 自定义 UniformGrid 导致 ItemsControl 中的缩放问题
- c# - C# UI 测试 WinAppDriver Appium 测试颜色?
- python - 模型表与用户的连接(标准登录模块)。姜戈,蟒蛇
- powershell - 如果未设置 TFS 构建变量,如何回退到默认值?