2012-10-18 26 views
6

Giả sử rằng tôi đang viết các bài kiểm tra Selenium cho một số trang web thư viện công cộng. Trang web có trang đăng nhập. Sau khi đăng nhập vào trang web, tôi thấy một danh sách các cuốn sách. Tôi có thể nhấp vào bất kỳ liên kết nào trong tiêu đề sách. Sau khi nhấp vào một liên kết tiêu đề cuốn sách, một bản tóm tắt của cuốn sách được dispalyed trên màn hình, và url là một cái gì đó như:Có cách nào để thay đổi văn bản URL bằng Selenium Webdriver không?

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

Nếu tôi thay đổi guid trong url với một số không hợp lệ guid, sau đó thay vì hiển thị tóm tắt, trang hiển thị thông báo:

Không tìm thấy tóm tắt nào.

Tôi muốn tạo thử nghiệm tự động cho trường hợp này.

Tôi đang cố gắng viết các phương thức như changeUrlGuid(), getUrlGuid(), v.v. Nhưng làm cách nào tôi có thể nhận được văn bản url bằng cách sử dụng Selenium Webdriver?

Trả lời

8

Bạn có thể lấy địa chỉ hiện tại của trang nạp bằng cách sử dụng phương pháp getCurrentUrl().

String url = webdriver.getCurrentUrl(); 

Sau đó, tất cả những gì bạn phải làm là thay thế guid cũ bằng guid mới.

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

Bây giờ, nạp url mới này trong trình duyệt.

webdriver.get(newUrl); 
+2

Cảm ơn bạn rất nhiều !!! Bạn đã cứu cuộc đời tôi!! – Maya

+0

Cảm ơn cho đoạn mã này, làm cho công việc của tôi dễ dàng, tôi đã có câu hỏi tương tự, nơi tôi đã phải thay thế một phần của mã và sau đó gửi một webdriver nhận được yêu cầu. – Prasad

2

Hãy thử như sau:

driver.current_url 
Các vấn đề liên quan