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

May*_*aya 6 selenium-webdriver

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

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

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

没有找到摘要.

我想为这个场景创建一个自动化测试.

我正在尝试编写像changeUrlGuid(),getUrlGuid()等等的方法.但是如何使用Selenium Webdriver获取url文本?

riz*_*lp1 8

您可以使用getCurrentUrl()方法获取加载页面的当前URL.

String url = webdriver.getCurrentUrl();
Run Code Online (Sandbox Code Playgroud)

然后,你所要做的就是用一个新的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);
Run Code Online (Sandbox Code Playgroud)

- 编辑 -

现在,在浏览器中加载这个新URL.

webdriver.get(newUrl);
Run Code Online (Sandbox Code Playgroud)