Closed Maheshkhandave closed 5 years ago
@Maheshkhandave Can you provide your ‘pom.xml’ file as well as exact command you used to run tests?
<?xml version="1.0" encoding="UTF-8"?> <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<groupId></groupId>
<artifactId></artifactId>
<version></version>
<packaging>jar</packaging>
<name></name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<serenity.version>2.0.11</serenity.version>
<serenity.maven.version>2.0.11</serenity.maven.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<webdriver.base.url></webdriver.base.url>
<webdriver.driver>firefox</webdriver.driver>
<webdriver.gecko.driver></webdriver.gecko.driver>
<tempabcd.dbName></tempabcd.dbName>
<tempabcd.userName></tempabcd.userName>
<tempabcd.password></tempabcd.password>
<tempabcd.waittimeinterval>40</tempabcd.waittimeinterval>
<serenity.take.screenshot.for.interactions>FOR_FAILURES</serenity.take.screenshot.for.interactions>
</properties>
<dependencies>
<dependency>
<groupId>com.github.invictum</groupId>
<artifactId>serenity-reportportal-integration</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-core</artifactId>
<version>${serenity.version}</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-junit</artifactId>
<version>${serenity.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.easytesting</groupId>
<artifactId>fest-assert</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.7.0</version>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>4.1.0</version>
<classifier>no_aop</classifier>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-rest-assured</artifactId>
<version>${serenity.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
<!-- Dependencies for cucumber-->
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-cucumber</artifactId>
<version>1.9.3</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.jayway.jsonpath/json-path -->
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
<!-- Dependencies for cucumber-->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.8.1</version>
</dependency>
<!-- Dependencies for fetching time-->
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.3.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.4.0.jre8</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4.1212</version>
</dependency>
<dependency>
<groupId>com.sap.cloud.db.jdbc</groupId>
<artifactId>ngdbc</artifactId>
<version>2.2.16</version>
<scope>test</scope>
</dependency>
<!-- Dependencies for DB connection-->
</dependencies>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>bintray-epam-reportportal</id>
<name>bintray</name>
<url>http://dl.bintray.com/epam/reportportal</url>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<skip>true</skip>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<includes>
<include>**/*Test.java</include>
<include>**/Test*.java</include>
<include>**/When*.java</include>
<include>**/*TestSuite.java</include>
</includes>
<argLine>-Xmx512m</argLine>
<rerunFailingTestsCount>0</rerunFailingTestsCount>
<systemPropertyVariables>
<webdriver.driver>${webdriver.driver}</webdriver.driver>
<webdriver.gecko.driver>${webdriver.gecko.driver}</webdriver.gecko.driver>
<!--<webdriver.chrome.driver>${webdriver.chrome.driver}</webdriver.chrome.driver>-->
<webdriver.base.url>${webdriver.base.url}</webdriver.base.url>
<tempabcd.dbName>${tempabcd.dbName}</tempabcd.dbName>
<tempabcd.userName>${tempabcd.userName}</tempabcd.userName>
<tempabcd.password>${tempabcd.password}</tempabcd.password>
<tempabcd.waittimeinterval>${tempabcd.waittimeinterval}</tempabcd.waittimeinterval>
<serenity.take.screenshots.for.interactions>FOR_FAILURES
</serenity.take.screenshots.for.interactions>
<serenity.take.screenshots>FOR_FAILURES
</serenity.take.screenshots>
</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>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</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>
</dependencies>
<executions>
<execution>
<id>serenity-reports</id>
<phase>post-integration-test</phase>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
using command as mvn clean verify -Dtags="Temp1"
@Maheshkhandave
I am unable to reproduce an issue with pure Serenity. But have some clues: integration 1.2.1
was build with Serenity 1.9.45
as a dependency. But you are trying to use 2.0.11
. Exclude Serenity from integration dependencies in your pom file
...
<dependency>
<groupId>com.github.invictum</groupId>
<artifactId>serenity-reportportal-integration</artifactId>
<version>1.2.1</version>
<exclusions>
<exclusion>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-core</artifactId>
</exclusion>
</exclusions>
</dependency>
...
Thanks for the reply, I tried multiple combinations of versions also tried moving the report portal properties file in different location, however every time i am getting below exception. After looking at the exception i think my project is not creating the log file in the format which is acceptal to reportportal. Any idea on what am i missing in the log file?
[main] ERROR net.thucydides.core.steps.ConsoleLoggingListener - GET /session/fad04782-6299-404a-98cb-ce9716b75dac/log/types did not match a known command [main] ERROR com.epam.reportportal.service.ReportPortal - Cannot send file to ReportPortal java.lang.NullPointerException at com.epam.reportportal.service.ReportPortal$3.apply(ReportPortal.java:210) at com.epam.reportportal.service.ReportPortal$3.apply(ReportPortal.java:199) at com.epam.reportportal.service.LoggingContext$4.apply(LoggingContext.java:163) at com.epam.reportportal.service.LoggingContext$4.apply(LoggingContext.java:160) at io.reactivex.internal.operators.maybe.MaybeMap$MapMaybeObserver.onSuccess(MaybeMap.java:82) at io.reactivex.internal.operators.maybe.MaybeCache.subscribeActual(MaybeCache.java:66) at io.reactivex.Maybe.subscribe(Maybe.java:4096) at io.reactivex.internal.operators.maybe.MaybeMap.subscribeActual(MaybeMap.java:40) at io.reactivex.Maybe.subscribe(Maybe.java:4096) at io.reactivex.internal.operators.maybe.MaybeToFlowable.subscribeActual(MaybeToFlowable.java:45) at io.reactivex.Flowable.subscribe(Flowable.java:14419) at io.reactivex.Flowable.subscribe(Flowable.java:14365) at io.reactivex.internal.operators.flowable.FlowableFlatMap$MergeSubscriber.onNext(FlowableFlatMap.java:163) at io.reactivex.internal.operators.flowable.FlowableOnBackpressureBuffer$BackpressureBufferSubscriber.drain(FlowableOnBackpressureBuffer.java:187) at io.reactivex.internal.operators.flowable.FlowableOnBackpressureBuffer$BackpressureBufferSubscriber.onNext(FlowableOnBackpressureBuffer.java:112) at io.reactivex.internal.operators.flowable.FlowableFromObservable$SubscriberObserver.onNext(FlowableFromObservable.java:52) at io.reactivex.subjects.PublishSubject$PublishDisposable.onNext(PublishSubject.java:309) at io.reactivex.subjects.PublishSubject.onNext(PublishSubject.java:229) at com.epam.reportportal.service.LoggingContext.emit(LoggingContext.java:160) at com.epam.reportportal.service.ReportPortal.emitLog(ReportPortal.java:147) at com.epam.reportportal.service.ReportPortal.emitLog(ReportPortal.java:199) at com.github.invictum.reportportal.StepDataExtractorsHolder.lambda$null$0(StepDataExtractorsHolder.java:27) at java.util.Collections$SingletonSet.forEach(Collections.java:4767) at com.github.invictum.reportportal.StepDataExtractorsHolder.lambda$proceed$1(StepDataExtractorsHolder.java:27) at java.lang.Iterable.forEach(Iterable.java:75) at com.github.invictum.reportportal.StepDataExtractorsHolder.proceed(StepDataExtractorsHolder.java:25) at com.github.invictum.reportportal.handler.FlatHandler.lambda$finishTest$1(FlatHandler.java:92) at java.util.ArrayList.forEach(ArrayList.java:1255) at com.github.invictum.reportportal.handler.FlatHandler.finishTest(FlatHandler.java:92) at com.github.invictum.reportportal.ReportPortalListener.testFinished(ReportPortalListener.java:51) at net.thucydides.core.steps.StepEventBus.testFinished(StepEventBus.java:297) at net.thucydides.junit.listeners.JUnitStepListener.testFinished(JUnitStepListener.java:98) at org.junit.runner.notification.SynchronizedRunListener.testFinished(SynchronizedRunListener.java:56) at org.junit.runner.notification.RunNotifier$7.notifyListener(RunNotifier.java:190) at org.junit.runner.notification.RunNotifier$SafeNotifier.run(RunNotifier.java:72) at org.junit.runner.notification.RunNotifier.fireTestFinished(RunNotifier.java:187) at org.junit.internal.runners.model.EachTestNotifier.fireTestFinished(EachTestNotifier.java:38) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:331) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at net.serenitybdd.junit.runners.SerenityRunner.performRunChild(SerenityRunner.java:460) at net.serenitybdd.junit.runners.SerenityRunner.runChild(SerenityRunner.java:435) at net.serenitybdd.junit.runners.SerenityRunner.runChild(SerenityRunner.java:42) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at net.serenitybdd.junit.runners.SerenityRunner.run(SerenityRunner.java:239) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365) at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
@Maheshkhandave Seems like there are several issues.
pom.xml
. Some dependencies are duplicated this may cause version conflicts.
// Exclude serenity-core from integration - you defining it manually
<dependency>
<groupId>com.github.invictum</groupId>
<artifactId>serenity-reportportal-integration</artifactId>
<version>1.2.1</version>
<exclusions>
<exclusion>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-core</artifactId>
</exclusion>
</exclusions>
</dependency>
// Remove following dependencies - they already included in other modules
// If you don't need a Serenity reporter you may remove
2. Log type error
[main] ERROR net.thucydides.core.steps.ConsoleLoggingListener - GET /session/fad04782-6299-404a-98cb-ce9716b75dac/log/types did not match a known command
Internal Serenity's mechanism requests log types from Selenium as well as integration do. However something wrong happens here - it seems like capability between selenium client and server issue. This may be fixed after pom.xml simplifying. Also make sure you are using latest versions of drivers (gecko, chrome, etc.)
3. The correct place to store a report portal config is `src/main/test/resources/reportportal.properties`
4. The only two classes that attempt to send a file to report portal are `StepScreenshots` and `StepScreenshots`. Configure custom profile and disable them for debug purposes.
StepsSetProfile profile = StepsSetProfile.CUSTOM; profile.registerExtractors(new StartStep(), new FinishStep()); ReportIntegrationConfig.get().useProfile(profile);
Please, let me know about your results.
If you are able to provide a simple small project that reproduces an issue, I will investigate all these stuff on my side.
Issue is duplicated by #52
I am trying to integrate serenity with report portal with below combination. My project is configured as Serenity-Junit
In every execution my browser get launched and reach up to navigating to logging page and then it is getting closed by throwing below exception on console.
[rp-io-10] ERROR com.epam.reportportal.service.Launch - [57] ReportPortal execution error com.epam.reportportal.exception.ReportPortalException: Report Portal returned error Status code: 406 Status message: Not Acceptable Error Message: Finish launch is not allowed. Launch '5be4330e42eba40001f5189a' has items '[5be4331a42eba40001f5189e]' with 'IN_PROGRESS' status Error Type: FINISH_LAUNCH_NOT_ALLOWED
the test run get updated in report portal with status as in-progress invalid run.
Please advise, I also tried different version of serenity along with commenting Junit dependency but got same exception.