Closed manobigdata closed 6 years ago
That looks like a WebDriver library/browser compatibility issue or dependency conflict.
My Chrome Browser is 64 and WebDriver 3.4 and the same project/code is working in my other machine.
Most likely a version conflict between the webdriver version you declare and the one Serenity is using.
Can you help out to figure the conflict? below is my POM file
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<groupId>MMI</groupId>
<artifactId>MMI_UI_Automation</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>MMI UI Automation</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<serenity.version>1.5.3</serenity.version>
<serenity.maven.version>1.5.3</serenity.maven.version>
<serenity.cucumber.version>1.1.8</serenity.cucumber.version>
</properties>
<!-- Define the Bintray repos for convenience -->
<repositories>
<repository>
<id>serenity</id>
<name>bintray</name>
<url>http://dl.bintray.com/serenity/maven</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>serenity</id>
<name>bintray-plugins</name>
<url>http://dl.bintray.com/serenity/maven</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-core</artifactId>
<version>${serenity.version}</version>
</dependency>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-junit</artifactId>
<version>${serenity.version}</version>
</dependency>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-rest-assured</artifactId>
<version>${serenity.version}</version>
</dependency>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-cucumber</artifactId>
<version>${serenity.cucumber.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>1.8.6</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.googlecode.lambdaj</groupId>
<artifactId>lambdaj</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>1.7.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sikulix</groupId>
<artifactId>sikulixapi</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.6</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.6</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.6</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.applitools</groupId>
<artifactId>eyes-selenium-java3</artifactId>
<version>3.13</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<includes>
<include>**/cucumber/junit/**/*.java</include>
<include>**/cucumber/*.java</include>
</includes>
<reuseForks>true</reuseForks>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>net.serenity-bdd.maven.plugins</groupId>
<artifactId>serenity-maven-plugin</artifactId>
<version>${serenity.maven.version}</version>
<dependencies>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-core</artifactId>
<version>${serenity.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
</dependencies>
<executions>
<execution>
<id>serenity-reports</id>
<phase>post-integration-test</phase>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>firefox</id>
<properties>
<webdriver.driver>firefox</webdriver.driver>
</properties>
</profile>
<profile>
<id>chrome</id>
<properties>
<webdriver.driver>chrome</webdriver.driver>
</properties>
</profile>
<profile>
<id>phantomjs</id>
<properties>
<webdriver.driver>phantomjs</webdriver.driver>
</properties>
</profile>
</profiles>
Have a look at https://github.com/serenity-bdd/serenity-jbehave/tree/master/src/smoketests for a working example. Try removing your own declarations of dependencies that Serenity uses (notably the WebDriver ones).
But how come its working in my PC? and could you please more specific of declarations of dependencies
It could be a problem with the version of the chromedriver binary
could you please more specific of declarations of dependencies.
Can you post your Pom.xml here?
It could be be a transitive dependency conflict, maybe with eyes-selenium-java3 or sikulixapi. Or it could be an issue with the chromedriver binary. Or an issue with the test itself. Very hard to say without seeing the project.
Closed for lack of activity.
Hi @wakaleo, I am getting below exception. Could your please assist me resolve the same.
net.serenitybdd.core.exceptions.SerenityManagedException: element not visible
(Session info: chrome=65.0.3325.181)
(Driver info: chromedriver=2.36.540469 (1881fd7f8641508feb5166b7cae561d87723cfa8),platform=Mac OS X 10.13.3 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 26 milliseconds
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
System info: host: 'IT-MLT-10993.local', ip: 'fe80:0:0:0:10:ed5b:760b:499b%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.3', java.version: '1.8.0_161'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.36.540469 (1881fd7f8641508feb5166b7cae561d87723cfa8), userDataDir=/var/folders/6j/bjjyrccn1hnf1dzl_38tfxrwt5f67v/T/.org.chromium.Chromium.NqJYGA}, takesHeapSnapshot=true, pageLoadStrategy=normal, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=65.0.3325.181, platform=MAC, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=false, acceptInsecureCerts=false, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true, setWindowRect=true, unexpectedAlertBehaviour=}]
Session ID: 1db044df9d8433de1e8033c923134faf
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:215)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:167)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:671)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:272)
at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:82)
at com.serenity.web.matches.desktop.pages.checkout.p2.shipping.ShippingFormPage.selectEmailable(ShippingFormPage.java:122)
at com.serenity.web.matches.desktop.steps.checkout.ShippingFormSteps.selectEmailable(ShippingFormSteps.java:76)
at com.serenity.web.matches.desktop.steps.checkout.ShippingFormSteps$$EnhancerByCGLIB$$8e111e61.CGLIB$selectEmailable$21(
"element not visible" means that Selenium says that the element you are trying to interact with is not visible.
@wakaleo I am also facing the same issue. Errors started with SerenityManagedException
but I kept on improving and finally stuck. I have already tried by updating Serenity version, Jbehave Plugin in pom.xml (attached) and chrome binary versions to latest. It is able to find input fields perfectly fine but failing to find dropdown. I have mentioned HTML for both
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.demo.automation</groupId>
<artifactId>demo-automation-tests</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Sample Serenity project using JBehave and WebDriver</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<serenity.version>2.0.7</serenity.version>
<serenity.jbehave.version>1.42.0</serenity.jbehave.version>
<webdriver.driver>firefox</webdriver.driver>
</properties>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>bintray</name>
<url>http://jcenter.bintray.com</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>bintray-plugins</name>
<url>http://jcenter.bintray.com</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-core</artifactId>
<version>${serenity.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-jbehave</artifactId>
<version>${serenity.jbehave.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<includes>
<include>**/*Test.java</include>
<include>**/*TestSuite.java</include>
<include>**/Test*.java</include>
<include>**/When*.java</include>
</includes>
<argLine>-Xmx512m</argLine>
<systemPropertyVariables>
<webdriver.driver>${webdriver.driver}</webdriver.driver>
</systemPropertyVariables>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>net.serenity-bdd.maven.plugins</groupId>
<artifactId>serenity-maven-plugin</artifactId>
<version>${serenity.version}</version>
<executions>
<execution>
<id>serenity-reports</id>
<phase>post-integration-test</phase>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
HTML for input field which is passing:
<input class="form_field form_field_text" id="_content_wynn_en_US_index_forms_tbd-approval-cost-problems_FirstName" name="FirstName" value="" size="35" onkeydown="" placeholder="First Name*" aria-required="true" style="border-bottom: 1px solid rgb(255, 0, 0);" aria-invalid="true">
@FindBy(xpath="//input[contains(@name,'FirstName') and @aria-required='true']")
private WebElementFacade first_name;
HTML for select field which is failing:
<div class="form_rightcol">
<select class="form_field form_field_select jcf-hidden" id="_content_wynn_en_US_index_forms_apm-solves-common-problems_JobLevel" name="JobLevel" aria-required="true"><option value="">Job Level*</option><option value="C-Level">C-Level</option><option value="Senior Vice President/Vice President">Senior Vice President/Vice President</option><option value="Senior Director/Director">Senior Director/Director</option><option value="Manager/Team Lead">Manager/Team Lead</option><option value="Individual Contributor">Individual Contributor</option><option value="Partner">Partner</option><option value="Student">Student</option><option value="Other">Other</option></select><span class="jcf-select jcf-unselectable jcf-select-form_field jcf-select-form_field_select" style="border-bottom: 1px solid rgb(255, 0, 0);"><span class="jcf-select-text"><span class="">Job Level*</span></span><span class="jcf-select-opener"></span></span>
</div>
@FindBy(xpath="//select[contains(@name,'JobLevel') and @aria-required='true']")
private WebElementFacade job_level;
What is the full stack dump?
You mean error stack? Where I can see that? I did mvn clean verify
went to index to HTML from their I found below one, not more.
org.openqa.selenium.ElementNotVisibleException com.demo.automation.pages.DemoPage.assert_missing_fields(DemoPage.java:114) com.demo.automation.steps.serenity.EndUserSteps.assert_missing_fields(EndUserSteps.java:25) com.demo.automation.steps.DemoValidationSteps.getAlertOnTheDemoMissingField(DemoValidationSteps.java:31)
I got the below error
[31mFailed scenarios:[0m
[31maudience_crud.feature:12 [0m# Scenario Outline: Monitor if error is present in DashBard on Login
1 Scenarios ([31m1 failed[0m)
4 Steps ([31m1 failed[0m, [36m3 skipped[0m)
0m32.921s
net.serenitybdd.core.exceptions.SerenityManagedException: Timed out after 30 seconds. Element not available
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
System info: host: 'SystemName', ip: '2600:80b:18:48:3429:86a0:e836:ef70', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.6', java.version: '1.8.0_77'
Driver info: driver.version: unknown
Tests run: 5, Failures: 0, Errors: 2, Skipped: 3, Time elapsed: 34.239 sec <<< FAILURE! - in net.palomar.showcase.cucumber.AudienceRunner
Given I Login to the application with valid sojna.padinjarayil@one.verizon.com and test(| sojna.padinjarayil@one.verizon.com | test |) Time elapsed: 0.003 sec <<< ERROR!
net.serenitybdd.core.exceptions.SerenityManagedException: Timed out after 30 seconds. Element not available
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
System info: host: 'TNJ10038LMVTAWW', ip: '2600:80b:18:48:3429:86a0:e836:ef70', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.6', java.version: '1.8.0_77'
Driver info: driver.version: unknown
| sojna.padinjarayil@one.verizon.com | test | Time elapsed: 0.004 sec <<< ERROR!
net.serenitybdd.core.exceptions.SerenityManagedException: Timed out after 30 seconds. Element not available
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
System info: host: 'TNJ10038LMVTAWW', ip: '2600:80b:18:48:3429:86a0:e836:ef70', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.6', java.version: '1.8.0_77'
Driver info: driver.version: unknown
but the same code is working my other Machine/PC so that there is problem/issue with my code.
Thanks, Manohar