2015-09-02 12 views
0

我試圖使用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

+0

你使用的是什麼版本的selendroid。 你可以試試這個。這將輸出所有的窗口。檢查是否沒有多個網頁瀏覽。 String nr = driver.getWindowHandles()。toString(); \t \t \t System.out.print(nr); –

回答

0

檢查與WEBVIEW_01和WEBVIEW_02在driver.switchto聲明的WebView一起。 網絡視圖的標識符也可以像上面那樣。

相關問題