2012-10-18 12 views
6

Załóżmy, że piszę testy Selenium na stronie internetowej biblioteki publicznej. Strona ma stronę logowania. Po zalogowaniu się na stronie widzę listę książek. Mogę kliknąć dowolny link z tytułów książek. Po kliknięciu na link z tytułem książki, streszczeniem książki jest dispalyed na ekranie, a url jest coś jak:Czy istnieje sposób zmiany tekstu adresu URL za pomocą Selenium Webdriver?

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

Jeśli zmienię GUID w url do niektórych nieważny GUID, zamiast wyświetlać podsumowanie, strona wyświetla komunikat:

Nie znaleziono podsumowania.

Chciałbym utworzyć test automatyczny dla tego scenariusza.

Próbuję napisać metody takie jak changeUrlGuid(), getUrlGuid() itp. Ale jak mogę uzyskać tekst url za pomocą Selenium Webdriver?

Odpowiedz

8

można uzyskać aktualny adres URL strony ładowany za pomocą getCurrentUrl metoda().

String url = webdriver.getCurrentUrl(); 

Następnie wystarczy wymienić stary guid na nowy 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); 

--Edit--

Teraz załadować ten nowy adres URL w przeglądarce.

webdriver.get(newUrl); 
+2

Dziękuję bardzo! Uratowałeś mi życie!! – Maya

+0

Dzięki za ten fragment kodu, moja praca była łatwa, miałem podobne pytanie, w którym musiałem zastąpić część kodu, a następnie opublikować prośbę o dostęp do webdrivera. – Prasad

2

Spróbuj wykonać następujące czynności:

driver.current_url