spring - 如何使用mockMvc、.andExpect() 和 xpath 测试具有给定 id 属性的 <div> 是否具有给定链接?

标签 spring xpath matcher mockmvc

我不太熟悉使用mockMvc测试 View ,并且我很难在网上找到相关 Material 。如果您知道任何好的教程,请在这里分享,我将非常感激。

假设页面有:

<div id='foo'>
    <p>Some text</p>
    <a href="path"></a>
</div>

如何检查 id 为“foo”的 div 元素是否具有 href="path"的元素?

我失败的尝试:

@Test
public void testPage() {
    mockMvc.perform(
        get("/page"))
        .andExpect(xpath("//div[@id='foo']//a[contains(@href,'/path')]"));
}

这对我不起作用,因为我在 .andExpect() 下收到错误 - “将参数 1 转换为 ResultMatcher”

请问有人可以告诉我如何测试吗?

最佳答案

这是测试具有给定 id 属性的 div 是否具有给定链接的正确方法(我缺少 .exists()):

  mockMvc.perform(
            get("/page"))
            .andExpect(
                    xpath("//div[@id='foo']//a[contains(@href,'/path')]")
                    .exists());

关于spring - 如何使用mockMvc、.andExpect() 和 xpath 测试具有给定 id 属性的 <div> 是否具有给定链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55185580/

相关文章:

javascript - 无法使用 Angular JS 和 spring MVC 打开下载文件

java - 如何从 Java 中的 Matcher 获取多个正则表达式组?

java - `Object` 方法 : `toString` ,、 `equals` 和 `hashCode` 中延迟加载的实体

java - 模板解析时发生错误(模板: "class path resource [templates/addWunsch.html]")

python - 如何从html中提取数字?

php - 用于选择没有其子节点的节点的 Xpath

ruby - 维基媒体转储上的 xpath 最后链接

Scala Specs2 Mockito : Argument matchers with complex types

nlp - 如何使用动词时态/语气制作宽敞的匹配器模式?

java - Java Spring 框架中保存上传图像的文件夹的位置