我不允许在程序中使用FileUtils,这样做时会显示错误。甚至没有显示导入此预定义类的建议。我尝试搜索解决方案,但我找到的是导入类。但在我的情况下,甚至没有显示导入任何类的建议。将鼠标悬停在“FileUtils”上会显示创建FileUtils类/接口的建议。以下是我的代码:
package captureScreenshot;
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils; //Getting Error at this line
import org.openqa.selenium.By;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
import com.google.common.io.Files;
public class FacebookScreenshot {
@Test
public void captureScreenshot() throws IOException
{
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.get("https://www.facebook.com");
driver.findElement(By.xpath("//input[@name='firstname']")).sendKeys("Anil Kumar");
TakesScreenshot ts = (TakesScreenshot) driver;
File source = ts.getScreenshotAs(OutputType.FILE);
FileUtils.copyfile(source,new File("./Screenshots/facebook.png")); //Getting error at this line
driver.quit();
}
}
5条答案
按热度按时间4urapxun1#
文件实用程序类
FileUtils
类在org.apache.commons.io.FileUtils中定义,在以下方面提供 * 常规文件操作实用程序 *:默认情况下,org.apache.commons.io与selenium-server-standalone-x.y.z捆绑在沿着,可以随时使用。
但您观察到的行为与您的 * 用例 * 非常相似,您在该用例中提到 * 不允许您在程序中使用FileUtils。它可能是下面提到的两种情况之一:
由于上面提到的原因,当你在程序中提到FileUtils时,它不会显示任何导入类的建议。而且,如果你强制提供导入,它会在该行显示错误。
kxeu7u2r2#
行
FileUtils.copyFile();
已更新为FileHandler.copy()
de90aj5v3#
是的,对于Selenium最新版本,我们应该使用 FileHandler.copy() 它工作正常,不会抛出任何错误。
v440hwme4#
从以下位置下载Maven commons-io jar:https://mvnrepository.com/artifact/commons-io/commons-io并将jar添加到项目中的构建路径
nfs0ujit5#
在上面的文件处理器中.copy(scrFile,新建文件(“\screenshot.png”));此处为copy -未定义类型FileHandler的方法copy(File,File)