如何从WebElements列表中获取元素数(大小)

时间:2018-08-16 00:11:15

标签: java selenium selenium-webdriver

我正在尝试在单击链接之一之前,使用大于3个元素的断言来验证网页的子菜单中的元素数量(在本例中为链接),但是断言大小为零的错误。

@Test
public void top3NewsStoriesHoverTest()
{

    WebElement hoverNews = wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("[class^='_3EBT0 _2m2om uVwkS']")));

    Actions action = new Actions(driver);
    action.moveToElement(hoverNews).build().perform();

    List<WebElement> subMenuTopStories = driver.findElements(By.cssSelector("[class^='_1yCjv'] [class^='dHmN_']"));

    //System.out.println(subMenuTopStories.size());
    assertEquals(subMenuTopStories.size(), greaterThan(3));

    WebElement subMenu = wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[class^='dHmN_']")));
    subMenu.click();

}

1 个答案:

答案 0 :(得分:1)

您正在比较整数和匹配器之间的相等性。您可能想要的是Hamcrest的assertThat,而不是assertEquals(假设您正在使用hamcrest,看起来好像您在做)