所以我一直在研究一个简单的自动化框架,它使用 excel 作为数据池。但是,在更新我的 pom.xlm 版本时,我在控制台中遇到了这个错误。
Cleaning up unclosed ZipFile for archive C:<workspace repo>\ExcelFile.xlsx
我不知道出了什么问题。此错误不会停止执行,我的测试运行顺利。我怎么可能解决这个问题。我找不到与此相关的任何内容。
以下是依赖项:
<dependencies>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
<version>1.4.01</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-contrib</artifactId>
<version>3.7-beta3</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.3</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>com.relevantcodes</groupId>
<artifactId>extentreports</artifactId>
<version>2.41.2</version>
</dependency>
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports</artifactId>
<version>3.1.5</version> …
Run Code Online (Sandbox Code Playgroud) 我知道,在等待DOM
尚未出现的网络元素方面,最有效的是流畅的等待.所以我的问题是:
有没有办法处理和捕获NoSuchElementException
流利的等待可能抛出的或任何异常因为元素不存在?
我需要一个布尔方法,它会给我结果是否找到元素.
这种方法在网上很流行.
public void waitForElement(WebDriver driver, final By locator){
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(60, TimeUnit.SECONDS)
.pollingEvery(2, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class);
wait.until(new Function<WebDriver, WebElement>() {
public WebElement apply(WebDriver driver) {
return driver.findElement(locator);
}
});
}
Run Code Online (Sandbox Code Playgroud)
我需要的是,**.ignoring(NoSuchElementException.class);**
不会被忽视.一旦捕获到异常,它将返回FALSE.另一方面,当找到元素时,它将返回TRUE.
java selenium-chromedriver selenium-webdriver nosuchelementexception fluentwait