2016-09-27 7 views
2

Meine FireFox Version 49.0.1 Selen Version eingestellt werden Java: 8.0.1010.13 Ich habe alle vorhandenen Selenium Jar Files durch die neuen Dateien ersetzt. Hinzugefügt wurde den gecko.Driver zu meinen Code noch diese Nachricht Ich sehe:Selen Java - java.lang.IllegalStateException: Selen-java-3.0.0-beta3 : Der Pfad zum Treiber ausführbar ist vom webdriver.gecko.driver Systemeigenschaft

Fehlermeldung: java.lang.IllegalStateException: Der Pfad zum Treiber ausführbar ist vom webdriver.gecko.driver Systemeigenschaft festgelegt werden;

Mein Code:

import java.util.concurrent.TimeUnit; 
import org.junit.After; 
import org.junit.Before; 
import org.junit.Test; 
import org.openqa.selenium.By; 
import org.openqa.selenium.Keys; 
import org.openqa.selenium.JavascriptExecutor; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

public class AbstractPage { 
WebDriver Driver =new FirefoxDriver(); 

@Before 
public void Homescreen() throws InterruptedException 
{ 
    System.getProperty("Webdriver.gecko.driver", "C:/geckodriver.exe"); 
    System.setProperty("Webdriver.firefox.bin", "C:/Program Files (x86)/Mozilla Firefox/firefox.exe");  
    Driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
    Driver.get("URL"); 
    Driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
} 

@After 
public void TestComplete() { 
    Driver.close(); 
} 

@Test 
public void Projects() { 
    Driver.findElement(By.id("login-form-username")).sendKeys("Login"); 
    Driver.findElement(By.id("login-form-password")).sendKeys("Password"); 
    Driver.findElement(By.id("quickSearchInput")).sendKeys("ID"); 

     } 

}

+0

Dekomprimieren der Gecko-Treiber verwendet, und geben Sie die komplette Pfad zur system.property –

Antwort

0

Sie können main() Methode aus dem Code entfernen. Entpacken Sie den Gecko-Treiber und speichern Sie ihn mit dreses.exe auf Ihrem lokalen System.

meine Probe Classpath ist

G: \ ravik \ Ravi-Ausbildung \ Selenium \ Marionette für firefox \ wires.exe

public class AbstractPage 
{ 
WebDriver Driver; 
System.setProperty("WebDriver.gecko.Driver", "C:\\TEMP\\Temp1_geckodriver-v0.10.0-win64.zip"); 
Driver=new FirefoxDriver(); 
@Before 
public void Homescreen() throws InterruptedException 
{ 

    Driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
    Driver.get("https://QualityAssurance.com"); 
    Driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
    Driver.findElement(By.id("login-form-username")).sendKeys("Login"); 
    Driver.findElement(By.id("login-form-password")).sendKeys("Password"); 
    //JavascriptExecutor js = (JavascriptExecutor) Driver; 
    //js.executeScript("document.getElementById('login-form-password').setAttribute('value', val);"); 
} 

@After 
public void TestComplete() { 
    Driver.close(); 
} 

@Test 
public void Projects() { 
    Driver.findElement(By.id("quickSearchInput")).sendKeys("WMSSE-229"); 
0

ersetzen Sie bitte unterhalb der Linie

System.setProperty("WebDriver.gecko.Driver", C:\\TEMP\\Temp1_geckodriver-v0.10.0-win64.zip"); 

Sie sollte geckodriver.exe nicht Zip-Datei übergeben.

String driverPath = "F:/Sample/Selenium3Example/Resources/"; 
System.setProperty("webdriver.firefox.marionette", driverPath+"geckodriver.exe"); 

Sie können Ihren Code hier sauberer machen.

0

Sie müssen etwas tun:

System.setProperty("webdriver.gecko.driver", "C:/geckodriver.exe"); 
System.setProperty("webdriver.firefox.bin", "C:/Program Files (x86)/Mozilla Firefox/firefox.exe"); 

Dieses ein funktionierendes Beispiel ist es Ihnen den Kontext machen wissen, was die oben genannten Code-Schnipsel

package selenium; 

import static org.junit.Assert.fail; 

import java.util.concurrent.TimeUnit; 

import org.junit.After; 
import org.junit.Before; 
import org.junit.Test; 
import org.openqa.selenium.Alert; 
import org.openqa.selenium.By; 
import org.openqa.selenium.NoAlertPresentException; 
import org.openqa.selenium.NoSuchElementException; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

public class Junit4FirefoxJava { 

    private WebDriver driver; 
    private String baseUrl; 
    private boolean acceptNextAlert = true; 
    private StringBuffer verificationErrors = new StringBuffer(); 

    @Before 
    public void setUp() throws Exception { 
     System.setProperty("webdriver.gecko.driver", "C:/geckodriver.exe"); 
     System.setProperty("webdriver.firefox.bin", "C:/Program Files (x86)/Mozilla Firefox/firefox.exe"); 
     driver = new FirefoxDriver(); 
     baseUrl = "http://www.bing.com/"; 
     driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 
    } 

    @Test 
    public void testJunit4IeJava() throws Exception { 
     driver.get(baseUrl + "/"); 
     driver.findElement(By.id("sb_form_q")).click(); 
     driver.findElement(By.id("sb_form_q")).clear(); 
     driver.findElement(By.id("sb_form_q")).sendKeys("NTT data"); 
     driver.findElement(By.id("sb_form_go")).click(); 
     driver.findElement(By.linkText("NTT DATA - Official Site")).click(); 
     driver.findElement(By.id("js-arealanguage-trigger")).click(); 
     driver.findElement(By.linkText("Vietnam - English")).click(); 
     driver.findElement(By.id("MF_form_phrase")).clear(); 
     driver.findElement(By.id("MF_form_phrase")).sendKeys("internet"); 
     driver.findElement(By.cssSelector("input.search-button")).click(); 
    } 

    @After 
    public void tearDown() throws Exception { 
     driver.quit(); 
     String verificationErrorString = verificationErrors.toString(); 
     if (!"".equals(verificationErrorString)) { 
      fail(verificationErrorString); 
     } 
    } 

    private boolean isElementPresent(By by) { 
     try { 
      driver.findElement(by); 
      return true; 
     } catch (NoSuchElementException e) { 
      return false; 
     } 
    } 

    private boolean isAlertPresent() { 
     try { 
      driver.switchTo().alert(); 
      return true; 
     } catch (NoAlertPresentException e) { 
      return false; 
     } 
    } 

    private String closeAlertAndGetItsText() { 
     try { 
      Alert alert = driver.switchTo().alert(); 
      String alertText = alert.getText(); 
      if (acceptNextAlert) { 
       alert.accept(); 
      } else { 
       alert.dismiss(); 
      } 
      return alertText; 
     } finally { 
      acceptNextAlert = true; 
     } 
    } 

} 
Verwandte Themen