有没有办法使用Selenium Webdriver更改URL文本?

时间:2012-10-18 21:38:08

标签: selenium-webdriver

让我们假设我正在为一些公共图书馆网站编写Selenium测试。该网站有一个登录页面。登录网站后,我看到了一系列书籍。我可以点击书名的任何链接。点击图书标题链接后,屏幕上会显示该图书的摘要,网址如下:

  

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

如果我将网址中的guid更改为某个无效的guid,则页面会显示一条消息,而不是显示摘要:

  

未找到摘要。

我想为此方案创建一个自动化测试。

我正在尝试编写changeUrlGuid()getUrlGuid()等方法。但是如何使用Selenium Webdriver获取网址文字?

2 个答案:

答案 0 :(得分:8)

您可以使用getCurrentUrl()方法获取加载页面的当前网址。

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

- 编辑 -

现在,在浏览器中加载这个新网址。

webdriver.get(newUrl);

答案 1 :(得分:2)

尝试以下方法:

 driver.current_url