如何检查图像是可见的(Webdriver)

时间:2016-02-01 03:07:35

标签: java html css selenium

我有一个图像在一定的宽度尺寸后变得不可见。我不确定如何使用硒进行测试。

<img id="removeimg" class="col-md-5" src="images/abc-image.png" alt="abc"> 

以下是我的css。

@media only screen and (max-width: 991px) {
#removeimg  {
    display: none;
}

我有以下测试java。但我不确定这是否正确。

@BeforeClass
public static void setUp() throws Exception {
    driver = new RemoteWebDriver(new URL(System.getProperty("webDriverUrl")), DesiredCapabilities.firefox());
    driver.manage().window().setSize(new Dimension(991, 1100));
    baseUrl = System.getProperty("baseUrl");
    driver.get(baseUrl + "/");
}

@Test
public void testImageNotPresent(){
    driver.findElements(By.id("removeimg");
  }

更新

我已经在测试java中添加了更新。

@Test
public void testImageNotPresent(){
    driver.findElement(By.id("removeimg")).isDisplayed();
    assertFalse(isElementPresent(By.id("removeimg")));
}

但跑步时失败了。如果图像没有显示在页面上,我希望它通过测试,但如果显示则会失败。

2 个答案:

答案 0 :(得分:0)

只需组合setSize()isDisplayed()

WebElement img = driver.findElement(By.id("removeimg"));

driver.manage().window().setSize(new Dimension(991, 1100));
System.out.println(img.isDisplayed()); 

driver.manage().window().setSize(new Dimension(800, 600));
System.out.println(img.isDisplayed()); 

如果您对selenium webdriver如何确定可见性感兴趣,请访问此规范:

答案 1 :(得分:0)

管理以使其正常工作。

@Test
public void testImageNotPresent(){
    WebElement img = driver.findElement(By.id("removeimg"));
    assertEquals("none", img.getCssValue("display"));
}