2017-06-27 5 views
0

Ist es notwendig, einen Geckodriver jedes Mal hinzuzufügen, wenn ich einen anderen Test erstelle? Beispiel:geckodriver für viele Tests - Java

public class JUnit4 { 

    @Test 
    public void test1() { 
     System.setProperty("webdriver.gecko.driver", 
       "D:\\...\geckodriver.exe"); 
     WebDriver driver = new FirefoxDriver(); 
     driver.get("https://www.google.pl/"); 
     driver.close(); 
     } 

    @Test 
    public void test2() { 
     System.setProperty("webdriver.gecko.driver", 
       "D:\\...\geckodriver.exe"); 
     WebDriver driver = new FirefoxDriver(); 
     driver.get("https://www.google.pl/"); 
    driver.close(); 
    } 

} 

Der obige Code funktioniert.

Wenn ich einen geckodriver vor dem Testnamen einfüge, funktioniert es offensichtlich nicht. Ich habe versucht, Geckodriver Systemvariablen hinzuzufügen, aber es funktioniert auch nicht. Ich habe mir auch angeschaut, wie es mit @Before gemacht hätte, aber auch nicht funktioniert.Wenn ich den Treiber vor den Tests ziehe dann ist es ein Fehler, denn zuerst muss es geckodriver sein.

Gibt es eine Möglichkeit, trotz vieler Tests nur einmal geckodriver zu verwenden?

Danke für die Antwort

Antwort

2

Sie sollten es nur einmal in @Before definieren und Web-Treiber zu einer globalen Variable machen.

public class JUnit4 { 

public WebDriver driver; 

@Before 
    public void setup() { 
    System.setProperty("webdriver.gecko.driver", "path of the geckodriver "); 
     driver = new FirefoxDriver(); 
        } 
@Test 
public void test1() { 
    driver.get("https://www.google.pl/"); 
    } 
} 
0

jetzt Ok ich weiß, ist es ganz einfach:

, wenn Sie in den Systemvariablen nur verwenden sind „;“ im Pfad z.B.

Pfad1; Pfad2; und fügen Sie Pfad in Systemvariablen ein -> als Sie nicht jedes Mal einfügen müssen:

System.setProperty ("webdriver.gecko.driver", "C: \ ... \ geckodriver.exe");