Robotframework + AppiumLibrary:" Open Application"有两个可能的appActivity

时间:2016-12-01 07:50:49

标签: android automated-tests appium robotframework

我使用Robotframework(3.0)+ AppiumLibary(1.4.1)进行Android测试,只是遇到APP实际停在不同appActivity的情况取决于它是否已登录使用关键字"打开应用程序"

appActivity的流程将是

(1)(APP尚未登录)打开应用程序 - >停在 LoginActivity - > (输入帐户/密码登录) - > MainPageActivity

(2)(已登录的应用程序)打开应用程序 - > LoginActivity - >停在 MainPageActivity

我搜索过很多帖子,大部分答案都设置为 appActivity = LoginActivity appWaitActivity = MainPageActivity

但问题是,

如果我之前已经登录过这个APP,它实际上会自动进入 MainPageActivity

但是,如果APP尚未登录,则不会进入 MainPageActivity ,除非我们输入帐户/密码,这可能会导致失败,如下所示:

WebDriverException: Message: A new session could not be created. 
(Original error: xxxx/.fragment.MainActivity never started. Current: xxxx/.LoginActivity)

那么无论如何要在启动时处理可能的不同应用程序或处理上述情况?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在AppWaitActivity中使用通配符来等待您的应用程序:

示例:

@Test()
public void testStuff() {
    String var1;
    String var2;

    /* Code specific to this test and should only be ran once. */
    doSomething(param1)

    /* Contains code looking for files that may or not be ready by the time the code is ran. */
    /* I want to try this code then wait and retry up to a max of 3 retries. */
    assertStuff(var1, var2);
}

希望这会有所帮助。