webdriver getCurrentUrl添加符号" /"在URL的末尾

时间:2018-03-26 13:45:45

标签: java selenium selenium-webdriver webdriver selenium-chromedriver

大家好日子!

我写了一个测试来检查网站重定向。 WebDriver打开错误的URL,站点后端应重定向到正确的地址。

实施例: 已打开的网址: http://lenal.eu 预期网址: https://lenal.eu

在浏览器命令行中,我看到重定向后的正确地址。 但 getCurrentUrl 返回地址为" /"在URL的末尾和测试失败。 我尝试过从metatag链接获取当前网址rel =" canonical"但是" /"

收到了相同的结果
@Test(dataProvider = "Links collection", dataProviderClass = RedirectParser.class)
public void redirects(String execUrl, String expUrl) throws IOException {
    //System.out.println(execUrl+"======"+expUrl);
    open(execUrl);
    System.out.println("Executed URL: "+execUrl+" Actual page URL: "+url() + " Expected page URL: "+expUrl);
    System.out.println($(byXpath("/html/head/link[@rel='canonical']")).getAttribute("href"));
}

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

这就是网络运作的方式。没有像http://example.com总是http://exampe.com/,因为从服务器请求的路径是/

浏览器会显示没有/的网址,但/仍在那里

location

查看浏览器如何显示https://stackoverflow.comdocument.location.hrefhttps://stackoverflow.com/。这只是javascript,甚至还没有selenium进入图片。因此,不要因此而责备硒。这是预期的行为