Giter Site home page Giter Site logo

reportportal / agent-java-cucumber4 Goto Github PK

View Code? Open in Web Editor NEW
6.0 25.0 9.0 1019 KB

Cucumber JVM version [4.0.0; 5.0.0) adapter

License: Apache License 2.0

Java 97.61% Gherkin 2.39%
java agent cucumber-jvm cucumber scenario-reporter cucumber-agent reportportal

agent-java-cucumber4's Introduction

Join Slack chat! stackoverflow GitHub contributors Docker Pulls License Build with Love lambdaTest a27c44

Repositories structure

ReportPortal high level architecture

reportportal high level architecture

ReportPortal repositories structure

Report Portal organized into multiple repositories.

ReportPortal server side consists of the following services:

  • service-authorization Authorization Service. In charge of access tokens distribution
  • service-api API Service. Application Backend
  • service-ui UI Service. Application Frontend
  • service-index Index Service. Info and health checks per service.
  • service-analyzer Analyzer Service. Finds most relevant test fail problem.
  • gateway Traefik Gateway Service. Main entry point to application. Port used by gateway should be opened and accessible from outside network.
  • rabbitmq Load balancer for client requests. Bus for messages between servers.
  • minio Attachments storage.

Available plugins developed by ReportPortal team:

Client side adapters related repositories:

  • client-* - API integrations. Http clients, which process HTTP request sending.
  • agent-* - Frameworks integration. Custom reporters/listeners, which monitor test events and trigger event sending via client-*
  • logger-* - Logging integration. Logger appenders, which help to collect logs, bind it with test-case item via agent-* and send to server via client-*

Other repositories stored according to next rules

  • service-* - micro-services which are a part of Application
  • commons-* - common libraries, models, etc., used by micro-services

Installation steps

Simple setup with Docker

It's the best way for demo purposes and small teams. The database is already in the docker-compose.

  1. Install Docker (Engine, Compose)

  2. Download Example of docker-compose descriptor to any folder

  3. Deploy ReportPortal using docker compose plugin within the same folder

docker compose -p reportportal up

To start ReportPortal in daemon mode, add '-d' argument:

docker compose -p reportportal up -d
  1. Open in your browser IP address of deployed environment at port 8080
http://IP_ADDRESS:8080
  1. Use next login\pass for access:
  • default\1q2w3e
  • superadmin\erebus.

Please change admin password for security.

Mentioned compose file deploy all available Bug Tracking System integrations, which not always needed, but use resources.

Production-ready set and Custom deployment with Docker

For production usage, we recommend:

  • choose only required Bug Tracking System integration service. Exclude the rest

To customize deployment and make it production-ready please follow customization steps and details

Integration. How to get log data in

You should add Client Side code inside your test automation. It consists of:

  • client-* - API integrations. Http clients, which process HTTP request sending. E.g. for Java (client-java-*)
  • agent-* - Frameworks integration. Custom reporters/listeners, which monitor test events and trigger event sending via client-*
  • logger-* - Logging integration. Logger appenders, which helps to collect logs, bind it with test-case via agent-* and send to server via client-*

Integration steps and documentation

Contribution

There are many different ways to contribute to Report Portal's development, just find the one that best fits with your skills. Examples of contributions we would love to receive include:

  • Code patches
  • Documentation improvements
  • Translations
  • Bug reports
  • Patch reviews
  • UI enhancements

Big features are also welcome but if you want to see your contributions included in Report Portal codebase we strongly recommend you start by initiating a chat through our Team in Slack.

Contribution details

Documentation

Community / Support

License

Report Portal is Apache 2.0.

agent-java-cucumber4's People

Contributors

aliaksandrheleisha avatar avarabyeu avatar evgenytkachenko avatar filland avatar hardnorth avatar jurteg avatar pbortnik avatar raikbitters avatar yumfriez avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

agent-java-cucumber4's Issues

Automatic re-run of failed scenarios is shown in a different launch name

Hello Team,

I am using Cucumber 4.7, TestNG along with Java for automation. We have successfully integrated to report portal and are able to see execution status in real time, but the problem/turn off is the failed scenarios when they rerun they are shown under another launch name/number. Is there a workaround or fix available?

Refer to the screenshot below, launch# 127 is my original run where 2 scenarios ran, 1 passes 1 failed. The failed scenario got run under launch# 128 and not '#127'.

image

Error is displayed if you try to run cucumber tests in parallel

Hi everyone,

I can successfully execute my tests using cucumber + TestNG and see the result in ReportPortal but not in parallel. If I do it in parallel, I see the errors below.

Parallel run is started by Maven parameter -Ddataproviderthreadcount (e.g. -Ddataproviderthreadcount=3)

My configuration:

