Configure Default WebDriver Serenity Jbehave

Hendrione

actually I am struggling when trying to change default webdriver for serenity. actually I want to run my test on selenium grid. then I add the following code on class that extends PageObject :

    DesiredCapabilities cap = DesiredCapabilities.firefox();
    cap.setPlatform(Platform.WINDOWS);
    cap.setCapability("marionette",false);
    ProfilesIni profile = new ProfilesIni();
    FirefoxProfile ffprofile = profile.
            getProfile("JbehaveProfile");
    cap.setCapability(FirefoxDriver.PROFILE, ffprofile);
    //cap.setVersion("46.0.1");
    URL url = new URL("http://localhost:4444/wd/hub");
    WebDriver driver = new RemoteWebDriver(url,cap);
    Serenity.getWebdriverManager().registerDriver(driver);
    Serenity.getWebdriverManager().setCurrentDriver(driver);

but it is not working. it giving error null pointer exception. please someone give me advice how to set up selenium grid on Serenity? thanks.

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)
Krishnan Mahadevan

If you are working in a local mode i.e., not using the Grid, for you to be able to switch browsers you merely pass the browser flavor via the JVM argument -Dwebdriver.driver=chrome. Please make sure that you have corresponding driver binaries [IEDriverServer.exe (for Internet explorer), ChromeDriver.exe (for Chrome) and Geckodriver.exe (for newer versions of Firefox and if using Selenium 3.0.1 )

If you are making use of a Selenium Grid wherein the Grid Node (Not the Grid Hub) runs on a different machine i.e., lets say you are kicking off your Serenity tests from MachineA and your Grid node is running on MachineC, please ensure that you have added the location of the IEDriverServer/ChromeDriver/GeckoDriver binaries in to your PATH environment variable of MachineC (i.e., the machine on which your Selenium node is running).

More instructions with respect to setting up the binary and working with it.

In order for you to be able to use Serenity and point it to a Grid you would need to use the JVM argument -Dwebdriver.remote.url=http://GridIp:GridPort/wd/hub

If you are looking for some general instructions on how to setup the Selenium Grid and work with it please refer to the below links :

All the arguments for Serenity are found in ThucydidesSystemProperty.java. The translation logic seems to be change the enum to lower case, replace all - with a .

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

BDD: Embedded tables with serenity and jbehave

From Dev

Serenity BDD with JBehave loading duplicate requirements

From Dev

Set PhantomJS webDriver on Serenity

From Dev

How to set up a configured embedder for use of meta filters (-skip) with Serenity, JBehave and Selenium

From Dev

serenity bdd default url with spring boot random port number

From Dev

The default value of timeouts on selenium webdriver

From Dev

Why Firefox is default browser for webdriver

From Dev

Configure Capybara to use Marionette WebDriver for Firefox

From Dev

How to configure the default automount location?

From Dev

nginx configure default error pages

From Dev

Configure default Language Level on IntelliJ

From Dev

How to configure the default automount location?

From Dev

Configure pulseaudio default input port

From Dev

Serenity properties

From Dev

Set selenium webdriver's default execution speed

From Dev

default host for facebook webdriver when not local computer

From Dev

How to configure GCC to show all warnings by default?

From Dev

How to configure default coverage runner in idea?

From Dev

Android Studio configure warnings and default fields names

From Dev

Configure default permissions for newly registered Jenkins users

From Dev

how to configure default value of html date input

From Dev

Is there a way to configure a default typemapping for the UUID type

From Dev

Disable/configure multithreading in default conda numpy

From Dev

How to configure cmake to get an executable not by default

From Dev

How to configure xvfb default installation on Jenkins startup?

From Dev

Configure Powershell to be conemu's default shell

From Dev

How to configure Chromium or Chrome with Incognito Mode as default

From Dev

how to configure default value of html date input

From Dev

Android Studio configure warnings and default fields names

Related Related

  1. 1

    BDD: Embedded tables with serenity and jbehave

  2. 2

    Serenity BDD with JBehave loading duplicate requirements

  3. 3

    Set PhantomJS webDriver on Serenity

  4. 4

    How to set up a configured embedder for use of meta filters (-skip) with Serenity, JBehave and Selenium

  5. 5

    serenity bdd default url with spring boot random port number

  6. 6

    The default value of timeouts on selenium webdriver

  7. 7

    Why Firefox is default browser for webdriver

  8. 8

    Configure Capybara to use Marionette WebDriver for Firefox

  9. 9

    How to configure the default automount location?

  10. 10

    nginx configure default error pages

  11. 11

    Configure default Language Level on IntelliJ

  12. 12

    How to configure the default automount location?

  13. 13

    Configure pulseaudio default input port

  14. 14

    Serenity properties

  15. 15

    Set selenium webdriver's default execution speed

  16. 16

    default host for facebook webdriver when not local computer

  17. 17

    How to configure GCC to show all warnings by default?

  18. 18

    How to configure default coverage runner in idea?

  19. 19

    Android Studio configure warnings and default fields names

  20. 20

    Configure default permissions for newly registered Jenkins users

  21. 21

    how to configure default value of html date input

  22. 22

    Is there a way to configure a default typemapping for the UUID type

  23. 23

    Disable/configure multithreading in default conda numpy

  24. 24

    How to configure cmake to get an executable not by default

  25. 25

    How to configure xvfb default installation on Jenkins startup?

  26. 26

    Configure Powershell to be conemu's default shell

  27. 27

    How to configure Chromium or Chrome with Incognito Mode as default

  28. 28

    how to configure default value of html date input

  29. 29

    Android Studio configure warnings and default fields names

HotTag

Archive