3

我正在尝试使用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");

谢谢!

编辑也许我可以在登录时提示令牌,但如果它存在,我宁愿能够单击确定,或者如果它不是没有失败的测试用例,则仍然登录。

solo.getView(String id) 我可以查看它是否存在,但如果它不存在它将失败。

4

1 回答 1

3

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

if (solo.waitForButton("OK", 20000)) {
    solo.clickOnButton("OK");
} 
solo.clickOnButton("login");
于 2013-06-01T14:04:55.483 回答