繁体   English   中英

使用Selenium / webdriver声明元标记(java)

[英]Asserting Meta Tags using Selenium/webdriver (java)

我有以下的html片段:

<head>
<meta name="twitter:card" content="summary"></meta>
</head>

使用Selenium Webdriver(Cucumber),我有以下似乎不起作用的代码:

    @and("^Meta is being checked with property \"([^\"]*)\"$")
    public void check_meta(String property) throws Throwable {
    String meta = driver.findElement(By.xpath("//meta[contains(text(), \"" + property + "\")]")).getText();
    Assert.assertTrue(meta.contains(property));
}

我正在尝试断言twitter:card是否存在,但是现在它给了我断言错误。 我究竟做错了什么? 正确的定义是什么?

您的xpath正在检查meta标签的text() text()将返回块中的内容。

<meta ....></meta>
          /\  It will return what's in here.

您想要的是验证meta content属性。

尝试:

Assert.assertTrue(
    driver.findElements(By.cssSelector("meta[name='twitter\\:card']")).size() > 0
);

这将验证<meta name="twitter:card" ... />是否存在,但不检查内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM