Java:Selenium WebElements和AssertIt给出错误结果
嗯。要么这真的很奇怪,要么我缺少一些基本的东西。我有一段代码试图断言WebElements列表不存在。如果我使用断言和<;1对于列表大小,它起作用。但我更喜欢的断言方法是assertThat。Islesson,在完全相同的情况下不起作用
守则:
@FindBy(css = "[data-e2e-selector=soknad-boks-selector]")
private List<WebElement> soknadbokser;
public void forventIngenSoknaderPaMinArbeidsflate() {
waitForelementNotVisible();
//assertThat(soknadbokser.size()).isLessThan(1); // DOES NOT WORK
assert(soknadbokser.size()<1); // WORKS
}
private void waitForelementNotVisible() {
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.invisibilityOfElementLocated(By.cssSelector("[data-e2e-selector=soknad-boks]")));
}
使用上面的assertThat时,我得到了一个意想不到的断言错误:
java.lang.AssertionError:
Expecting:
<1>
to be less than:
<1>
这怎么可能
值得一提的是,在系统从Angular6升级到最新版本之前,assertThat()在这段代码中已经使用了好几年。但这与Java的assertThat()声称零的size()等于1无关?检查变量自然会发现size()确实为零,正如断言<;1.但显然不符合assertThat()。Islesson()
共 (0) 个答案