使用robotium检查对话框提示 - 如果不是则需要if语句

时间:2013-06-01 04:27:07

标签: java testing automation robotium qa

我正在尝试使用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)我可以看到它是否存在,但如果不存在则会失败。

1 个答案:

答案 0 :(得分:3)

在这里,它应该有所帮助:

if (solo.waitForButton("OK", 20000)) {
    solo.clickOnButton("OK");
} 
solo.clickOnButton("login");