2017-07-25 4 views
0

Ich versuche, Webdriver Objektreferenz in der Klasse zu erstellen, die keine Hauptmethode hat. Es erlaubt mir nicht, das Objekt zu erstellen. Schließlich habe ich versucht, mit einer Instanz und es nicht funktioniert (nicht identifiziert Treiber)ich kann keine webdriver Objektreferenz erstellen

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); 
     } 

Bitte helfen Sie mir

+0

Selen Version, Browser-Typ und Version bitte. – DebanjanB

+0

selen 53.0, FF 39.0 –

+1

Wo instanziieren Sie den 'public static WebDriver driver;'? –

Antwort

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); 
      } 

ich Ihren Code aktualisiert haben, Sie freundlich Ihre Treiberinitialisierung fehlen verweisen. Ich habe zu chromeDriver() initialisiert, wenn Sie Firefox verwenden, initialisieren Sie es entsprechend.

System.setProperty ("webdriver.chrome.driver", "src/main/resources/drivers/osx/chromedriver"); // Pfad zu Ihrem Chrom Treiber

Wenn Sie nicht die Chrom-Treiber haben, freundlich herunterladen und in Ihrem Verzeichnispfad setzen und den Pfad entsprechend Verweis übergeben. https://sites.google.com/a/chromium.org/chromedriver/downloads

Lassen Sie mich wissen, wenn Sie noch irgendein Problem haben oder irgendetwas nicht klar ist.

0

WebDrvier-Treiber = neu FireFoxDriver(); // Treiberinitialisierung driver.FindElement (By.Id (IdName)); // um Elemente nach ID in UI zu finden

+0

teilen Sie Ihren vollständigen Code, wo Sie den Treiber initialisieren, so dass wir finden können, warum Sie die Ausnahme erhalten –

0

Sie können Ihren Chrome-Treiberpfad mit System.setProperty ("webdriver.chrome.driver", "C: \ Spring Workspace \ chromedriver \ chromedriver.exe") definieren; // Pfad zu Ihrem Chrome-Treiber oder Sie können den Pfad in der Umgebungsvariablen definieren, so dass Sie diesen setProperty-Code nicht immer wieder verwenden müssen ...... wenn Sie den firefox-Treiber verwenden, müssen Sie keine setProperty definieren Denn es ist bereits definiert in org.openqa.selenium.firefox.FirefoxDriver ....

Verwandte Themen