我試圖使用Selendroid自動化混合應用程序。無法使用Selendroid切換到WEBVIEW,得到WebDriverException
林在 「driver.switchTo()。窗口(」 的WebView「)。
變得異常下面是代碼。
WebElement uname;
WebElement password;
@BeforeClass
public static void setUp() throws Exception{
System.out.println("Set up in progress");
SelendroidConfiguration config = new SelendroidConfiguration();
config.addSupportedApp("D:DJ/HDFC/iAgent.apk");
if(selendroidServer!=null){
selendroidServer.stopSelendroid();
}
selendroidServer = new SelendroidLauncher(config);
selendroidServer.launchSelendroid();
SelendroidCapabilities capa = new SelendroidCapabilities();
capa.setAut("com.hdfclife.msd:4.85");
capa.setEmulator(false);
//capa.setPlatformVersion(DeviceTargetPlatform.ANDROID19);
driver = new SelendroidDriver(capa);
}
@Test
public void selendroidTest() throws InterruptedException{
System.out.println("Hello.. mSD under Test -- " + driver.getCurrentUrl());
//driver.switchTo().activeElement();
driver.switchTo().window("WEBVIEW");
Thread.sleep(10000);
uname = driver.findElement(By.name("username"));
uname.sendKeys("110105");
Thread.sleep(3000);
password = driver.findElement(By.name("password"));
password.sendKeys("[email protected]");
Thread.sleep(3000);
WebElement loginBtn = driver.findElement(By.id("loginButton"));
loginBtn.click();
Thread.sleep(3000);
}
@AfterClass
public static void tearDown(){
selendroidServer.stopSelendroid();
driver.quit();
}
下面是錯誤顯示。
組織。 openqa.selenium.WebDriverException:CATCH_ALL:java.lang.NullPointerException at io.selendroid.server.model.internal.WebViewHandleMapper.getWebViewByHandle(WebViewHandleMapper.java:49) at io.selendroid.server.model.SelendroidWebDriver.in它(SelendroidWebDriver.java:310) 在io.selendroid.server.model.SelendroidWebDriver。(SelendroidWebDriver.java:87)
任何人都可以幫忙。
感謝, Dheeraj
你使用的是什麼版本的selendroid。 你可以試試這個。這將輸出所有的窗口。檢查是否沒有多個網頁瀏覽。 String nr = driver.getWindowHandles()。toString(); \t \t \t System.out.print(nr); –