2017-03-28 4 views
1

Ich versuche meine Selenium Skripte in Java mit JMeters WebDriver Sampler zu verwenden.Wie man Selen-Skripte in Java von jmeter ausgeführt wird?

Im Inneren des WebDriver Sampler wird die Sprache Java angewählter, und der folgende Code hinzugefügt:

package automationFramework; 

public class FirstTestCase { 

    public static void main(String[] args) { 

     // Create a new instance of the Firefox driver 
     WebDriver driver = new ChromeDriver(); 

     //Launch the Online Store Website 
     driver.get("www.google.com"); 

     // Print a Log In message to the screen 
     System.out.println("Successfully opened the website www.google.com"); 

     //Wait for 5 Sec 
     Thread.sleep(5); 

     // Close the driver 
     driver.quit(); 
    } 
} 

ich folgende Fehlermeldung bin vor:

java.net.MalformedURLException: unknown protocol: data 
at java.net.URL.<init>(URL.java:600) 
at java.net.URL.<init>(URL.java:490) 
at java.net.URL.<init>(URL.java:439) 
at com.googlecode.jmeter.plugins.webdriver.sampler.WebDriverSampler.sample(WebDriverSampler.java:80) 
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:475) 
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:418) 
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:249) 
at java.lang.Thread.run(Thread.java:745) 

jedoch in Javascripts schriftlichen Prüfungen arbeiten Alles gut.

Was ist das Problem hier? Wie man es löst?

Antwort

2

Wenn Sie den Chrome-Treiber 2.28 mit Selenium 3.x.x verwenden, müssen Sie vor dem Öffnen des Browsers den Pfad des Chrome-Treibers festlegen.

Fügen Sie diese Zeile: System.setProperty("webdriver.chrome.driver", "C:\\your_folder\\chrome.exe");

Als nächstes WebDriver driver;

Lassen Sie mich wissen, ob das Ihnen hilft.

+0

Nein, es funktioniert nicht. Der Browser erscheint, blinkt und wird gestoppt (wie zuvor). Ich denke, das ist ein Konfigurationsproblem in jmeter. –

3

Sie sollten die WebDriver-Instanz nicht instanziieren, JMeter macht es für Sie, wenn Sie das Element Chrome Driver Config zu Ihrem Testplan hinzufügen und den Pfad zur ChromeDriver-Programmdatei konfigurieren.

Sobald getan Sie in der Lage sein sollten, wie WDS.browser Stenografie zu verwenden:

WDS.sampleResult.sampleStart(); 
WDS.browser.get("http://google.com"); 
WDS.log.info("Successfully opened the website www.google.com"); 
Thread.sleep(5000); 
WDS.sampleResult.sampleEnd(); 

JMeter WebDriver Sampler Demo

auch nicht nennen quit() Methode, die WebDriver Instanz (en) wird heruntergefahren, wenn der Test sein fertig.

Siehe Using Selenium with JMeter's WebDriver Sampler, um mit der Integration von Selenium und JMeter zu beginnen.

+0

Kann ich Klassen nicht in einer geeigneten Java-Syntax definieren, das heißt, kann ich einfach meine Selen-Skripte einfügen, damit sie wie erwartet funktioniert oder die Skripte entsprechend dem Format von jmeter geändert werden müssen? –

+0

Mit WebDriver Sampler können Sie nicht. Sie können sich den [JUnit Request] (http://jmeter.apache.org/usermanual/component_reference.html#JUnit_Request) Sampler ansehen, in dem Sie volle Freiheit haben und wenn Ihre Tests JUnit-basiert sind, könnte dies der Fall sein, den Sie nicht haben sogar müssen sie ändern. Weitere Informationen finden Sie im Artikel [Verwenden von JUnit mit JMeter] (https://www.blazemeter.com/blog/how-use-junit-jmeter). –

0

Eine andere Möglichkeit, dies zu tun, ist, den Webdriver-Test in einer JAR-Datei zu extrahieren und dann mit einem Junit-Test in JMeter zu starten.

Verwandte Themen