2017-09-05 21 views
-2

请帮助属性(Java)。 如何在另一种方法中使用getProperty? 这里我也想在@Test(测试方法)中使用它。如何从其他方法使用getProperty? (Java)

其可见性受其创建方法的限制。我需要创建一个更高的对象吗?

我将非常感谢您的帮助。 谢谢!

代码:

public class Main { 

    public WebDriver driver = null; 

    @BeforeTest 
    public void login() throws IOException { 

     //Connect properties file for data driven tests. 
     Properties properties = new Properties(); 
     FileInputStream file = new FileInputStream("//Users//macbook//IdeaProjects//WebElements//src//dataDriven.properties"); 
     properties.load(file); 

     //Option to choose browser from our properties file. 
     if (properties.getProperty("browser").equals("Chrome")) { 
      System.setProperty("webdriver.chrome.driver", "/Users/macbook/Downloads/Selenium files/chromedriver"); 
      driver = new ChromeDriver(); 
     } else if (properties.getProperty("browser").equals("Firefox")) { 
      System.setProperty("webdriver.gecko.driver", "/Users/macbook/Documents/Selenium/Browser Drivers/Firefox GecoDeriver/geckodriver"); 
      driver = new FirefoxDriver(); 
     } 

     //Option to chose url from our properties file. 
     driver.get(properties.getProperty("url")); 
    } 


    @Test 
    public void test() {   
     driver.findElement(By.id("username")).clear(); 
     driver.findElement(By.id("username")).sendKeys(properties.getProperty("Username")); 

     driver.findElement(By.id("password")).clear(); 
     driver.findElement(By.id("password")).sendKeys(properties.getProperty("Password")); 

     driver.findElement(By.xpath("//*[@name = 'event_login']")).click(); 
    } 

    @AfterTest 
    public void end() { 
     driver.quit(); 
    } 
} 

回答

0

加载只在login这样做假设login叫做你想之前使用propeties然后简单地从移动的

Properties properties = new Properties(); 

范围性能的代码一个局部变量login到一个类字段,即与

public WebDriver driver = null;