2016-10-31 4 views
0

eigentlich ich kämpfe beim Versuch, Standard-Webdriver für Gelassenheit zu ändern. Eigentlich möchte ich meinen Test auf Selen Grid durchführen. dann füge ich den folgenden Code für die Klasse hinzu, die das PageObject erweitert:Konfigurieren Standard WebDriver Serenity Jbehave

aber es funktioniert nicht. Es gibt Fehler Nullzeiger Ausnahme. bitte jemand gibt mir Ratschläge, wie Selen Grid auf Serenity einrichten? Vielen Dank.

java.lang.NullPointerException 
at testSeleniumGrid.pages.DictionaryPage.setProfileFirefox(DictionaryPage.java:70) 
at testSeleniumGrid.steps.serenity.EndUserSteps.is_the_home_page(EndUserSteps.java:35) 
at testSeleniumGrid.steps.serenity.EndUserSteps$$EnhancerByCGLIB$$6d97ef9c.CGLIB$is_the_home_page$3(<generated>) 
at testSeleniumGrid.steps.serenity.EndUserSteps$$EnhancerByCGLIB$$6d97ef9c$$FastClassByCGLIB$$53eb4f32.invoke(<generated>) 
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) 
at net.thucydides.core.steps.StepInterceptor.invokeMethod(StepInterceptor.java:348) 
at net.thucydides.core.steps.StepInterceptor.executeTestStepMethod(StepInterceptor.java:333) 
at net.thucydides.core.steps.StepInterceptor.runTestStep(StepInterceptor.java:308) 
at net.thucydides.core.steps.StepInterceptor.testStepResult(StepInterceptor.java:130) 
at net.thucydides.core.steps.StepInterceptor.intercept(StepInterceptor.java:57) 
at testSeleniumGrid.steps.serenity.EndUserSteps$$EnhancerByCGLIB$$6d97ef9c.is_the_home_page(<generated>) 
at testSeleniumGrid.steps.DefinitionSteps.givenTheUserIsOnTheWikionaryHomePage(DefinitionSteps.java:17) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at org.jbehave.core.steps.StepCreator$ParametrisedStep.perform(StepCreator.java:595) 
at org.jbehave.core.embedder.StoryRunner$FineSoFar.run(StoryRunner.java:566) 
at org.jbehave.core.embedder.StoryRunner.runStepsWhileKeepingState(StoryRunner.java:546) 
at org.jbehave.core.embedder.StoryRunner.runScenarioSteps(StoryRunner.java:510) 
at org.jbehave.core.embedder.StoryRunner.runStepsWithLifecycle(StoryRunner.java:476) 
at org.jbehave.core.embedder.StoryRunner.runCancellable(StoryRunner.java:336) 
at org.jbehave.core.embedder.StoryRunner.run(StoryRunner.java:239) 
at org.jbehave.core.embedder.StoryRunner.run(StoryRunner.java:182) 
at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:266) 
at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:233) 
at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at java.lang.Thread.run(Thread.java:745) 
+0

Können Sie bitte die komplette Stack-Trace teilen? –

+0

getan hinzufügen Stack-Spur – Hendrione

+0

@KrishnanMahadevan – Hendrione

Antwort

1

Wenn Sie in einem lokalen Modus heißt arbeiten, mit dem Grid nicht, für Sie in der Lage sein, den Browser zu wechseln passieren Sie lediglich den Browser Geschmack über das JVM-Argument -Dwebdriver.driver=chrome. Bitte stellen Sie sicher, dass Sie entsprechende Treiberbinärdateien haben [IEDriverServer.exe (für Internet Explorer), ChromeDriver.exe (für Chrome) und Geckodriver.exe (für neuere Versionen von Firefox und wenn Selenium 3.0.1 verwendet wird)

If Sie verwenden ein Selenium Grid, wobei der Grid Node (nicht der Grid Hub) auf einer anderen Maschine läuft, sagen wir, Sie starten Ihre Serenity Tests von MachineA und Ihr Grid Node läuft auf MachineC, bitte stellen Sie sicher, dass Sie dies getan haben Der Speicherort der IEDriverServer/ChromeDriver/GeckoDriver-Binärdateien wurde in die Umgebungsvariable PATH von MachineC (dh der Computer, auf dem der Selenium-Knoten ausgeführt wird) hinzugefügt.

Weitere Anweisungen zum Einrichten der Binärdatei und zum Arbeiten damit.

Damit Sie in der Lage sein, Ruhe zu verwenden und es zu einem Rasterpunkt Sie müssten das JVM-Argument verwenden -Dwebdriver.remote.url=http://GridIp:GridPort/wd/hub

Wenn Sie nach einigen Gattungen suchen l Anweisungen zum Einrichten der Selenium Grid und die Arbeit mit ihm beachten Sie bitte die folgenden Links:

Alle Argumente für Serenity finden sich in ThucydidesSystemProperty.java. Die Übersetzungslogik scheint die Enum in Kleinbuchstaben zu ändern, ersetzen Sie alle - durch eine .

+0

danke es war eine vollständige antwort: D – Hendrione

Verwandte Themen