2

当我尝试与蓝牙设备配对时,会出现带有 PIN 码的系统确认对话框。有“取消”和“确定”按钮。但我不能用 Robotium 点击它们。如何在 Robotium 中使用 Android 操作系统对话框?谢谢。

4

5 回答 5

2

这对我有用:

solo.clickOnView(solo.getView(android.R.id.button1)); 

其中“正”按钮是 android.R.id.button1,“负”按钮是 android.R.id.button2,“中性”是 android.R.id.button3。

于 2013-09-27T17:19:57.440 回答
1

不可能编写跨越 2 个应用程序的测试用例。但是,如果它是同一应用程序的一部分,那么您可以使用solo.clickOnText("Cancel"). 同样的方式,您可以通过单击其他按钮文本来单击其他按钮。

于 2013-08-16T06:54:52.540 回答
1

当涉及到 Android 系统对话框按钮时,Robotium 可能会很困难,但是有一个解决方案。

在堆栈上的这篇文章中找到了答案

// Set this dependency in your app's gradle file
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'

并在您的测试项目中使用此代码段:

// Initialize UiDevice instance
UiDevice uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());

// Search for correct button in the dialog.
UiObject button = uiDevice.findObject(new UiSelector().text("ButtonTest"));

if (button.waitForExists(5000)) {
    button.click();
}
于 2016-04-27T01:04:30.353 回答
0

正如@kamal_prd 所说,你不能因为对话框不是同一个应用程序的一部分。也许你可以使用

clickOnScreen(float x, float y) //点击指定坐标

我知道使用不同的屏幕分辨率/尺寸很难管理,但我也用它来测试我的应用程序。

于 2014-01-14T15:31:40.133 回答
-2

您可以使用solo.clickOnView(solo.getView(buttonId))

于 2013-08-15T16:31:24.833 回答