如何知道活动生命周期方法已经完成运行

时间:2013-10-01 07:23:37

标签: android unit-testing robotium

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

1 个答案:

答案 0 :(得分: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)