agent-java-cucumber4 - 4.1.0 (if I use 5.0.0-BETA-1, I don't see my run in ReportPortal at all)
cucumber-java - 4.8.0
cucumber-testng - 4.8.0

Error:

	io.reactivex.exceptions.OnErrorNotImplementedException: Report Portal returned error
	Status code: 406
	Status message: Not Acceptable
	Error Message: Finish test item is not allowed. Test item '5de63c26b297bb00012679df' has descendants with 'IN_PROGRESS' status. All descendants '[Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Before hooks, Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Given Common: login "CSA" with user "keithc.admin" and password "mydemo", And Common: take screenshot of current page and save file with name "CountryList.png", Then Common: compare files between before folder and after folder and save differences to diff folder, After hooks, After hooks]'
	Error Type: FINISH_ITEM_NOT_ALLOWED

	at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:704)
	at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:701)
	at io.reactivex.internal.operators.maybe.MaybeCallbackObserver.onError(MaybeCallbackObserver.java:83)
	at io.reactivex.internal.operators.maybe.MaybeSubscribeOn$SubscribeOnMaybeObserver.onError(MaybeSubscribeOn.java:96)
	at io.reactivex.internal.operators.maybe.MaybeCache.onError(MaybeCache.java:103)
	at io.reactivex.internal.operators.maybe.MaybeFromCallable.subscribeActual(MaybeFromCallable.java:50)
	at io.reactivex.Maybe.subscribe(Maybe.java:3727)
	at io.reactivex.internal.operators.maybe.MaybeCache.subscribeActual(MaybeCache.java:77)
	at io.reactivex.Maybe.subscribe(Maybe.java:3727)
	at io.reactivex.internal.operators.maybe.MaybeSubscribeOn$SubscribeTask.run(MaybeSubscribeOn.java:54)
	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:452)
	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:61)
	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	Caused by: com.epam.reportportal.exception.ReportPortalException: Report Portal returned error
	Status code: 406
	Status message: Not Acceptable
	Error Message: Finish test item is not allowed. Test item '5de63c26b297bb00012679df' has descendants with 'IN_PROGRESS' status. All descendants '[Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Before hooks, Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Given Common: login "CSA" with user "keithc.admin" and password "mydemo", And Common: take screenshot of current page and save file with name "CountryList.png", Then Common: compare files between before folder and after folder and save differences to diff folder, After hooks, After hooks]'
	Error Type: FINISH_ITEM_NOT_ALLOWED

	at com.epam.reportportal.service.ReportPortalErrorHandler.handleError(ReportPortalErrorHandler.java:57)
	at com.epam.reportportal.restendpoint.http.DefaultErrorHandler.handle(DefaultErrorHandler.java:56)
	at com.epam.reportportal.restendpoint.http.HttpClientRestEndpoint$1.call(HttpClientRestEndpoint.java:486)
	at com.epam.reportportal.restendpoint.http.HttpClientRestEndpoint$1.call(HttpClientRestEndpoint.java:455)
	at io.reactivex.internal.operators.maybe.MaybeFromCallable.subscribeActual(MaybeFromCallable.java:46)
	... 13 more
	Exception in thread "RxCachedThreadScheduler-5" io.reactivex.exceptions.OnErrorNotImplementedException: Report Portal returned error
	Status code: 406
	Status message: Not Acceptable
	Error Message: Finish test item is not allowed. Test item '5de63c26b297bb00012679df' has descendants with 'IN_PROGRESS' status. All descendants '[Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Before hooks, Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Given Common: login "CSA" with user "keithc.admin" and password "mydemo", And Common: take screenshot of current page and save file with name "CountryList.png", Then Common: compare files between before folder and after folder and save differences to diff folder, After hooks, After hooks]'
	Error Type: FINISH_ITEM_NOT_ALLOWED

	at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:704)
	at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:701)
	at io.reactivex.internal.operators.maybe.MaybeCallbackObserver.onError(MaybeCallbackObserver.java:83)
	at io.reactivex.internal.operators.maybe.MaybeSubscribeOn$SubscribeOnMaybeObserver.onError(MaybeSubscribeOn.java:96)
	at io.reactivex.internal.operators.maybe.MaybeCache.onError(MaybeCache.java:103)
	at io.reactivex.internal.operators.maybe.MaybeFromCallable.subscribeActual(MaybeFromCallable.java:50)
	at io.reactivex.Maybe.subscribe(Maybe.java:3727)
	at io.reactivex.internal.operators.maybe.MaybeCache.subscribeActual(MaybeCache.java:77)
	at io.reactivex.Maybe.subscribe(Maybe.java:3727)
	at io.reactivex.internal.operators.maybe.MaybeSubscribeOn$SubscribeTask.run(MaybeSubscribeOn.java:54)
	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:452)
	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:61)
	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	Caused by: com.epam.reportportal.exception.ReportPortalException: Report Portal returned error
	Status code: 406
	Status message: Not Acceptable
	Error Message: Finish test item is not allowed. Test item '5de63c26b297bb00012679df' has descendants with 'IN_PROGRESS' status. All descendants '[Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Before hooks, Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Given Common: login "CSA" with user "keithc.admin" and password "mydemo", And Common: take screenshot of current page and save file with name "CountryList.png", Then Common: compare files between before folder and after folder and save differences to diff folder, After hooks, After hooks]'
	Error Type: FINISH_ITEM_NOT_ALLOWED

	at com.epam.reportportal.service.ReportPortalErrorHandler.handleError(ReportPortalErrorHandler.java:57)
	at com.epam.reportportal.restendpoint.http.DefaultErrorHandler.handle(DefaultErrorHandler.java:56)
	at com.epam.reportportal.restendpoint.http.HttpClientRestEndpoint$1.call(HttpClientRestEndpoint.java:486)
	at com.epam.reportportal.restendpoint.http.HttpClientRestEndpoint$1.call(HttpClientRestEndpoint.java:455)
	at io.reactivex.internal.operators.maybe.MaybeFromCallable.subscribeActual(MaybeFromCallable.java:46)
	... 13 more
	io.reactivex.exceptions.OnErrorNotImplementedException: Report Portal returned error
	Status code: 406
	Status message: Not Acceptable
	Error Message: Finish test item is not allowed. Test item '5de63c26b297bb00012679df' has descendants with 'IN_PROGRESS' status. All descendants '[Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Before hooks, Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Given Common: login "CSA" with user "keithc.admin" and password "mydemo", And Common: take screenshot of current page and save file with name "CountryList.png", Then Common: compare files between before folder and after folder and save differences to diff folder, After hooks, After hooks]'
	Error Type: FINISH_ITEM_NOT_ALLOWED

	at io.reactivex.internal.observers.EmptyCompletableObserver.onError(EmptyCompletableObserver.java:51)
	at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.onError(CompletableSubscribeOn.java:74)
	at io.reactivex.internal.operators.completable.CompletableCache.onError(CompletableCache.java:81)
	at io.reactivex.internal.operators.maybe.MaybeIgnoreElementCompletable$IgnoreMaybeObserver.onError(MaybeIgnoreElementCompletable.java:73)
	at io.reactivex.internal.operators.maybe.MaybeDoAfterSuccess$DoAfterObserver.onError(MaybeDoAfterSuccess.java:81)
	at io.reactivex.internal.operators.maybe.MaybeDelayWithCompletable$DelayWithMainObserver.onError(MaybeDelayWithCompletable.java:107)
	at io.reactivex.internal.operators.maybe.MaybeFlatten$FlatMapMaybeObserver$InnerObserver.onError(MaybeFlatten.java:125)
	at io.reactivex.internal.operators.maybe.MaybePeek$MaybePeekObserver.onErrorInner(MaybePeek.java:147)
	at io.reactivex.internal.operators.maybe.MaybePeek$MaybePeekObserver.onError(MaybePeek.java:134)
	at io.reactivex.internal.operators.maybe.MaybePeek$MaybePeekObserver.onErrorInner(MaybePeek.java:147)
	at io.reactivex.internal.operators.maybe.MaybePeek$MaybePeekObserver.onError(MaybePeek.java:134)
	at io.reactivex.internal.operators.flowable.FlowableSingleMaybe$SingleElementSubscriber.onError(FlowableSingleMaybe.java:89)
	at io.reactivex.internal.operators.flowable.FlowableRetryPredicate$RepeatSubscriber.onError(FlowableRetryPredicate.java:92)
	at io.reactivex.internal.operators.maybe.MaybeToFlowable$MaybeToFlowableSubscriber.onError(MaybeToFlowable.java:75)
	at io.reactivex.internal.operators.maybe.MaybeFlatten$FlatMapMaybeObserver.onError(MaybeFlatten.java:103)
	at io.reactivex.internal.operators.maybe.MaybeSubscribeOn$SubscribeOnMaybeObserver.onError(MaybeSubscribeOn.java:96)
	at io.reactivex.internal.operators.maybe.MaybeCache.subscribeActual(MaybeCache.java:62)
	at io.reactivex.Maybe.subscribe(Maybe.java:3727)
	at io.reactivex.internal.operators.maybe.MaybeSubscribeOn$SubscribeTask.run(MaybeSubscribeOn.java:54)
	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:452)
	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:61)
	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	Caused by: com.epam.reportportal.exception.ReportPortalException: Report Portal returned error
	Status code: 406
	Status message: Not Acceptable
	Error Message: Finish test item is not allowed. Test item '5de63c26b297bb00012679df' has descendants with 'IN_PROGRESS' status. All descendants '[Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Before hooks, Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Given Common: login "CSA" with user "keithc.admin" and password "mydemo", And Common: take screenshot of current page and save file with name "CountryList.png", Then Common: compare files between before folder and after folder and save differences to diff folder, After hooks, After hooks]'
	Error Type: FINISH_ITEM_NOT_ALLOWED

	at com.epam.reportportal.service.ReportPortalErrorHandler.handleError(ReportPortalErrorHandler.java:57)
	at com.epam.reportportal.restendpoint.http.DefaultErrorHandler.handle(DefaultErrorHandler.java:56)
	at com.epam.reportportal.restendpoint.http.HttpClientRestEndpoint$1.call(HttpClientRestEndpoint.java:486)
	at com.epam.reportportal.restendpoint.http.HttpClientRestEndpoint$1.call(HttpClientRestEndpoint.java:455)
	at io.reactivex.internal.operators.maybe.MaybeFromCallable.subscribeActual(MaybeFromCallable.java:46)
	at io.reactivex.Maybe.subscribe(Maybe.java:3727)
	at io.reactivex.internal.operators.maybe.MaybeCache.subscribeActual(MaybeCache.java:77)
	... 11 more
	Exception in thread "RxCachedThreadScheduler-6" io.reactivex.exceptions.OnErrorNotImplementedException: Report Portal returned error
	Status code: 406
	Status message: Not Acceptable
	Error Message: Finish test item is not allowed. Test item '5de63c26b297bb00012679df' has descendants with 'IN_PROGRESS' status. All descendants '[Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Before hooks, Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Given Common: login "CSA" with user "keithc.admin" and password "mydemo", And Common: take screenshot of current page and save file with name "CountryList.png", Then Common: compare files between before folder and after folder and save differences to diff folder, After hooks, After hooks]'
	Error Type: FINISH_ITEM_NOT_ALLOWED

	at io.reactivex.internal.observers.EmptyCompletableObserver.onError(EmptyCompletableObserver.java:51)
	at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.onError(CompletableSubscribeOn.java:74)
	at io.reactivex.internal.operators.completable.CompletableCache.onError(CompletableCache.java:81)
	at io.reactivex.internal.operators.maybe.MaybeIgnoreElementCompletable$IgnoreMaybeObserver.onError(MaybeIgnoreElementCompletable.java:73)
	at io.reactivex.internal.operators.maybe.MaybeDoAfterSuccess$DoAfterObserver.onError(MaybeDoAfterSuccess.java:81)
	at io.reactivex.internal.operators.maybe.MaybeDelayWithCompletable$DelayWithMainObserver.onError(MaybeDelayWithCompletable.java:107)
	at io.reactivex.internal.operators.maybe.MaybeFlatten$FlatMapMaybeObserver$InnerObserver.onError(MaybeFlatten.java:125)
	at io.reactivex.internal.operators.maybe.MaybePeek$MaybePeekObserver.onErrorInner(MaybePeek.java:147)
	at io.reactivex.internal.operators.maybe.MaybePeek$MaybePeekObserver.onError(MaybePeek.java:134)
	at io.reactivex.internal.operators.maybe.MaybePeek$MaybePeekObserver.onErrorInner(MaybePeek.java:147)
	at io.reactivex.internal.operators.maybe.MaybePeek$MaybePeekObserver.onError(MaybePeek.java:134)
	at io.reactivex.internal.operators.flowable.FlowableSingleMaybe$SingleElementSubscriber.onError(FlowableSingleMaybe.java:89)
	at io.reactivex.internal.operators.flowable.FlowableRetryPredicate$RepeatSubscriber.onError(FlowableRetryPredicate.java:92)
	at io.reactivex.internal.operators.maybe.MaybeToFlowable$MaybeToFlowableSubscriber.onError(MaybeToFlowable.java:75)
	at io.reactivex.internal.operators.maybe.MaybeFlatten$FlatMapMaybeObserver.onError(MaybeFlatten.java:103)
	at io.reactivex.internal.operators.maybe.MaybeSubscribeOn$SubscribeOnMaybeObserver.onError(MaybeSubscribeOn.java:96)
	at io.reactivex.internal.operators.maybe.MaybeCache.subscribeActual(MaybeCache.java:62)
	at io.reactivex.Maybe.subscribe(Maybe.java:3727)
	at io.reactivex.internal.operators.maybe.MaybeSubscribeOn$SubscribeTask.run(MaybeSubscribeOn.java:54)
	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:452)
	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:61)
	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	Caused by: com.epam.reportportal.exception.ReportPortalException: Report Portal returned error
	Status code: 406
	Status message: Not Acceptable
	Error Message: Finish test item is not allowed. Test item '5de63c26b297bb00012679df' has descendants with 'IN_PROGRESS' status. All descendants '[Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Before hooks, Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Scenario: C10106 - Migration.CSA.ROOT.ScreenshotsComparison.Countrylist, Given Common: login "CSA" with user "keithc.admin" and password "mydemo", And Common: take screenshot of current page and save file with name "CountryList.png", Then Common: compare files between before folder and after folder and save differences to diff folder, After hooks, After hooks]'
	Error Type: FINISH_ITEM_NOT_ALLOWED

	at com.epam.reportportal.service.ReportPortalErrorHandler.handleError(ReportPortalErrorHandler.java:57)
	at com.epam.reportportal.restendpoint.http.DefaultErrorHandler.handle(DefaultErrorHandler.java:56)
	at com.epam.reportportal.restendpoint.http.HttpClientRestEndpoint$1.call(HttpClientRestEndpoint.java:486)
	at com.epam.reportportal.restendpoint.http.HttpClientRestEndpoint$1.call(HttpClientRestEndpoint.java:455)
	at io.reactivex.internal.operators.maybe.MaybeFromCallable.subscribeActual(MaybeFromCallable.java:46)
	at io.reactivex.Maybe.subscribe(Maybe.java:3727)
	at io.reactivex.internal.operators.maybe.MaybeCache.subscribeActual(MaybeCache.java:77)
	... 11 more`

Unable to run cucumber tests in parallel

I get the below error when try to run cucumber tests in parallel (using maven-surefire-plugin):
"Attempting re-set scenario ID for unfinished scenario."

Note, if run tests in 1 thread then they work fine.

Cucumber runner class:

@RunWith(Cucumber.class)
@CucumberOptions(
		glue = { "io.magentys.cinnamon","uk.co.ee.myee.automation" }, 
		features = { "src/test/resources/features" },
		plugin = { "pretty", "com.epam.reportportal.cucumber.StepReporter", "json:target/cucumber-reports/cucumber.json" }) 
public class AllTests {
}

Versions:

  • Report Portal: EPAM supported instance of ReportPortal - https://rp.epam.com/ui/
  • agent-java-cucumber4: 4.1.1
  • cucumber-java: 4.2.6

Attachments:

Not able to load test cases that are executed using Cucumber in REPORTPORTAL

Hi Team,

I have created one project using cucumber. I am able to run the restNg.xml and all test cases got executed based on feature file within.

Reportportal is up and running. I successfully load test cases that are executed using below link in reportportal

https://github.com/reportportal/example-java-TestNG

But I am not able to launch test cases done in cucumber prject.

Steps followed:

  1. pom.xml - added cucumber dependency. (attached screenshot)

  2. testing.xml - Added listener.

  3. TestRunner.java - Added ScenarioReporter.

  4. Reportportal.properties.

image

image

image

image

Could you please advice me.

I am new to cucumber.

cucumber.runtime.CucumberException: Couldn't load plugin class

I was trying to upgrade cucumber to use parallel execution feature, ended up issues with report portal.

In compatibility matrix it says:

Version(s) of cucumber java and cucumber junit - 4.0.0 - 4.2.6 Tested version of cucumber agent 4.0.0

I tried to different version of cucumber 4.0.0, 4.2.3, 4.2.2, 4.2.6 with cucumber agent 4.0.0
It says

cucumber.runtime.CucumberException: Couldn't load plugin class: com.epam.reportportal.cucumber.ScenarioReporter. It does not implement cucumber.api.Plugin

at cucumber.runtime.formatter.PluginFactory.loadClass(PluginFactory.java:176)
at cucumber.runtime.formatter.PluginFactory.pluginClass(PluginFactory.java:163)
at cucumber.runtime.formatter.PluginFactory.getPluginClass(PluginFactory.java:220)
at cucumber.runtime.formatter.PluginFactory.isStepDefinitionReporterName(PluginFactory.java:203)
at cucumber.runtime.RuntimeOptions$ParsedPluginData.addPluginName(RuntimeOptions.java:385)
at cucumber.runtime.RuntimeOptions.parse(RuntimeOptions.java:164)
at cucumber.runtime.RuntimeOptions.<init>(RuntimeOptions.java:107)
at cucumber.runtime.RuntimeOptions.<init>(RuntimeOptions.java:100)
at cucumber.runtime.RuntimeOptions.<init>(RuntimeOptions.java:96)
at cucumber.runtime.RuntimeOptionsFactory.create(RuntimeOptionsFactory.java:23)
at com.github.mkolisnyk.cucumber.runner.ExtendedCucumber.<init>(ExtendedCucumber.java:49)
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.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:49)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

POM has following dependencies:

<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-core</artifactId>
    <version>4.2.6</version>
</dependency>
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-java</artifactId>
    <version>4.2.6</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-junit</artifactId>
    <version>4.2.6</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-testng</artifactId>
    <version>4.2.6</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-picocontainer</artifactId>
    <version>4.2.6</version>
    <scope>test</scope>
</dependency>

<!--ReportPortal-->
<dependency>
    <groupId>com.epam.reportportal</groupId>
    <artifactId>agent-java-cucumber</artifactId>
    <version>4.0.0</version>
</dependency>

cucumber cucumber-jvm reportportal

Error message is displayed twice for failed step

Error message is displayed twice for failed step. See the screenshot.
maven-failsafe-plugin is used to run tests.

I think the issue is in AbstractReporter.reportResult method. It sends error message twice:

	protected void reportResult(Result result, String message) {
		String level = mapLevel(result.getStatus());
		if (message != null) {
			sendLog(message, level);
		}
		String errorMessage = result.getErrorMessage();
		if (errorMessage != null) {
			sendLog(errorMessage, level);
		}
		if (result.getError() != null) {
			sendLog(getStackTraceAsString(result.getError()), level);
		}
	}

Versions:

Attachments:
doubleError

[v5]Deep Merge not working properly with ScenarioReporter

I am running the following stack: Java, TestNG, Cucumber 4.8, Appium. When using the plugin com.epam.reportportal.cucumber.StepReporter and performing a Deep Merge, Report Portal was doing fine in combining both executions and keeping the most up-to-date tests after the merge operation. Now using com.epam.reportportal.cucumber.ScenarioReporter Deep Merge actually seems to be doing a Linear Merge.

Need to create attributes on feature file

Describe the bug
A clear and concise description of what the bug is.
Trying to provide different Severity level for each test case
using- java-agent-cucmber4- version-4.1.1

Steps to Reproduce
Steps to reproduce the behavior:

  1. ...added rp.attributes= Severity:low;Medium;high
  2. Provided tag as @Medium upon scenario outline
  3. Could you please help us on how to add these value sto feture file since it is not described in the official documentation

Expected behavior
A clear and concise description of what you expected to happen.
Should be able to show tets cases count on dashbard by differentiating with different Severity levels
Actual behavior
What actually happened.
Not able to filer with Attribute tage
Dependency versions
Include version info of the following libraries: client-java, agent-java-cucumber4

Additional context
Add any other context about the problem here.

RP Cucumber agent does not finish items due to unexpected tests event status

Sometimes RP unable to finish test items because there is no direct mapping between Cucumber event status and RP ItemStatus.
Because of thar next errors happen:

ERROR [rp-io-20]: [77] ReportPortal execution error
com.epam.reportportal.exception.ReportPortalException: Report Portal returned error
Status code: 400
Status message: Bad Request
Error Message: Incorrect Request. [Value is not allowed for field 'status'.]
Error Type: INCORRECT_REQUEST

at com.epam.reportportal.service.ReportPortalErrorHandler.handleError(ReportPortalErrorHandler.java:85)
at com.epam.reportportal.service.ReportPortalErrorHandler.handle(ReportPortalErrorHandler.java:61)
at com.epam.reportportal.restendpoint.http.HttpClientRestEndpoint$1.subscribe(HttpClientRestEndpoint.java:526)
at io.reactivex.internal.operators.maybe.MaybeCreate.subscribeActual(MaybeCreate.java:45)
at io.reactivex.Maybe.subscribe(Maybe.java:4290)
at io.reactivex.internal.operators.maybe.MaybeSubscribeOn$SubscribeTask.run(MaybeSubscribeOn.java:54)
at io.reactivex.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:38)
at io.reactivex.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:26)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

Launch never finishes but CI job finishes successfully [v5]

We have upgraded RP from 4.3 to 5.2.
Upgraded agents accordingly:
agent-java-cucumber4 5.0.0-Beta-9
client-java 5.0.0
logger-java-logback 5.0.0

Launch stucks and never finishes until performing force finish manually, however job completes successfully.

image

Explanation: on the screenshot RP indicates that launch is still running and started 1 hour ago, but it's been already finished within 23 minutes since started.

Previously we hadn't had issue like that in 4th version.

Launch doesn't finish correctly if scenario contains unimplemented steps

If a cucumber scenario contains a step which is not implemented (i.e. doesn't have a glue method), so that the step obtains status 'STEP UNDEFINED', then it is not processed correctly in Report Portal:

  • Launch remains unfinished
  • Error is thrown in test:
io.reactivex.exceptions.OnErrorNotImplementedException: Report Portal returned error
Status code: 400
Status message: Bad Request
Error Message: Test item status is ambiguous. There is no status provided from request and there are no descendants to check statistics for test item id '5d31c6278a7f7106587c6e14'
Error Type: AMBIGUOUS_TEST_ITEM_STATUS

	at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:704)
	at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:701)
	at io.reactivex.internal.operators.maybe.MaybeCallbackObserver.onError(MaybeCallbackObserver.java:83)
	at io.reactivex.internal.operators.maybe.MaybeSubscribeOn$SubscribeOnMaybeObserver.onError(MaybeSubscribeOn.java:96)
	at io.reactivex.internal.operators.maybe.MaybeCache.onError(MaybeCache.java:103)
	at io.reactivex.internal.operators.maybe.MaybeFromCallable.subscribeActual(MaybeFromCallable.java:50)
	at io.reactivex.Maybe.subscribe(Maybe.java:3727)
	at io.reactivex.internal.operators.maybe.MaybeCache.subscribeActual(MaybeCache.java:77)
	at io.reactivex.Maybe.subscribe(Maybe.java:3727)
	at io.reactivex.internal.operators.maybe.MaybeSubscribeOn$SubscribeTask.run(MaybeSubscribeOn.java:54)
	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:452)
	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:61)
	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.epam.reportportal.exception.ReportPortalException: Report Portal returned error
Status code: 400
Status message: Bad Request
Error Message: Test item status is ambiguous. There is no status provided from request and there are no descendants to check statistics for test item id '5d31c6278a7f7106587c6e14'
Error Type: AMBIGUOUS_TEST_ITEM_STATUS

	at com.epam.reportportal.service.ReportPortalErrorHandler.handleError(ReportPortalErrorHandler.java:57)
	at com.epam.reportportal.restendpoint.http.DefaultErrorHandler.handle(DefaultErrorHandler.java:56)
	at com.epam.reportportal.restendpoint.http.HttpClientRestEndpoint$1.call(HttpClientRestEndpoint.java:486)
	at com.epam.reportportal.restendpoint.http.HttpClientRestEndpoint$1.call(HttpClientRestEndpoint.java:455)
	at io.reactivex.internal.operators.maybe.MaybeFromCallable.subscribeActual(MaybeFromCallable.java:46)
	... 12 more

Versions used:
Selenium: 3.141.59
Cucumber: 4.5.4
RP agent: com.epam.reportportal:agent-java-cucumber4:4.1.0
Plugin used: "com.epam.reportportal.cucumber.ScenarioReporter" (but same issue reproduced with StepReporter)

[v5]ReportPortalException Incorrect Request. [Field 'startTime' shouldn't be null.] with cucumber version 4.7.1

We are using below version of cucumber
4.7.1

earlier for parallel execution we are using this below dependency which is woking fine

com.epam.reportportal
agent-java-cucumber3
0.0.1-beta

Now to use retry logic feature upgraded to below

com.epam.reportportal
agent-java-cucumber4
5.0.0-BETA-9

Seeing this error:

2020-04-11 11:52:08 - ERROR | [21] ReportPortal execution error | (Launch:51_accept)
com.epam.reportportal.exception.ReportPortalException: Report Portal returned error
Status code: 400
Status message: Bad Request
Error Message: Incorrect Request. [Field 'startTime' shouldn't be null.]
Error Type: null

    at com.epam.reportportal.service.ReportPortalErrorHandler.handleError(ReportPortalErrorHandler.java:83) ~[client-java-5.0.0-BETA-9.jar:?]
    at com.epam.reportportal.service.ReportPortalErrorHandler.handle(ReportPortalErrorHandler.java:59) ~[client-java-5.0.0-BETA-9.jar:?]
    at com.epam.reportportal.restendpoint.http.HttpClientRestEndpoint$1.subscribe(HttpClientRestEndpoint.java:526) [client-java-5.0.0-BETA-9.jar:?]
    at io.reactivex.internal.operators.maybe.MaybeCreate.subscribeActual(MaybeCreate.java:45) [rxjava-2.2.10.jar:?]
    at io.reactivex.Maybe.subscribe(Maybe.java:4290) [rxjava-2.2.10.jar:?]
    at io.reactivex.internal.operators.maybe.MaybeSubscribeOn$SubscribeTask.run(MaybeSubscribeOn.java:54) [rxjava-2.2.10.jar:?]
    at io.reactivex.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:38) [rxjava-2.2.10.jar:?]
    at io.reactivex.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:26) [rxjava-2.2.10.jar:?]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_201]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_201]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_201]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]

Desktop (please complete the following information):

  • OS: Windows, Mac
  • Browser Chrome

Additional context

Also tried below combinations didn't work though:

com.epam.reportportal
agent-java-cucumber3
5.0.0-BETA-9

Started seeing this error - java.lang.NoSuchMethodError: cucumber.api.TestStep.getHookType()Lcucumber/api/HookType;

If I use below
com.epam.reportportal
agent-java-cucumber
5.0.0-BETA-9

then seeing this error - cucumber.runtime.CucumberException: Couldn't load plugin class: com.epam.reportportal.cucumber.ScenarioReporter. It does not implement cucumber.api.Plugin

RP agent throws an exception and stuck if there are several ScenarioOutline with the identical name in the feature

RP agent throws an exception and stuck if there are several scenario outlines with the same name in the feature
Agent can't diffirentiate them by name and throws an exception.

Jun 25, 2020 5:15:41 PM cucumber.runtime.Runtime run
SEVERE: Exception while executing pickle
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: No outline iteration number found for scenario /D:/PATH_TO_FEATURE/FEATURE.feature:54 #
A customer can use tabs to view product information
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at cucumber.runtime.Runtime.run(Runtime.java:114)
at io.cucumber.core.cli.Main.run(Main.java:43)
at io.cucumber.core.cli.Main.main(Main.java:14)
Caused by: java.lang.IllegalStateException: No outline iteration number found for scenario /D:/PATH_TO_FEATURE/FEATURE.feature:54 # A customer can use tabs to vi
ew product information
at com.epam.reportportal.cucumber.RunningContext$ScenarioContext.lambda$processScenarioOutline$4(RunningContext.java:216)
at java.util.OptionalInt.orElseThrow(OptionalInt.java:189)
at com.epam.reportportal.cucumber.RunningContext$ScenarioContext.processScenarioOutline(RunningContext.java:216)
at com.epam.reportportal.cucumber.RunningContext$FeatureContext.getScenarioContext(RunningContext.java:84)
at com.epam.reportportal.cucumber.AbstractReporter.handleStartOfTestCase(AbstractReporter.java:416)
at com.epam.reportportal.cucumber.AbstractReporter$4.receive(AbstractReporter.java:337)
at com.epam.reportportal.cucumber.AbstractReporter$4.receive(AbstractReporter.java:334)
at cucumber.runner.AbstractEventPublisher.send(AbstractEventPublisher.java:45)
at cucumber.runner.AbstractEventBus.send(AbstractEventBus.java:9)
at cucumber.runner.TimeServiceEventBus.send(TimeServiceEventBus.java:3)
at cucumber.runner.TestCase.run(TestCase.java:38)
at cucumber.runner.Runner.runPickle(Runner.java:50)
at cucumber.runtime.Runtime$1.run(Runtime.java:104)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at cucumber.runtime.Runtime$SameThreadExecutorService.execute(Runtime.java:258)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
at cucumber.runtime.Runtime.run(Runtime.java:101)
... 2 more

java.lang.IllegalStateException: Attempting re-set scenario ID for unfinished scenario

Setup:

@CucumberOptions(glue = "stepdef",
plugin = {
"pretty", "com.epam.reportportal.cucumber.ScenarioReporter",
},
features = "src/test/resources/features/test.feature")

public class RunCukesTest extends AbstractTestNGCucumberTests {

@Override
@DataProvider(parallel = true)
public Object[][] scenarios() {
    return super.scenarios();
}

}

Description:

Parallel execution of cucumber scenarios fails with "java.lang.IllegalStateException: Attempting re-set scenario ID for unfinished scenario"
If you remove com.epam.reportportal.cucumber.ScenarioReporter from @CucumberOptions parallel execution works well. Most likely RP Reporter reuses same id for every example of scenario outline when running in parallel.

NoSuchMethodError `com.fasterxml.jackson.core.JsonFactory.requiresPropertyOrdering()Z` is thrown with version 5.0.0-BETA-9

Hi, I couldn't run my tests on reportportal with below dependencies and config:

env: https://beta.demo.reportportal.io/
agent-java-cucumber4: 5.0.0-BETA-9
cucumber-java: 4.8.0
cucumber-testng: 4.8.0

TestRunner:

@CucumberOptions(features = "src/test/java/auto",
        glue = {"pakcages..."},
        tags = {"@dev"},
        plugin = {"pretty", "com.epam.reportportal.cucumber.ScenarioReporter"}
)

public class TestRunner {
    private TestNGCucumberRunner testNGCucumberRunner;

    @BeforeClass(alwaysRun = true)
    public void setUpClass(ITestContext iTestContext) throws Throwable {
        new AnnotationConfigApplicationContext(AxnCoreQaBeans.class);
        ContextHelper.setiTestContext(iTestContext);
        testNGCucumberRunner = new TestNGCucumberRunner(this.getClass());
    }

    @Test(description = "Runs Cucumber Scenario", dataProvider = "scenario")
    public void feature(PickleEventWrapper eventWrapper, CucumberFeatureWrapper cucumberFeature) throws Throwable {
        testNGCucumberRunner.runScenario(eventWrapper.getPickleEvent());
    }

    @DataProvider(parallel = true)
    public Object[][] scenario() {
        return testNGCucumberRunner.provideScenarios();
    }

    @AfterClass(alwaysRun = true)
    public void tearDownClass() throws Exception {
        testNGCucumberRunner.finish();
    }
}

Exception:

java.lang.NoSuchMethodError: com.fasterxml.jackson.core.JsonFactory.requiresPropertyOrdering()Z
	at com.fasterxml.jackson.databind.ObjectMapper.<init>(ObjectMapper.java:571)
	at com.fasterxml.jackson.databind.ObjectMapper.<init>(ObjectMapper.java:480)
	at com.epam.reportportal.service.ReportPortal$Builder.buildRestEndpoint(ReportPortal.java:390)
	at com.epam.reportportal.service.ReportPortal$Builder.buildClient(ReportPortal.java:380)
	at com.epam.reportportal.service.ReportPortal$Builder.build(ReportPortal.java:361)
	at com.epam.reportportal.cucumber.AbstractReporter.buildReportPortal(AbstractReporter.java:116)
	at com.epam.reportportal.cucumber.AbstractReporter$1.get(AbstractReporter.java:183)
	at com.epam.reportportal.cucumber.AbstractReporter$1.get(AbstractReporter.java:176)
	at rp.com.google.common.base.Suppliers$NonSerializableMemoizingSupplier.get(Suppliers.java:167)
	at com.epam.reportportal.cucumber.ScenarioReporter$1.get(ScenarioReporter.java:149)
	at com.epam.reportportal.cucumber.ScenarioReporter$1.get(ScenarioReporter.java:142)
	at rp.com.google.common.base.Suppliers$NonSerializableMemoizingSupplier.get(Suppliers.java:167)
	at com.epam.reportportal.cucumber.ScenarioReporter.getRootItemId(ScenarioReporter.java:121)
	at com.epam.reportportal.cucumber.AbstractReporter.createFeatureContext(AbstractReporter.java:436)
	at com.epam.reportportal.cucumber.AbstractReporter.handleStartOfTestCase(AbstractReporter.java:403)
	at com.epam.reportportal.cucumber.AbstractReporter.access$000(AbstractReporter.java:50)
	at com.epam.reportportal.cucumber.AbstractReporter$4.receive(AbstractReporter.java:330)
	at com.epam.reportportal.cucumber.AbstractReporter$4.receive(AbstractReporter.java:327)
	at cucumber.runner.AbstractEventPublisher.send(AbstractEventPublisher.java:45)
	at cucumber.runner.AbstractEventBus.send(AbstractEventBus.java:9)
	at cucumber.runner.TimeServiceEventBus.send(TimeServiceEventBus.java:3)
	at cucumber.runner.ThreadLocalRunnerSupplier$SynchronizedEventBus.send(ThreadLocalRunnerSupplier.java:93)
	at cucumber.runner.ThreadLocalRunnerSupplier$LocalEventBus.send(ThreadLocalRunnerSupplier.java:61)
	at cucumber.runner.TestCase.run(TestCase.java:38)
	at cucumber.runner.Runner.runPickle(Runner.java:50)
	at io.cucumber.testng.TestNGCucumberRunner.runScenario(TestNGCucumberRunner.java:79)
	at auto.TestRunner.feature(TestRunner.java:39)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
... Removed 9 stack frames
(Runs Cucumber Scenario)

logging is not working

Hey guys,
RP portal doesn't display current run state.
It publishes some details once run is finished,
but doesn't attach log4j logs and files.
image

Corrupt image attachments in 5.3 using cucumber integration

Describe the bug
Since we upgraded to RP version 5.3, our projects using agent-java-cucumber4(currently using 5.0.0-BETA-10) are logging corrupted screenshots.

To Reproduce

  • Report Portal 5.3
  • agent-java-cucumber4 (5.0.0-BETA-10)
    image

See comparation between one screenshot properly saved (on the left) and the same saved after upgrade to 5.3 (on the right and not working)

image

Could not find artifact io.cucumber:messages:jar:10.0.2

Getting the error Could not find artifact io.cucumber:messages:jar:10.0.2 in bintray-epam-reportportal (http://dl.bintray.com/epam/reportportal) while using dependency 5.0.0-BETA-9

I don't see a dependency version io.cucumber:messages 10.0.2 in maven central instead I see 10.0.3

any plan to publish the lib on maven?

Hi

our team are really interested using reportportal.io and we already use io.cucumber version 4. So we need this agent version. We can not find the jar on maven or bintray. So, we just clone your project and build manual. But it means we can miss your update. SO, any plan in the near future to publish it? Thanks

Cucumber-JVM: RP throws exception, when there is no features match the filter

Run set of features by any filter using the following parameters -Dcucumber.options=--tags @anyTag.
If there is no feature marked by tag @anyTag, Cucumber says:
None of the features at [classpath:com/epam/] matched the filters: [@anyTag]

Report Portal creates launch and item in launch:
DEBUG - ReportPortal launch with ID 'launchID' has been created.
DEBUG - ReportPortal item with ID 'itemID' has been created.

Then Report Portal throws exception:
`ERROR - ReportPortal execution error
com.epam.reportportal.exception.ReportPortalException: Report Portal returned error
Status code: 400
Status message:
Error Message: Test item status is ambiguous. There is no status provided from request and there are no descendants to check statistics for test item id 'itemID'
Error Type: AMBIGUOUS_TEST_ITEM_STATUS

