2012-07-14 64 views
0

運行Selenium測試我試圖記錄使用Selenium GUI(在Firefox)測試。該應用程序使用的圖像作爲超鏈接,如下圖所示:在新窗口

<a class="mainheading" align="center" target="_blank" href="https://myapps.web.com/prepaid/customer/index.jsp"> <img width="256" height="57" border="0" alt="customer" src="images/customer.jpg"/> </a>

現在,當我們點擊上面的圖片中,a href標籤打開另一個窗口。一旦新窗口打開,我需要在該窗口中執行其餘的測試。問題是,當我記錄測試,硒GUI有沒有辦法理解,無論動作我表演是在新的窗口。因此,即使它適當地記錄了操作,但當我運行預先記錄的測試時,出現錯誤,表示找不到該元素。我想,這是因爲硒試圖找到在原來的窗口中的元素只(而不是在得到開業,由於上述a href新窗口)。

我試過谷歌,但我得到的解決方案與我上面的情況不匹配(即a href打開一個新窗口,而不是window.open)。有人可以諮詢嗎?

謝謝。

回答

0

你會需要在執行行動之前,移動到新的窗口。對於這一點,你可以,如果你正在使用webdriver的,否則在IDE中,應該有selectwindow移動到相應的窗口,然後繼續你的行動有使用switchTo.window。

1

您可以使用驅動程序窗口句柄,像這樣:

// Get a list of window identities 
List<string> windowIdentities = driver.WindowHandles.ToList(); 

// Switch control over to the other window 
driver.SwitchTo().Window(windowIdentities[1]); 

這是用C#編寫的,但如果你在一個不同的語言寫它,它不應該是太不一樣了。讓我知道這是否適合你!