2015-12-13 92 views
0

我被困在我的測試中,應用程序重定向到瀏覽器頁面進行付款。付款頁面打開後說:如何處理appium中的應用程序重定向到瀏覽器?

no such element: Unable to locate element: 

我知道該元素的id是正確的。據我所知,我無法切換到瀏覽器。
當我嘗試使用driver.switch_to.window();時,Appium出現錯誤,我猜不能在appium上運行。 (至於在Windows上的android我想,它說它尚未實現)
任何幫助將不勝感激。

回答

0

這裏,被測應用程序可以被稱爲混合應用程序其中,應用程序的業務邏輯使用Web services來處理。在這種情況下,處理付款

你很接近它,允許驅動程序轉換的東西。只有在移動應用自動化的情況下,我們有以下方法(假設你使用appium與Java):

public void appTest() throws InterruptedException{ 

      Set<String> text = ((AndroidDriver) driver).getContextHandles(); 
       System.out.println(text); 
      for (String contexts : text) { 
       if (contexts.contains("WEBVIEW_com.hk8securities.app8now")) 
       { 
      ((AndroidDriver) driver).context(contexts); 
       System.out.println(contexts); 
       } 
       else{ 
        System.out.println("not switched"); 
       } 
      } 
    } 

對於理解可用的上下文,先打印出來的控制檯,然後切換到它。 根據我的觀察,在Android中它返回NATIVE_APPWEBVIEW_WEBVIEWNAME。在iPhone中,它不提供webview/s的名稱,但僅提供WEBVIEW_1/2/3等。此外,這些數字會不斷改變您運行測試的次數。

希望這會幫助你開始。

+0

它發現第一個上下文包含WEBVIEW幾秒鐘後測試崩潰。我無法管理它,但無論如何感謝。 –

相關問題