我正在尝试使用带有appium的espresso驱动程序在Android模拟器上自动化一些步骤。当尝试允许Espresso驱动程序看不到的位置权限时,会出现一个弹出窗口。我目前正在尝试使用以下代码强制输入两次点击次数:
Robot robot;
try {
robot = new Robot();
robot.keyPress(java.awt.event.KeyEvent.VK_ENTER);
robot.keyRelease(java.awt.event.KeyEvent.VK_ENTER);
} catch (AWTException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
但是使用它只会给我以下错误:
java[61315:813119] pid(61315)/euid(765933194) is calling TIS/TSM in non-main thread environment, ERROR : This is NOT allowed. Please call TIS/TSM in main thread!!!
所有这些都在Macbook上,并且我的测试代码在IntelliJ中,并且从Android Studio启动了模拟器。我曾尝试在xcode中禁用主线程扫描程序,但这似乎并没有扩展到IntelliJ或appium。我有办法强迫苹果忽略此检查或将这段代码强制给“主线程”吗?
答案 0 :(得分:0)
如果您的问题与如何通过位置权限对话框有关,则可以使用GrantPermissionRule,它允许您在测试中授予权限。
@Rule public GrantPermissionRule permissionRule = GrantPermissionRule.grant(android.Manifest.permission.ACCESS_FINE_LOCATION);