I'm getting *java.lang.StackOverflowError* exception when using *waitFor
*method
(log file attached with full exception)
Line of code throwing exception is
waitFor(10) { browser.$('div', class: 'LocationSearch__ResultCount-jsWbXv
hXPPML').isDisplayed() }
But the following line works fine so I'm certain object can be found.
while (!browser.$('div', class: 'LocationSearch__ResultCount-jsWbXv hXPPML'
).isDisplayed()) { System.out.println("waiting...") }
I believe it has something to do with the clash of versions in POM file as
the waitFor works fine if I update POM file to geb-core version 0.10.0 but
anything higher than that causes the above issue.
Here are the properties and dependencies from the POM file:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<cluecumber-report-plugin.version>2.3.1</cluecumber-report-plugin.version>
<exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
<maven-clean-plugin.version>3.1.0</maven-clean-plugin.version>
<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
<ocular.version>1.0.0.Alpha</ocular.version>
<groovycsv.version>1.3</groovycsv.version>
<ashot.version>1.5.4</ashot.version>
<webdrivermanager.version>3.7.1</webdrivermanager.version>
<com4j.version>2.1</com4j.version>
<geb-core.version>3.2</geb-core.version>
<http-builder.version>0.7.1</http-builder.version>
<commons-io.version>2.6</commons-io.version>
<selenium-api.version>3.141.59</selenium-api.version>
<selenium-java.version>3.141.59</selenium-java.version>
<slf4j-simple.version>1.7.28</slf4j-simple.version>
<cucumber-jvm.version>4.8.0</cucumber-jvm.version>
<cucumber-groovy.version>4.2.0</cucumber-groovy.version>
<groovy-all.version>2.5.8</groovy-all.version>
</properties>
<dependencies>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-groovy</artifactId>
<version>${cucumber-groovy.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>${groovy-all.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-jvm</artifactId>
<version>${cucumber-jvm.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j-simple.version}</version>
</dependency>
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>${webdrivermanager.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>${selenium-java.version}</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-api</artifactId>
<version>${selenium-api.version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy.modules.http-builder</groupId>
<artifactId>http-builder</artifactId>
<version>${http-builder.version}</version>
</dependency>
<dependency>
<groupId>org.gebish</groupId>
<artifactId>geb-core</artifactId>
<version>${geb-core.version}</version>
</dependency>
<dependency>
<groupId>org.jvnet.com4j</groupId>
<artifactId>com4j</artifactId>
<version>${com4j.version}</version>
</dependency>
<dependency>
<groupId>ru.yandex.qatools.ashot</groupId>
<artifactId>ashot</artifactId>
<version>${ashot.version}</version>
</dependency>
<dependency>
<groupId>com.xlson.groovycsv</groupId>
<artifactId>groovycsv</artifactId>
<version>${groovycsv.version}</version>
</dependency>
<dependency>
<groupId>com.testautomationguru.ocular</groupId>
<artifactId>ocular</artifactId>
<version>${ocular.version}</version>
</dependency>
</dependencies>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean-plugin.version}</version>
<configuration>
<filesets>
<fileset>
<directory>reports</directory>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec-maven-plugin.version}</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>java</goal>
</goals>
<configuration>
<classpathScope>test</classpathScope>
<mainClass>cucumber.api.cli.Main</mainClass>
<arguments>
<argument>--plugin</argument>
<argument>json:reports/junit.json</argument>
<argument>--strict</argument>
<argument>--glue</argument>
<argument>target/test-classes</argument>
<argument>target/test-classes/.</argument>
<argument>--tags</argument>
<argument>${tagArg}</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
Any help is highly appreciated.
Thanks,
Raz
--
You received this message because you are subscribed to the Google Groups "Geb
User Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/geb-user/8b3558dd-f6b4-4307-9d15-bb0cedd6fcd4%40googlegroups.com.
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------------< au.abc.XYZ:sample-test >-----------------------
[INFO] Building sample-test 0.0.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ sample-test ---
[INFO] Deleting C:\git\testsuite-XYZsample\target
[INFO] Deleting C:\git\testsuite-XYZsample\reports (includes = [], excludes =
[])
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @
sample-test ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory
C:\git\testsuite-XYZsample\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ sample-test ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @
sample-test ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 8 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @
sample-test ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ sample-test ---
[INFO] Tests are skipped.
[INFO]
[INFO] --- exec-maven-plugin:1.6.0:java (default) @ sample-test ---
[BEFORE] >>> New test starting....
[CONFIG] >>> Chrome Driver Version: 77.0.3865.40
Failed scenarios:
target/test-classes/./features/Obs.feature:15 # CURRENT LOCATION : As a user, I
should be able to search for a location
1 Scenarios (1 failed)
2 Steps (1 failed, 1 passed)
0m19.585s
java.lang.StackOverflowError
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.methodMissing(Browser.groovy:251)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.createPage(Browser.groovy:849)
at geb.Browser.invokeMethod(Browser.groovy)
at geb.Browser.getPage(Browser.groovy:141)
at ?.I search for "Melbourne" and wait for results page to
load(target/test-classes/./features/Obs.feature:9)