【问题标题】:Appium - open in browserAppium - 在浏览器中打开
【发布时间】:2019-12-14 21:26:03
【问题描述】:

使用 appium 测试移动应用程序。当我运行测试时,我的应用程序打开,我可以执行一些操作,然后当我登录时,应用程序将我带到浏览器登录云,这没问题,但我的问题出在模拟器上。我有一个问题弹出,用 Chrome 或其他应用程序打开(仅一次/总是)。我怎样才能避免这个对话框?

在下面添加了代码,但这没有帮助

caps.setCapability("appPackage", "com.android.browser");

我希望当应用程序将我切换到浏览器时,我可以粘贴我的凭据并切换回我的应用程序,然后我可以继续我的测试

【问题讨论】:

  • 使用模拟器或移动设备?
  • 我正在使用模拟器
  • 所以你无法避免它。你应该想办法解决。我建议您也单击该按钮并继续前进

标签: android selenium appium emulation open-with


【解决方案1】:

您可以触发KeyEvent 将应用置于后台并查看主屏幕。然后您搜索浏览器图标并单击它。进入浏览器后,您可以使用 context commands 自动执行 webview。

浏览器完成后,可以resume原生应用。

【讨论】:

    【解决方案2】:

    有时有一些测试让我们退出应用程序,Appium 提供功能让我们切换到我们想要的应用程序。请试试这个方法:

    driver.startActivity(new Activity("com.example", "ActivityName"));
    

    您必须知道应用程序包的名称及其主要活动。 你可以阅读文档here

    【讨论】:

      【解决方案3】:

      在使用 Appium 测试应用程序时,我也遇到过类似的弹出窗口。唯一对我有用的解决方案是提取 xpath (UIAutomatorViewer) 并单击弹出窗口。某处必须有一个确定或取消按钮。 (我这样做是为了应用程序崩溃弹出窗口、chrome 隐私内容......)

      我执行如下操作:

      if(element.isDisplayed()){
          element.click();
      }
      //proceed with your test
      

      它不是最佳的,但它有效。请记住,如果您要手动测试此应用程序,您还必须单击弹出窗口,所以我认为这没问题。

      【讨论】:

      • 谢谢,您的解决方案对我有用。我只是点击按钮
      猜你喜欢
      • 1970-01-01
      • 2019-04-12
      • 2021-10-01
      • 2018-06-16
      • 1970-01-01
      • 2012-02-21
      • 2016-12-29
      • 2011-06-12
      • 2015-04-22
      相关资源
      最近更新 更多