如何在方法外访问属性文件?

时间:2018-12-09 04:43:54

标签: java selenium

我创建了一个PropertyFile方法并将文件加载到那里。我想用另一种方法来访问它。我该怎么办?

public class Login {


void PropertyFile() throws IOException{
Properties objprop = new Properties();
FileInputStream objfile = new FileInputStream(System.getProperty("C:\\ejagruti-Automation\\mm_finsys\\ejagruti\\src\\test\\resources")+"\\xpath.properties");
objprop.load(objfile);
}
//When user opens the "firefox" browser
void OpenBrowser(String browsername) throws IOException {
    // TODO Auto-generated method stub
    System.setProperty("webdriver.chrome.driver",config.getParameterValue("chrome_driver_exe_path_32bit"));
    config.driver=new ChromeDriver();
}
Login loginpage = null;
public void EnterUserName(String username){
    config.driver.findElement(By.xpath(objprop.getProperty("objUserName"))).sendKeys("dummycfo");

}

我在config.driver.findElement(By.xpath( objprop .getProperty ....

2 个答案:

答案 0 :(得分:0)

如果再次需要属性文件,请将objprop移为一个字段(见下文),并在PropertyFile()之前调用EnterUserName()方法

public class Login {
Properties objprop;

void PropertyFile() throws IOException{
    objprop = new Properties();

如果需要一次,另一种选择是将属性文件返回到PropertyFile()

  Properties PropertyFile() throws IOException{
   Properties objprop = new Properties();
   FileInputStream objfile = new 
   FileInputStream(System.getProperty("C:\\ejagruti-Automation\\mm_finsys\\ejagruti\\src\\test\\resources")+"\\xpath.properties");
   objprop.load(objfile);
   return objprop;
 }

 public void EnterUserName(String username){
  objprop = PropertyFile();
  config.driver.findElement(By.xpath(objprop

方法(构造函数除外)的名称应以小写字母开头,以区别于类,例如将EnterUserName()更改为enterUserName()

答案 1 :(得分:0)

如果您有main方法或driver方法,请从propertyFile()方法获得属性并将其存储在局部变量中。将此属性作为参数传递给enterUserName()方法。

public void yourMainOrDriverMethod()
{
    Properties objprop = propertyFile();
    enterUserName(username, objprop);
}

public void enterUserName(String username, Properties objprop){
   //Your code
}

这将使enterUserName()方法可通过任何属性进行测试。