Selenium (Java) 如何验证页面上包含 ® 符号的文本块?

问题描述 投票:0回答:1

我正在为一系列工作网页创建自动化测试。其中一项任务是验证网页底部块的文本是否符合验收标准。我们使用 Selenium 和 Java 来执行自动化测试。我可以使用 XPath 将自动化指向我想要的位置,并且可以让它读取/验证该块的一半,但我的问题是文本块在元素中的公司名称后面包含 ® 符号。网页上的元素是这样的:

<div id="alerts-message" class="dynamic-message-wrap">
   <p>
    "The first half of the legal jargon here. The company name"
    <sup>®</sup>
    " has even more legal jargon after. Or click here to view our "
   <a href="URL" target="_blank"> == $0
     "Terms&npsp;&&npbp;Conditions"
     ::after
    </a>
   </p>
</div>

我想验证一下:

“这里是前半部分法律术语。公司名称®后面还有更多法律术语。或者点击此处查看我们的条款和条件。”

当该块在页面元素中被分解时,如何使用我们的自动化来验证该块的整个文本?

我经常用

webDriver.findElement(By.xpath(<xpath>[contains(text(),"Text I'm looking to validate")]))

但这在这里不起作用,因为元素中的

<sup>®</sup>
和超链接导致了中断。有没有办法根据用户在页面上看到的文本而不是 HTML 来验证这一点?

java selenium-webdriver
1个回答
0
投票

您只需从 DIV 中提取文本,然后

Assert
它与预期的文本相同。

示例代码

String expectedText = "Whatever the expected text is";
String actualText = driver.findElement(By.id("alerts-message")).getText();

Assert.assertEquals(actualText, expectedText);
© www.soinside.com 2019 - 2024. All rights reserved.