0

我正在使用 Robotium Solo 进行活动测试

在继续进行测试之前,我需要知道 onCreate 已完成运行

我可以让它休眠 5 秒,但这无济于事,因为我需要捕获 onStart 的第一行,并且 onCreate 每次在不同的时间完成

我如何告诉solo 等到onCreate 完成?

这就是我的代码的样子:

solo.sleep(5000);

    solo.clickOnButton("animate");
    solo.sleep(5000);

    solo.clickOnButton("close");
    solo.sleep(5000);

    solo.clickOnButton("animate");
    solo.sleep(5000);

    solo.clickOnButton("close");
    solo.sleep(5000);

    solo.clickOnButton("animate");
    solo.sleep(5000);

    solo.clickOnButton("close");
    solo.sleep(5000);
4

1 回答 1

1

您可以添加另一种方法来搜索您的代码中的控件。例如:

static boolean clickOnButton(String name, Solo solo){
    Button view = null;
    try{
            ArrayList<Button> temp = solo.getCurrentViews(Button.class);
            for (int i = 0; i < temp.size(); i++) {
                if (temp.get(i).getText().toString().equals(name)){
                    view = temp.get(i);
                    break;
                }
            }
            view.click();
            return true;
    } catch (Error err) {
            return false;
    } 
}

如果您确定该按钮将存在,您可以循环此类搜索,添加一些标志,进行 do-while 循环并按条件更改标志

    if (view == null)
于 2013-10-01T08:54:28.073 回答