at com.epam.reportportal.service.ReportPortalErrorHandler.handleError(ReportPortalErrorHandler.java:62)
at com.epam.restendpoint.http.DefaultErrorHandler.handle(DefaultErrorHandler.java:56)
at com.epam.restendpoint.http.HttpClientRestEndpoint$1$1.completed(HttpClientRestEndpoint.java:547)
at com.epam.restendpoint.http.HttpClientRestEndpoint$1$1.completed(HttpClientRestEndpoint.java:518)
at rp.org.apache.http.concurrent.BasicFuture.completed(BasicFuture.java:119)
at rp.org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl.responseCompleted(DefaultClientExchangeHandlerImpl.java:177)
at rp.org.apache.http.nio.protocol.HttpAsyncRequestExecutor.processResponse(HttpAsyncRequestExecutor.java:436)
at rp.org.apache.http.nio.protocol.HttpAsyncRequestExecutor.inputReady(HttpAsyncRequestExecutor.java:326)
at rp.org.apache.http.impl.nio.client.InternalRequestExecutor.inputReady(InternalRequestExecutor.java:83)
at rp.org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInput(DefaultNHttpClientConnection.java:265)
at rp.org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:81)
at rp.org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:39)
at rp.org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:114)
at rp.org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)
at rp.org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)
at rp.org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
at rp.org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)
at rp.org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
at rp.org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:588)
at java.lang.Thread.run(Thread.java:745)

