2017-09-05 18 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;