FileUtils not showing suggestion to import predefined class for Screenshot functionality in selenium WebDriver

删除回忆录丶 提交于 2019-12-02 03:12:46

问题


I am not allowed to use FileUtils in the program and error is shown when doing so. Even no suggestion is showing to import this pre-defined Class. I tried to search the solution but what I found was to import the class. But in my case even suggestion is not showing to import any class. Hovering on the "FileUtils" shows the suggestion to create FileUtils class/interface. Below is my code:

 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();

    }

}

回答1:


FileUtils Class

FileUtils Class is defined in org.apache.commons.io.FileUtils which provides the general file manipulation utilities in the following areas :

  • writing to a file
  • reading from a file
  • make a directory including parent directories
  • copying files and directories
  • deleting files and directories
  • converting to and from a URL
  • listing files and directories by filter and extension
  • comparing file content
  • file last changed date
  • calculating a checksum

org.apache.commons.io is bundled along with selenium-server-standalone-x.y.z by default and available ready to use.

But the behavior you are observing is pretty much inline with your usecase where you mentioned that you are not allowed to use FileUtils in the program. It can be either of the scenarios as mentioned below :

  • Incase you are using JARs from selenium-java-3.9.1 client, the JAR containing org.apache.commons.io is not being added to your project.
  • Incase you are using Maven with selenium-java-3.9.1 client dependency the modules containing FileUtils Class have been excluded.

For the following above mentioned reasons, when you mention FileUtils in your program it doesn't show any suggestion to import the class. Moreover if you forcefully provide the import, it will show error on that line.




回答2:


The line FileUtils.copyFile(); has been updated to FileHandler.copy()



来源:https://stackoverflow.com/questions/49045160/fileutils-not-showing-suggestion-to-import-predefined-class-for-screenshot-funct

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!