2017-07-25 88 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里面定义过了....