webdriver 視窗切換

來源:互聯網
上載者:User

標籤:blog   class   code   java   ext   c   

1.通過瀏覽器的控制代碼來操縱視窗,得到控制代碼的方法

?
1 2 3 4 public String getWindowHandle(){     String currentWindow = driver.getWindowHandle();     return currentWindow; }

  

2.切換到最新的視窗

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 public void switchToNewWindow(){     //得到當前控制代碼 String currentWindow = driver.getWindowHandle();     //得到所有視窗的控制代碼     Set<String> handles = driver.getWindowHandles();           //排除當前視窗的控制代碼,則剩下是新視窗     Iterator<String> it = handles.iterator();     while(it.hasNext()){         if(currentWindow == it.next())  continue;         driver.switchTo().window(it.next());           }       }

 

3.切換到特定的視窗

 

?
1 2 3 public void switchToOneWindow(String windowHandle){     driver.switchTo().window(windowHandle); }

  

4.舉例:

開啟頁面A,點擊A頁面的連結在新視窗開啟頁面B,驗證B頁面後關閉之,轉回到A頁面

?
1 2 3 4 5 6 7 8 9 10 11 12         open("URLA");//開啟頁面A         String w1 = getWindowHandle(); //得到頁面A的控制代碼   assertTrue(isElementPresent("//*[contains(.,‘歡迎來到‘)]"),"首頁開啟失敗"); //校正A頁面元素   stepInfo("3.點選連結"); clickByLink("URLB"); switchToNewWindow();//切換到頁面B assertTrue(isElementPresent("//*[contains(.,‘您好,歡迎來到‘)]"),"開啟失敗"); close();//關閉頁面B   switchToOneWindow(w1); //返回A

 註:上面的open, clickByLink, close都是封裝了webDriver操作的方法,比較簡單的

?
1 2 3 4 5 6 7 8 9 10 11 12 public void open(String url){     driver.get(url); }     public void clickByLink(String text){     driver.findElement(By.linkText(text)).click(); }   public void close(){     driver.close(); }

  

歡迎光臨嬌嬌家的美衣閣 http://shop105984718.taobao.com/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.