io.reactivex.exceptions.OnErrorNotImplementedException: Report Portal returned error
Status code: 400
Status message:
Error Message: Test item status is ambiguous. There is no status provided from request and there are no descendants to check statistics for test item id 'itemID'
Error Type: AMBIGUOUS_TEST_ITEM_STATUS

at io.reactivex.internal.observers.EmptyCompletableObserver.onError(EmptyCompletableObserver.java:50)
at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.onError(CompletableSubscribeOn.java:74)
at io.reactivex.internal.operators.completable.CompletableCache.onError(CompletableCache.java:81)
at io.reactivex.internal.operators.maybe.MaybeIgnoreElementCompletable$IgnoreMaybeObserver.onError(MaybeIgnoreElementCompletable.java:73)
at io.reactivex.internal.operators.maybe.MaybeDoAfterSuccess$DoAfterObserver.onError(MaybeDoAfterSuccess.java:81)
at io.reactivex.internal.operators.maybe.MaybeDelayWithCompletable$DelayWithMainObserver.onError(MaybeDelayWithCompletable.java:107)
at io.reactivex.internal.operators.maybe.MaybeFlatten$FlatMapMaybeObserver$InnerObserver.onError(MaybeFlatten.java:125)
at io.reactivex.internal.operators.maybe.MaybePeek$MaybePeekObserver.onErrorInner(MaybePeek.java:147)
at io.reactivex.internal.operators.maybe.MaybePeek$MaybePeekObserver.onError(MaybePeek.java:134)
at io.reactivex.internal.operators.maybe.MaybePeek$MaybePeekObserver.onErrorInner(MaybePeek.java:147)
at io.reactivex.internal.operators.maybe.MaybePeek$MaybePeekObserver.onError(MaybePeek.java:134)
at io.reactivex.internal.operators.maybe.MaybeFlatten$FlatMapMaybeObserver.onError(MaybeFlatten.java:103)
at io.reactivex.internal.operators.maybe.MaybeSubscribeOn$SubscribeOnMaybeObserver.onError(MaybeSubscribeOn.java:96)
at io.reactivex.internal.operators.maybe.MaybeCache.onError(MaybeCache.java:103)
at io.reactivex.internal.operators.maybe.MaybeCreate$Emitter.onError(MaybeCreate.java:94)
at com.epam.restendpoint.http.HttpClientRestEndpoint$1$1.completed(HttpClientRestEndpoint.java:569)
at com.epam.restendpoint.http.HttpClientRestEndpoint$1$1.completed(HttpClientRestEndpoint.java:518)
at rp.org.apache.http.concurrent.BasicFuture.completed(BasicFuture.java:119)
at rp.org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl.responseCompleted(DefaultClientExchangeHandlerImpl.java:177)
at rp.org.apache.http.nio.protocol.HttpAsyncRequestExecutor.processResponse(HttpAsyncRequestExecutor.java:436)
at rp.org.apache.http.nio.protocol.HttpAsyncRequestExecutor.inputReady(HttpAsyncRequestExecutor.java:326)
at rp.org.apache.http.impl.nio.client.InternalRequestExecutor.inputReady(InternalRequestExecutor.java:83)
at rp.org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInput(DefaultNHttpClientConnection.java:265)
at rp.org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:81)
at rp.org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:39)
at rp.org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:114)
at rp.org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)
at rp.org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)
at rp.org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
at rp.org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)
at rp.org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
at rp.org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:588)
at java.lang.Thread.run(Thread.java:745)

