我使用离子框架开发了一个混合应用程序.现在是时候测试我的应用了,所以我选择了appium来自动化它.我已经准备好appium设置,我的设备安装在我的设备中通过USB连接.
我编写了一个示例测试来点击登录按钮并将密钥发送到必需的字段,如email和pwd.我曾使用uiautomatorviewer查找带有id的元素.
例如:driver.findElement(By.id(“io.mysoft.testapp:id / login”)).click();
到目前为止,一切都很清晰完美,但我的样本测试失败了,显示我的错误
Failed: Loginforsample org.openqa.selenium.NoSuchElementException: An element Could not be located on the page using the given search parameters. (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 5.51 seconds
经过长时间的研究,我发现我们必须通过driver.context(“WEB_VIEW”);切换到测试逻辑中的WEB_VIEW.我还尝试使用以下代码获取WEB_VIEW:
Set<String> contextNames = ((AppiumDriver) driver).getContextHandles(); for (String contextName : contextNames) { System.out.println("FirsT" + contextNames);//output is //NATIV_APP ((AppiumDriver) driver).context(contextName); }
我只从阵列中获取NATIV_APP但没有打印WEB_VIEW.我已经研究过要启用WEB_VIEW调试,我们必须在webView类上调用静态方法setWebContentsDebuggingEnabled,这样我们就可以在webView上查找元素并对其进行清晰测试.
我是一个角色开发者,我选择离子来开发混合应用程序.我的应用程序中没有类或任何内容,即编码时没有java.吃掉我大脑的问题是如何在我的离子应用程序(混合)中启用setWebContentsDebuggingEnabled?有没有办法从离子混合应用程序获取web_view?我认为这是我的测试失败的主要原因.请任何人都有解决方案.过去一周我一直在研究这个问题.
提前致谢.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。