2012-10-18 44 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 
相关问题