【发布时间】:2018-03-26 13:45:44
【问题描述】:
大家好!
我写了一个测试来检查网站重定向。 WebDriver 打开错误的 URL 并且站点后端应该重定向到正确的地址。
示例: 打开网址:http://lenal.eu 预期网址:https://lenal.eu
在浏览器命令行中,我在重定向后看到正确的地址。 但是 getCurrentUrl 在 URL 末尾返回带有“/”的地址并且测试失败。 我尝试从元标记链接 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"));
}
我该如何解决这个问题?
【问题讨论】:
-
修剪我猜会起作用的角色。对于那些想知道的人,我不是 OP。我只是另一个安德鲁。
-
为什么会出现问题?那不会转到同一页面吗?
-
@Chai 这是一个问题,因为 webdriver 收到的 URL 不等于浏览器命令行中的实际 URL
-
@FlorentB。我知道如何比较几个值。不同事物的主要问题。根据 CEO 标准,所有以“/”结尾的 URL 都应重定向到没有“/”的页面
-
@Andrew 是的,我知道,但这不能解决主要问题)))
标签: java selenium selenium-webdriver webdriver selenium-chromedriver