2012-10-18 85 views
6

假設我正在爲某些公共圖書館網站編寫Selenium測試。該網站有一個登錄頁面。登錄到網站後,我看到一本書的列表。我可以點擊書名的任何鏈接。點擊圖書標題的鏈接後,這本書的摘要dispalyed在屏幕上,而網址是一樣的東西:有沒有使用Selenium Webdriver更改URL文本的方法?

http://somePublicLibrary.com/Books/e6a9bb54-da25-102b-9a03-2db401e887ec?title=BookTitle

如果我更改URL中的GUID來一些無效guid,則不會顯示摘要,頁面會顯示一條消息:

未找到彙總。

我想爲此場景創建一個自動化測試。

我試圖寫changeUrlGuid(),getUrlGuid()等方法,但是如何使用Selenium Webdriver獲取url文本?

回答

8

你可以在頁面中使用getCurrentUrl()方法加載當前的URL。

String url = webdriver.getCurrentUrl(); 

然後,你所要做的就是用新的guid替換舊的guid。

int numOfChars = 36; 
int posOfQuestionMark = url.indexOf("?"); 
String newGuid = "..."; // put new/wrong guid value here 
String newUrl = url.substring(0, posOfQuestionMark-numOfChars)+newGuid+url.substring(posOfQuestionMark); 

- 編輯 -

現在,在瀏覽器中加載這個新的URL。

webdriver.get(newUrl); 
+2

非常感謝!你救了我的命!! – Maya

+0

感謝您的這段代碼,使我的工作變得簡單,我也有類似的問題,我必須替換部分代碼,然後發佈webdriver get請求。 – Prasad

2

嘗試以下操作:

driver.current_url 
相關問題