[英]How to handle webview using appium and selenium with java
我正在亚马逊 android 应用程序上进行测试以进行学习。 我已经完成了一些基本的测试用例并成功执行了它。 现在我想登录,但我不知道如何使用 java 在 appium 和 selenium 中处理 webview。 请帮我。
此代码仅用于从本机应用程序上下文切换到 webview 上下文,
在这种情况下获取所有上下文 webView 和本机应用程序
Set<String> contextNames = driver.getContextHandles();
for (String contextName : contextNames) {
System.out.println(contextNames);
}
driver.context(contextNames.toArray()[1]);
//switch to inapp webview, and do Your stuff, if webview is enabled for automation
String myText = driver.findElement(By.cssSelector("buttonId")).click();
driver.context("NATIVE_APP");
//switch back to app
这是如何在 webView 中定位和列出元素的链接,这是一篇很好的文章如何通过远程设备(Android)上的 Chrome 连接到 webView
所以你可以检查元素以及它是否启用了自动化测试。
要在您的 android 应用程序中切换到 webView,应在您的应用程序中启用webView 调试。 对于 Amazon android 应用程序 webView 未启用。 你可以参考这个链接
您可以通过启用远程调试 webView 来开发自己的 android 应用程序,也可以使用启用了 webView 的 chrome 浏览器。
切换到 WebView :
Set<String> contextNames = driver.getContextHandles();
for(String context : contextNames) {
if(context.contains("WEBVIEW")){
System.out.println("Context Name is " + context);
driver.context(context);
break;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.