我试图使用Selendroid自动化混合应用程序。
我在" 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("Hdfc@123");
Thread.sleep(3000);
WebElement loginBtn = driver.findElement(By.id("loginButton"));
loginBtn.click();
Thread.sleep(3000);
}
@AfterClass
public static void tearDown(){
selendroidServer.stopSelendroid();
driver.quit();
}
以下是错误显示。
org.openqa.selenium.WebDriverException:CATCH_ALL:java.lang.NullPointerException at io.selendroid.server.model.internal.WebViewHandleMapper.getWebViewByHandle(WebViewHandleMapper.java:49) 在io.selendroid.server.model.SelendroidWebDriver.init(SelendroidWebDriver.java:310) 在io.selendroid.server.model.SelendroidWebDriver。(SelendroidWebDriver.java:87)
任何人都可以为此提供帮助。
谢谢, Dheeraj
答案 0 :(得分:0)
在driver.switchto语句中检查WEBVIEW_01和WEBVIEW_02以及WEBVIEW。 Web视图的标识符也可以如上所示。