Caused by: com.epam.reportportal.exception.ReportPortalException: Report Portal returned error
Status code: 400
Status message:
Error Message: Test item status is ambiguous. There is no status provided from request and there are no descendants to check statistics for test item id 'itemID'
Error Type: AMBIGUOUS_TEST_ITEM_STATUS

at com.epam.reportportal.service.ReportPortalErrorHandler.handleError(ReportPortalErrorHandler.java:62)
at com.epam.restendpoint.http.DefaultErrorHandler.handle(DefaultErrorHandler.java:56)
at com.epam.restendpoint.http.HttpClientRestEndpoint$1$1.completed(HttpClientRestEndpoint.java:547)
... 17 more

Exception in thread "I/O dispatcher 1" io.reactivex.exceptions.OnErrorNotImplementedException: Report Portal returned error
Status code: 400
Status message:
Error Message: Test item status is ambiguous. There is no status provided from request and there are no descendants to check statistics for test item id 'itemID'
Error Type: AMBIGUOUS_TEST_ITEM_STATUS

at io.reactivex.internal.observers.EmptyCompletableObserver.onError(EmptyCompletableObserver.java:50)
at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.onError(CompletableSubscribeOn.java:74)
at io.reactivex.internal.operators.completable.CompletableCache.onError(CompletableCache.java:81)
at io.reactivex.internal.operators.maybe.MaybeIgnoreElementCompletable$IgnoreMaybeObserver.onError(MaybeIgnoreElementCompletable.java:73)
at io.reactivex.internal.operators.maybe.MaybeDoAfterSuccess$DoAfterObserver.onError(MaybeDoAfterSuccess.java:81)
at io.reactivex.internal.operators.maybe.MaybeDelayWithCompletable$DelayWithMainObserver.onError(MaybeDelayWithCompletable.java:107)
at io.reactivex.internal.operators.maybe.MaybeFlatten$FlatMapMaybeObserver$InnerObserver.onError(MaybeFlatten.java:125)
at io.reactivex.internal.operators.maybe.MaybePeek$MaybePeekObserver.onErrorInner(MaybePeek.java:147)
at io.reactivex.internal.operators.maybe.MaybePeek$MaybePeekObserver.onError(MaybePeek.java:134)
at io.reactivex.internal.operators.maybe.MaybePeek$MaybePeekObserver.onErrorInner(MaybePeek.java:147)
at io.reactivex.internal.operators.maybe.MaybePeek$MaybePeekObserver.onError(MaybePeek.java:134)
at io.reactivex.internal.operators.maybe.MaybeFlatten$FlatMapMaybeObserver.onError(MaybeFlatten.java:103)
at io.reactivex.internal.operators.maybe.MaybeSubscribeOn$SubscribeOnMaybeObserver.onError(MaybeSubscribeOn.java:96)
at io.reactivex.internal.operators.maybe.MaybeCache.onError(MaybeCache.java:103)
at io.reactivex.internal.operators.maybe.MaybeCreate$Emitter.onError(MaybeCreate.java:94)
at com.epam.restendpoint.http.HttpClientRestEndpoint$1$1.completed(HttpClientRestEndpoint.java:569)
at com.epam.restendpoint.http.HttpClientRestEndpoint$1$1.completed(HttpClientRestEndpoint.java:518)
at rp.org.apache.http.concurrent.BasicFuture.completed(BasicFuture.java:119)
at rp.org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl.responseCompleted(DefaultClientExchangeHandlerImpl.java:177)
at rp.org.apache.http.nio.protocol.HttpAsyncRequestExecutor.processResponse(HttpAsyncRequestExecutor.java:436)
at rp.org.apache.http.nio.protocol.HttpAsyncRequestExecutor.inputReady(HttpAsyncRequestExecutor.java:326)
at rp.org.apache.http.impl.nio.client.InternalRequestExecutor.inputReady(InternalRequestExecutor.java:83)
at rp.org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInput(DefaultNHttpClientConnection.java:265)
at rp.org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:81)
at rp.org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:39)
at rp.org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:114)
at rp.org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)
at rp.org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)
at rp.org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
at rp.org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)
at rp.org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
at rp.org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:588)
at java.lang.Thread.run(Thread.java:745)

