0

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

在代码下面添加,但这无济于事

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

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

4

3 回答 3

0

您可以触发KeyEvent将应用程序置于后台并查看主屏幕。然后您搜索浏览器图标并单击它。在浏览器中,您可以使用上下文命令来自动化 web 视图。

完成浏览器后,您可以恢复本机应用程序。

于 2019-08-07T11:33:23.633 回答
0

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

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

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

于 2019-08-07T11:41:58.390 回答
0

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

我执行类似的操作:

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

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

于 2019-08-07T18:01:24.537 回答