有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案