断言具有多个标记的元素的标记

时间:2016-01-07 11:25:13

标签: java html eclipse selenium tags

作为测试的一部分,我需要检查给定元素的标签和样式。该元素在页面上显示为(粗体,斜体和居中):

<p style="text-align: center;">
   <em>
       <strong>TEST</strong>
   </em>
</p>

我有一些代码来获取/断言'强'标签:

assertEquals ("strong", driver.findElement(By.xpath("//*[text()='TEST']")).getTagName()); 

如果我添加另一行来断言em标签,它会以强大的方式返回,我不知道如何通过这个

assertEquals ("em", driver.findElement(By.xpath("//*[text()='TEST']/strong")).getTagName();

此外,当我尝试以下方式获取样式属性时,它无法通过em和强标记。 (org.junit.ComparisonFailure:expected:&lt; [text-align:center;]&gt;但是:&lt; []&gt;)。 这适用于仅在p标记中具有文本和对齐的元素

assertEquals ("text-align: center;", driver.findElement(By.xpath("//*[text()='TEST']")).getAttribute("style"));

1 个答案:

答案 0 :(得分:0)

findElement会找到fix_json,因此你会得到[]

<em>TEST<em>

要使“样式”属性在assertEquals ("text-align: center;", driver.findElement(By.xpath("//*[text()='TEST']")).getAttribute("style")); 标记

处运行
<p>

要验证单个语句中的所有内容:下面使用的XPath给出了一个P居中的元素,其强调文本带有强标记。如果找到该元素,则验证了您的状况。

driver.findElement(By.xpath("//p")).getAttribute("style");