我试图在单击其中一个链接之前验证网页子菜单中断言大于 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();
}
最佳答案
您正在比较整数和匹配器之间的相等性。您可能想要的是 Hamcrest 的 assertThat
,而不是 assertEquals
(假设您正在使用 hamcrest,看起来您正在这样做)
关于java - 如何从 WebElements 列表中获取元素数量(大小),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51868007/