Caused by: com.epam.reportportal.exception.ReportPortalException: Report Portal returned error
Status code: 400
Status message:
Error Message: Test item status is ambiguous. There is no status provided from request and there are no descendants to check statistics for test item id 'itemID'
Error Type: AMBIGUOUS_TEST_ITEM_STATUS

at com.epam.reportportal.service.ReportPortalErrorHandler.handleError(ReportPortalErrorHandler.java:62)
at com.epam.restendpoint.http.DefaultErrorHandler.handle(DefaultErrorHandler.java:56)
at com.epam.restendpoint.http.HttpClientRestEndpoint$1$1.completed(HttpClientRestEndpoint.java:547)
... 17 more

DEBUG - http-outgoing-0 [CLOSED] [chunk-coded; completed: true]
DEBUG - http-outgoing-0 [CLOSED]: Disconnected
ERROR - Unable to finish launch in ReportPortal
com.epam.reportportal.exception.ReportPortalException: Report Portal returned error
Status code: 400
Status message:
Error Message: Test item status is ambiguous. There is no status provided from request and there are no descendants to check statistics for test item id 'itemID'
Error Type: AMBIGUOUS_TEST_ITEM_STATUS

at com.epam.reportportal.service.ReportPortalErrorHandler.handleError(ReportPortalErrorHandler.java:62)
at com.epam.restendpoint.http.DefaultErrorHandler.handle(DefaultErrorHandler.java:56)
at com.epam.restendpoint.http.HttpClientRestEndpoint$1$1.completed(HttpClientRestEndpoint.java:547)
at com.epam.restendpoint.http.HttpClientRestEndpoint$1$1.completed(HttpClientRestEndpoint.java:518)
at rp.org.apache.http.concurrent.BasicFuture.completed(BasicFuture.java:119)
at rp.org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl.responseCompleted(DefaultClientExchangeHandlerImpl.java:177)
at rp.org.apache.http.nio.protocol.HttpAsyncRequestExecutor.processResponse(HttpAsyncRequestExecutor.java:436)
at rp.org.apache.http.nio.protocol.HttpAsyncRequestExecutor.inputReady(HttpAsyncRequestExecutor.java:326)
at rp.org.apache.http.impl.nio.client.InternalRequestExecutor.inputReady(InternalRequestExecutor.java:83)
at rp.org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInput(DefaultNHttpClientConnection.java:265)
at rp.org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:81)
at rp.org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:39)
at rp.org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:114)
at rp.org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)
at rp.org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)
at rp.org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
at rp.org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)
at rp.org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
at rp.org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:588)
at java.lang.Thread.run(Thread.java:745)`

Note: Agent Java Cucumber 3.0.0

Cucumber4: Error Type: AMBIGUOUS_TEST_ITEM_STATUS when running cucumber scenarios in parallel

Hi,

I created sample public git repository to mimic this issue as below
https://github.com/yasin24885shaikh/reportportalCucumber4.git

I am getting below error while running cucumber features in parallel

Caused by: com.epam.reportportal.exception.ReportPortalException: Report Portal returned error
Status code: 400
Status message: Bad Request
Error Message: Test item status is ambiguous. There is no status provided from request and there are no descendants to check statistics for test item id '5de7e301f264de00018ab6d6'
Error Type: AMBIGUOUS_TEST_ITEM_STATUS

Getting error when add rp.skipped.issue=FALSE for iosDriver test

error details :

  • add rp.skipped.issue=FALSE and run test

Error: Unable to launch WebDriverAgent because of xcodebuild failure: "xcodebuild failed with code 65".

but if I change the flag to true or just remove that properties, it run successfully. Additional information, this problem doesn't appear on androidDriver

Launch does not finish if cucumber (java) test step is 'pending'

I'm using reportportal 4.3.0
My test run with cucumber/java 4.7.4 and connect to the portal with agent-java-cucumber4 v4.1.0

In my stepdefinition I throw a PendingException which just means that the step is not yet implemented and is understood by most plugins that work with cucumber.

In reportportal I can see, that all the data regarding the test was recieved (see screenshot). No problem so far.
However reportportal seems to interpret the "pending" as "still running". So the launch never finishes, even so all the test are done and all the data is recieved.
Is there a way to work around this?
ReportPortal_pending

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.