我正在尝试使用robotium编写一些自动化测试用例。我相信我的问题很简单,但我还没有找到解决方案。
我有一个对话框提示(“OK”),只有大约50%的时间触发。我希望这个测试用例检查对话框是否提示,如果是,我需要单击“确定”。如果没有提示,请继续登录。
// Entering "test" into the password field
solo.enterText((EditText) solo
.findViewById("com.mobile.R.id.passwordEditText"),
"test");
// Pressing ENTER from the keyboard
solo.sendKey(ExtSolo.ENTER);
//waiting 5.1 Seconds
solo.sleep(5100);
// This is where I'm stuck
/*
* What I want:
* I want to look for the OK button, but if its not found to continue without it.
* If dialog button was not found, continue to login.
*/
assertTrue("Wait for button (text: OK) failed.",
solo.waitForButton("OK", 20000));
solo.clickOnButton("OK");
//login
solo.clickOnButton("login");
谢谢!
EDIT 也许我可以通过登录提示来压制令牌,但我宁愿能够点击确定(如果它在那里),或者如果不是在没有测试用例失败的情况下仍然可以登录。
solo.getView(String id)我可以看到它是否存在,但如果不存在则会失败。
答案 0 :(得分:3)
在这里,它应该有所帮助:
if (solo.waitForButton("OK", 20000)) {
solo.clickOnButton("OK");
}
solo.clickOnButton("login");