【问题标题】:XpathResultMatchers xpath - find element by class attributeXpathResultMatchers xpath - 按类属性查找元素
【发布时间】:2019-05-08 01:20:24
【问题描述】:

我使用 MoskMvc 来测试 SpringBoot web-application;因此,需要按类在生成的html页面上找到一个元素,但我不能通过id,找到它没有问题。

html 示例:

<div class="col-sm-4 py-2" data-id="10">
    <div class="card h-100 my-3 border border-info rounded">
        <p class="card-header text-muted">
                <a class="btn" href="/user-messages/1?message=10">10</a>
        </p>
        <div class="card-body m-2">
            <p class="card-text text">test text</p>
            <p class="card-text tag">#testtag</p>
        </div>
        <p class="card-footer text-muted">
            <a href="/user-messages/1">admin</a>
        </p>
    </div>
</div>

这部分代码不错:

.andExpect(xpath("//div[@id='message-list']/div[@data-id=10]/div/p").exists());

但是这段代码找不到元素

.andExpect(xpath("//div[@id='message-list']/div[@data-id=10]/div/p[@class=\"card-text text\"]").exists());

带有错误信息

java.lang.AssertionError: XPath //div[@id='message-list']/div[@data-id=10]/div/p[@class="card-text text"] does not exist

我哪里错了?

【问题讨论】:

  • 是您在p[@class=\"card-text text\"]" 中使用` while checking @class 值的任何原因@ 更新如`p[@class='card-text text']"' 然后尝试一次
  • 它没有帮助...

标签: html unit-testing xpath mocking spring-boot-test


【解决方案1】:

检查一次希望会有所帮助:

.andExpect(xpath("//div[@id='message-list']/div[@data-id=10]/div/p[@class='card-text text']").exists());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 2010-10-06
    • 2010-10-16
    • 2012-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多