2012-10-18 22 views
6

Bazı halk kütüphanesi web siteleri için Selenium testleri yazdığımı varsayalım. Web sitesinin bir giriş sayfası var. Web sitesine girdikten sonra bir kitap listesi görüyorum. Kitap başlıklarının herhangi bir linkini tıklayabilirim. Bir kitap başlığı bağlantısını tıkladıktan sonra kitabın bir özet ekranında dispalyed edilir ve url şey gibi: Bazı geçersiz için url guid değiştirirsenizSelenium Webdriver kullanarak URL metnini değiştirmenin bir yolu var mı?

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

guid, daha sonra, özet görüntülemek yerine, sayfa bir ileti görüntüler:

Özeti bulunamadı.

Bu senaryo için otomatik bir test oluşturmak istiyorum.

changeUrlGuid(), getUrlGuid(), vb. Gibi yöntemleri yazmaya çalışıyorum. Ama nasıl Selenium Webdriver kullanarak url metnini alabilirim?

cevap

8

Sen getCurrentUrl() yöntemini kullanarak yüklenen sayfanın geçerli URL alabilirsiniz.

String url = webdriver.getCurrentUrl(); 

Ardından, yapmanız gereken tek şey eski kılavuzu yeni bir kılavuzla değiştirmek.

--Edit--

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); 

Şimdi, tarayıcıda bu yeni url yükleyin.

webdriver.get(newUrl); 
+2

Teşekkür ederim! Hayatımı kurtardın!! – Maya

+0

Bu kod parçası için teşekkürler, çalışmamı kolaylaştırdım, benzer bir soruyu, kodun bir kısmını değiştirmek ve daha sonra bir webdriver get isteği göndermek zorunda kaldım. – Prasad

2

aşağıdaki deneyin:

driver.current_url 
İlgili konular