我需要测试以下 HTML 代码和该页面的 CSS 是否会生成一个red
和line-through
价格,例如:
<div class="listOldPrice">
<span>
<span class="wasPriceEuroDestination">€ </span>
719.
<b>-</b>
</span>
</div>
我可以用 Selenium 做到这一点吗?如何?
我需要测试以下 HTML 代码和该页面的 CSS 是否会生成一个red
和line-through
价格,例如:
<div class="listOldPrice">
<span>
<span class="wasPriceEuroDestination">€ </span>
719.
<b>-</b>
</span>
</div>
我可以用 Selenium 做到这一点吗?如何?
这是 Ruby 解决方案:
price = @driver.find_element(:class, 'wasPriceEuroDestination')
assert_equal(true, price.displayed?)
assert_equal("rgba(255, 0, 0, 1)", price.css_value('color'))
assert_equal("line-through", price.css_value('text-decoration'))
这通常由一个类处理。由于类不是最漂亮的匹配,因为它们不是很独特,很难给你一个完整的选择器,但我会放一些占位符:
在 Java 中,您可以执行以下操作:
assertTrue(driver.findElement(By.cssSelector("div#someParentOfThatPrice div.listOldPrice")).isDisplayed());
如果此测试失败,则意味着它找不到元素,因此,它没有被划掉。