在Appium中,如何在使用多个WebView的Android应用程序中选择第一个以外的WebView?
我正在使用Appium尝试在Android上为我们的混合应用程序创建自动化测试工具,我遇到了一个问题,即应用程序中包含三个WebView,我只能选择其中一个。
以下是获取上下文列表的代码:
Set<String> contextNames = driver.getContextHandles();
System.out.println("Available contexts:");
for (String contextName : contextNames) {
System.out.println("\t" + contextName);
}
这将在可用的上下文中列出“NATIVE_APP”和“WEBVIEW_com.mycompany.myapp”。 (其他情况似乎与Android尚未关闭的最近使用的应用有关。)
当我尝试使用以下代码获取WebView的URL时:
driver.context("WEBVIEW_com.mycompany.myapp");
System.out.println("Current URL is: " + driver.getCurrentUrl());
我得到的是“当前网址为:https://googleads.g.doubleclick.net/mads/static/mad/sdk/native/sdk-core-v40.html”
使用chrome://来自Google Chrome浏览器检查显示以下WebView嵌入在应用程序中:
https://googleads.g.doubleclick.net/mads/static/mad/sdk/native/sdk-core-v40.html
about:blank
file:///android_asset/www/index.html#/app/home
如何让Appium使用URL文件切换到WebView:///android_asset/www/index.html#/app/home而不是列表中的第一个?
答案 0 :(得分:0)
尝试
ReadOnlyCollection<string> windowHandles = InitialiseAppium.driver.WindowHandles;
InitialiseAppium.driver.SwitchTo().Window(windowHandles[1])