已经尝试过这个解决方案,但还没有运气:
我的代码:
protected WebDriver driver;
public static Properties prop;
@BeforeSuite
public void setup()
{
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-notifications");
System.setProperty("webdriver.chrome.driver","E:\\chromedriver.exe");
driver = new ChromeDriver(options);
//Calling property file function here
ReadData();
driver.get(prop.getProperty("URL"));
}
public void ReadData()
{ prop = new Properties();
try {
prop.load(new FileInputStream("D:\\projectname\\src\\main\\resources\\DataFile.properties"));
} catch (IOException e) {
e.printStackTrace();
}}
获得例外:
java.io.FileNotFoundException
文件已经存在,我尝试过很多差异。文件路径如完整路径,路径从src
等开始。
项目结构:
更新:
.properties
扩展名时,它可以正常工作。properties
。答案 0 :(得分:2)
以下是您的问题的答案:
而不是:
prop.load(new FileInputStream("D:\\projectname\\src\\main\\resources\\DataFile.properties"));
你可以尝试:
prop.load(new FileInputStream("./src/main/resources/DataFile.properties"));
如果这回答你的问题,请告诉我。
答案 1 :(得分:1)
您需要在java中使用\\
来提供如下所示的绝对路径: -
D:\\Demo_Login\\src\\main\\resources\\DataFile.properties
您可以使用File.separator
代替\\
OR
您可以执行以下操作: -
File src=new File("src\\lib\\phantomjs\\phantomjs.exe");
System.setProperty("phantomjs.binary.path",src.getAbsolutePath());
OR
您可以使用从项目根目录中启动目录的.
来尝试类似下面的内容: -
System.setProperty("webdriver.chrome.driver","./src"+File.separator+"lib"+File.separator+"chromedriver.exe")
OR
从这样的src
开始: -
"src/main/resources/DataFile.properties"
希望它会对你有所帮助:)。