/bddwithcucumber-examples

Example code for BDD with Cucumber book

Primary LanguageJava

Example code for BDD with Cucumber

Will move this somewhere better once we get the examples working correctly.

The ch6-java folder has an IntelliJ IDEA 12 Community Edition project. I am using it as a sandbox for getting the Coypu-JVM examples in chapter 6 working. I added Coypu-JVM to the project by adding the dependency in the pom.xml file as described at the Coypu-JVM GitHub project at https://github.com/featurist/coypu-jvm.

When I run hello.feature (right-click and select run Feature: hello from the context menu):

src/test/resources/cucumber/examples/java/ch6/hello.feature

it works fine:

1 scenario (1 passed)
3 steps (3 passed)

However, when I run admin.feature which should create a Coypu browser instance I get the following errors:

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -Didea.launcher.port=7543 "-Didea.launcher.bin.path=/Applications/IntelliJ IDEA 12 CE.app/bin" -Dfile.encoding=UTF-8 -classpath "/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/deploy.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/dt.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/javaws.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/jce.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/jconsole.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/management-agent.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/plugin.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/sa-jdi.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/charsets.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsse.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/ui.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/apple_provider.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/dnsns.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/localedata.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/sunjce_provider.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/sunpkcs11.jar:/Users/paul/Documents/bdd-with-cucumber-examples/ch6-java/out/test/test:/Users/paul/Documents/bdd-with-cucumber-examples/ch6-java/out/production/test:/Users/paul/.m2/repository/info/cukes/cucumber-java/1.1.3/cucumber-java-1.1.3.jar:/Users/paul/.m2/repository/junit/junit/4.11/junit-4.11.jar:/Users/paul/Documents/bdd-with-cucumber-examples/ch6-java/out/test/main:/Users/paul/Documents/bdd-with-cucumber-examples/ch6-java/out/production/main:/Users/paul/.m2/repository/info/cukes/cucumber-junit/1.1.3/cucumber-junit-1.1.3.jar:/Users/paul/.m2/repository/com/rubiconproject/oss/jchronic/0.2.6/jchronic-0.2.6.jar:/Users/paul/.m2/repository/info/cukes/cucumber-core/1.1.3/cucumber-core-1.1.3.jar:/Users/paul/.m2/repository/net/featurist/coypu/0.9.1/coypu-0.9.1.jar:/Users/paul/Library/Application Support/IdeaIC12/cucumber-java/lib/cucumber-jvm-formatter.jar:/Applications/IntelliJ IDEA 12 CE.app/lib/idea_rt.jar" com.intellij.rt.execution.application.AppMain cucumber.api.cli.Main /Users/paul/Documents/bdd-with-cucumber-examples/ch6-java/src/test/resources/cucumber/examples/java/ch6/admin.feature --format org.jetbrains.plugins.cucumber.java.run.CucumberJvmSMFormatter --monochrome --glue cucumber.examples.java.ch6
Testing started at 12:02 PM ...










java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriverException
at java.lang.Class.getDeclaredConstructors0(Native Method)
  at java.lang.Class.privateGetDeclaredConstructors(Class.java:2398)
  at java.lang.Class.getConstructor0(Class.java:2708)
  at java.lang.Class.getDeclaredConstructor(Class.java:1987)
  at coypu.ActivatorDriverFactory.newWebDriver(ActivatorDriverFactory.java:12)
  at coypu.BrowserSession.<init>(BrowserSession.java:55)
  at coypu.BrowserSession.<init>(BrowserSession.java:44)
  at cucumber.examples.java.ch6.AdminStepdefs.Im_on_the_main_admin_page(AdminStepdefs.java:25)
  at ✽.Given I'm on the main admin page(/Users/paul/Documents/bdd-with-cucumber-examples/ch6-java/src/test/resources/cucumber/examples/java/ch6/admin.feature:4)
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.WebDriverException
  at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
  at java.lang.Class.getDeclaredConstructors0(Native Method)
  at java.lang.Class.privateGetDeclaredConstructors(Class.java:2398)
  at java.lang.Class.getConstructor0(Class.java:2708)
  at java.lang.Class.getDeclaredConstructor(Class.java:1987)
  at coypu.ActivatorDriverFactory.newWebDriver(ActivatorDriverFactory.java:12)
  at coypu.BrowserSession.<init>(BrowserSession.java:55)
  at coypu.BrowserSession.<init>(BrowserSession.java:44)
  at cucumber.examples.java.ch6.AdminStepdefs.Im_on_the_main_admin_page(AdminStepdefs.java:25)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at cucumber.runtime.Utils$1.call(Utils.java:44)
  at cucumber.runtime.Timeout.timeout(Timeout.java:12)
  at cucumber.runtime.Utils.invoke(Utils.java:40)
  at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:35)
  at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:38)
  at cucumber.runtime.Runtime.runStep(Runtime.java:270)
  at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:49)
  at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:43)
  at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:36)
  at cucumber.runtime.model.CucumberFeature.run(CucumberFeature.java:112)
  at cucumber.runtime.Runtime.run(Runtime.java:105)
  at cucumber.runtime.Runtime.run(Runtime.java:93)
  at cucumber.api.cli.Main.run(Main.java:20)
  at cucumber.api.cli.Main.main(Main.java:12)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)




java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriverException
  at java.lang.Class.getDeclaredConstructors0(Native Method)
  at java.lang.Class.privateGetDeclaredConstructors(Class.java:2398)
  at java.lang.Class.getConstructor0(Class.java:2708)
  at java.lang.Class.getDeclaredConstructor(Class.java:1987)
  at coypu.ActivatorDriverFactory.newWebDriver(ActivatorDriverFactory.java:12)
  at coypu.BrowserSession.<init>(BrowserSession.java:55)

1 scenario (0 passed)
  at coypu.BrowserSession.<init>(BrowserSession.java:44)

  at cucumber.examples.java.ch6.AdminStepdefs.Im_on_the_main_admin_page(AdminStepdefs.java:25)

  at ✽.Given I'm on the main admin page(/Users/paul/Documents/bdd-with-cucumber-examples/ch6-java/src/test/resources/cucumber/examples/java/ch6/admin.feature:4)

1 steps (0 passed)
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.WebDriverException


  at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
  at java.lang.Class.getDeclaredConstructors0(Native Method)
  at java.lang.Class.privateGetDeclaredConstructors(Class.java:2398)
  at java.lang.Class.getConstructor0(Class.java:2708)
  at java.lang.Class.getDeclaredConstructor(Class.java:1987)
  at coypu.ActivatorDriverFactory.newWebDriver(ActivatorDriverFactory.java:12)
  at coypu.BrowserSession.<init>(BrowserSession.java:55)
  at coypu.BrowserSession.<init>(BrowserSession.java:44)
  at cucumber.examples.java.ch6.AdminStepdefs.Im_on_the_main_admin_page(AdminStepdefs.java:25)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at cucumber.runtime.Utils$1.call(Utils.java:44)
  at cucumber.runtime.Timeout.timeout(Timeout.java:12)
  at cucumber.runtime.Utils.invoke(Utils.java:40)
  at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:35)
  at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:38)
  at cucumber.runtime.Runtime.runStep(Runtime.java:270)
  at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:49)
  at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:43)
  at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:36)
  at cucumber.runtime.model.CucumberFeature.run(CucumberFeature.java:112)
  at cucumber.runtime.Runtime.run(Runtime.java:105)
  at cucumber.runtime.Runtime.run(Runtime.java:93)
  at cucumber.api.cli.Main.run(Main.java:20)
  at cucumber.api.cli.Main.main(Main.java:12)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)


Process finished with exit code 1