【问题标题】:Robotframework + AppiumLibrary: "Open Application" with two possible appActivityRobotframework + AppiumLibrary:具有两个可能的 appActivity 的“打开应用程序”
【发布时间】:2017-04-15 18:32:02
【问题描述】:

我正在使用 Robotframework(3.0) + AppiumLibary(1.4.1) 进行 Android 测试,只是遇到了一个情况,一个应用程序实际上会在不同的 appActivity 处停止,这取决于它在使用关键字 时是否登录"打开应用程序”

appActivity 的流程要么是

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

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

我搜索了很多帖子,大部分答案都是设置 appActivity=LoginActivityappWaitActivity=MainPageActivity

但问题是,

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

但是如果APP还没有登录,它不会进入MainPageActivity,除非我们输入账号/密码,这可能会导致失败,如下所示:

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

那么有没有办法在启动时处理可能不同的 appActivity 或处理上述情况?

谢谢!

【问题讨论】:

    标签: android automated-tests appium robotframework


    【解决方案1】:

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

    示例:

    //the code bellow will work for YourApplication.LoginActivity and YourApplication.MainActivity
    capabilities.AddAdditionalCapability(AndroidMobileCapabilityType.AppWaitActivity, "YourApplication.*");
    //or you can use this to "skip" the AppWaitActivity
    capabilities.AddAdditionalCapability(AndroidMobileCapabilityType.AppWaitActivity, "*");
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2021-05-10
      • 2019-07-15
      • 2018-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-10
      • 2011-08-25
      • 2018-06-28
      相关资源
      最近更新 更多