2014-01-07 61 views
1

我想验证的图像是在类属性这里是代码片段来验证图像..如何在硒网络驱动程序类的属性

<img class="sprite edit-adv-icon" alt="Master" src="http://images/spacer.png"> 

and class property like below : 

.edit-adv-icon { 
    background-position: -689px -2px; 
    display: inline-block; 
    vertical-align: middle; 
    width: 35px;`enter code here` 
} 
icon-s...-v1.css (line 41) 
.sprite { 
    background: url("../images/icon-sprite-v1.png") repeat scroll 0 0 rgba(0, 0, 0, 0); 
} 
+0

尝试WebElement上的getCssValue()方法。以[本文](http://stackoverflow.com/questions/16337043/selenium-webdriver-getcssvalue-not-returning-anything-for-background-repeat-x)为例。 – radimpe

+0

是的,但“icon-sprite-v1.png”这个文件是图像集,我想验证它的特定图像....... –

+0

所以真正的问题是,你想让硒验证哪部分的精灵实际上是可见的,而不是图像(精灵)是否可见。不要相信你可以用硒来做到这一点,因为你实际上想要根据图像而不是元素进行比较。 – radimpe

回答

1

您可以使用WebDriver#getCssValue方法中提到的该评论并断言返回的值。因此,举例来说,如果你想查询display财产

String displayValue = driver.findElement(By.className("sprite edit-adv-icon")) 
    .getCssValue("display"); 
Assert.assertEquals("inline-block", displayValue); 
0

有一个问题我已经能够做到这一点是下面提到的逻辑

WebElement image = driver.findElement(By.id("xyz")); 
String src = image.getAttribute("src"); 
return src.endsWith("image_true.png"); 

希望这有助于方式。

0

提取“src”属性并以编程方式执行HTTP GET。然后,您可以声明响应代码和内容类型

+0

这不是Selenium的工作原理! – radimpe

+0

我认为你需要证明你的评论。 –