2017-07-25 74 views
0

我想在沒有主要方法的類中創建webdriver對象引用。它不允許我創建對象。最後,我想用一個實例,它是不工作(不識別驅動器)無法創建webdriver對象引用

public class LoginPage 
{ 
    public static WebDriver driver; 
    static ResourceLoader loader = new ResourceLoader(); 

    public static String loginVerify(String username, String password) 
    { 
     System.out.println("navigated to loginvarify() :: "); 
     logger.info("username is "+username); 
     logger.info("password is "+password); 
     try 
     { 
      driver.findElement(By.id(loader.getProperty(Constants.UserName))).sendKeys(username); 
     } 

請幫我

+0

Selenium Version,Browser Type&Version please。 – DebanjanB

+0

selenium 53.0,FF 39.0 –

+1

你在哪裏實例化'公共靜態WebDriver驅動程序;'? –

回答

0
public class LoginPage 
    { 
    System.setProperty("webdriver.chrome.driver", "src/main/resources/drivers/osx/chromedriver"); // path to your chrome driver 
     public static WebDriver driver = new ChromeDriver(); 
     static ResourceLoader loader = new ResourceLoader(); 

     public static String loginVerify(String username, String password) 
     { 
      System.out.println("navigated to loginvarify() :: "); 
      logger.info("username is "+username); 
      logger.info("password is "+password); 
      try 
      { 
       driver.findElement(By.id(loader.getProperty(Constants.UserName))).sendKeys(username); 
      } 

我已經更新了你的代碼,仔細查閱你缺少你驅動程序初始化。我已經初始化爲chromeDriver(),如果您使用的是Firefox,請相應地初始化它。

System.setProperty( 「webdriver.chrome.driver」, 「SRC /主/資源/驅動/ OSX/chromedriver」); //路徑到Chrome 驅動

如果不具有鉻司機,請下載並把它放在你的目錄路徑,並相應地傳遞路徑參考。 https://sites.google.com/a/chromium.org/chromedriver/downloads

讓我知道你是否仍然面臨任何問題或任何不清楚。

0

WebDrvier driver = new FireFoxDriver(); //驅動初始化 driver.FindElement(By.Id(IdName)); //通過UI中的ID查找元素

+0

在你初始化驅動程序的地方分享你的完整代碼,以便我們可以找到你爲什麼會得到異常 –

0

您可以使用System.setProperty(「webdriver.chrome.driver」,「C:\ Spring Workspace \ chromedriver \ chromedriver.exe」)來定義您的chrome驅動程序路徑。 //你的chrome驅動程序的路徑,或者你可以在環境變量中定義路徑,這樣你就不必一次又一次地使用這個setProperty代碼......如果你使用的是firefox驅動程序比不需要定義任何setProperty因爲它已經在org.openqa.selenium.firefox.FirefoxDriver裏面定義過了....