机器人&系统对话框

时间:2013-08-15 16:24:28

标签: android robotium

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

5 个答案:

答案 0 :(得分:2)

这对我有用:

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

其中'Positive'按钮是android.R.id.button1,'Negative'按钮是android.R.id.button2,'Neutral'是android.R.id.button3。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

对于Android系统对话框按钮,Robotium可能很难,但有一个解决方案。

Found the answer on this post on stack

// 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();
}

答案 3 :(得分:0)

正如@kamal_prd所说,你不能因为对话框不属于同一个应用程序。 可能你可以使用

  

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

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

答案 4 :(得分:-2)

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