Coder Social home page Coder Social logo

reportportal / agent-java-cucumber Goto Github PK

View Code? Open in Web Editor NEW
26.0 21.0 16.0 1.04 MB

Cucumber JVM version [1.0.0; 2.0.0) adapter

License: Apache License 2.0

Java 97.64% Gherkin 2.36%
java cucumber reportportal cucumber-agent scenario-reporter agent cucumber-jvm

agent-java-cucumber'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-cucumber's People

Contributors

alejandrokolio avatar aliaksandrheleisha avatar avarabyeu avatar dzmitrykavalets avatar evjlobanova avatar filland avatar hardnorth avatar pbortnik avatar raikbitters avatar yumfriez avatar

Stargazers

 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  avatar

Watchers

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

agent-java-cucumber's Issues

Getting this exception: "Couldn't load plugin class: com.epam.reportportal.cucumber.ScenarioReporter" for agent-java-cucumber2

Hello all,
I am using cucumber java v 2.4.0 and here's how I use dependencies in my build.gradle file:

dependencies {
compile project(':my-proj)
implementation 'io.cucumber:cucumber-java:2.4.0'
implementation 'io.cucumber:cucumber-junit:2.4.0'
implementation 'com.epam.reportportal:agent-java-cucumber2:5.1.5'
testImplementation 'com.epam.reportportal:logger-java-logback:5.1.6'
testImplementation 'junit:junit:4.13.2'
testImplementation 'ch.qos.logback:logback-classic:1.3.8'
compile group: 'junit', name: 'junit', version: '4.13.2'
}

Actually I followed example from report portal java examples:
https://github.com/reportportal/examples-java/tree/master/example-cucumber2

However I'm getting this exception: "Couldn't load plugin class: com.epam.reportportal.cucumber.ScenarioReporter"

Any help how to fix this please?

cucumber.runtime.CucumberException: Only one formatter can use STDOUT, now both pretty and pretty use it. If you use more than one formatter you must specify output path with PLUGIN:PATH_OR_URL

cucumber.runtime.CucumberException: Only one formatter can use STDOUT, now both pretty and pretty use it. If you use more than one formatter you must specify output path with PLUGIN:PATH_OR_URL
at cucumber.runtime.formatter.PluginFactory.defaultOutOrFailIfAlreadyUsed(PluginFactory.java:185)
at cucumber.runtime.formatter.PluginFactory.convertOrNull(PluginFactory.java:144)
at cucumber.runtime.formatter.PluginFactory.instantiate(PluginFactory.java:99)
at cucumber.runtime.formatter.PluginFactory.create(PluginFactory.java:87)
at cucumber.runtime.RuntimeOptions.getPlugins(RuntimeOptions.java:245)
at cucumber.runtime.RuntimeOptions$1.invoke(RuntimeOptions.java:291)
at com.sun.proxy.$Proxy17.done(Unknown Source)
at cucumber.runtime.junit.JUnitReporter.done(JUnitReporter.java:227)
at cucumber.api.junit.Cucumber.run(Cucumber.java:101)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:542)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:770)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:464)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)

java.lang.NoSuchMethodError: okhttp3.OkHttpClient$Builder.callTimeout

Is cucumber-java :7.12.1 supported by agent-java-cucumber6? I see in the docs its supported till 7.0.0 of cucumber-java and junit.

I am using agent-java-cucumber6:5.2.0 along with cucumber-java 7.12.1.
I am facing issue of following error. Could you let me know whats the issue


       at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)

       at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)

       at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)

       at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)

Caused by: java.lang.NoSuchMethodError: okhttp3.OkHttpClient$Builder.callTimeout(Ljava/time/Duration;)Lokhttp3/OkHttpClient$Builder;

       at com.epam.reportportal.service.ReportPortal$Builder.defaultClient(ReportPortal.java:542)

       at com.epam.reportportal.service.ReportPortal$Builder.lambda$buildClient$1(ReportPortal.java:430)

       at java.base/java.util.Optional.orElseGet(Optional.java:369)

       at com.epam.reportportal.service.ReportPortal$Builder.buildClient(ReportPortal.java:430)

       at com.epam.reportportal.service.ReportPortal$Builder.build(ReportPortal.java:407)

       at com.epam.reportportal.cucumber.AbstractReporter.buildReportPortal(AbstractReporter.java:193)

       at com.epam.reportportal.cucumber.AbstractReporter.<init>(AbstractReporter.java:90)

       at com.epam.reportportal.cucumber.ScenarioReporter.<init>(ScenarioReporter.java:49)

       at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

       at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

       at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

       at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)

       at io.cucumber.core.plugin.PluginFactory.newInstance(PluginFactory.java:116)

       ... 65 more

AMBIGUOUS_TEST_ITEM_STATUS error if tag excluded in execution, but Feature file has only Scenarios with this tag

In Cucumber we can exclude some tags from execution. Example:

-Dcucumber.options="--tags ~@excludedTag"

In case if feature files has only scenarios, which marked by this tag:

Feature: Feature1

  Background:
    Given step1
    And step2
    When step3

  @excludedTag
  Scenario: Scenario1
    And step4
    Then step5
...

we receive situation when Test Item will be start in beforeFeature method

protected void beforeFeature(Feature feature) {
	...
		if (null == root) {
			currentFeatureId = RP.get().startTestItem(rq);
		} else {
                       currentFeatureId = RP.get().startTestItem(root, rq);
		}

	}

but then execution will immediately goes to after feature method and we will try to finish empty Test Item

  protected void afterFeature() {
		Utils.finishTestItem(RP.get(), currentFeatureId);
		currentFeatureId = null;
	}

As result I got following 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 '5b617cba8a7f7107c4a5d56c'
Error Type: AMBIGUOUS_TEST_ITEM_STATUS

No such method error CucumberException: java.lang.NoSuchMethodError: okhttp3.OkHttpClient$Builder

Hi ,

I am trying to use ScenarioReporter plugin in multi.module gradle project with previously with cucumber-java8 and as we migrated to cucumber-java. I have faced issues with AbstractMethoderror

`

Receiver class com.epam.reportportal.cucumber.AbstractReporter$$Lambda$443/0x0000000100379c40 does not define or inherit an implementation of the resolved method abstract receive(Ljava/lang/Object;)V of interface io.cucumber.plugin.event.EventHandler.

java.lang.AbstractMethodError: Receiver class com.epam.reportportal.cucumber.AbstractReporter$$Lambda$443/0x0000000100379c40 does not define or inherit an implementation of the resolved method abstract receive(Ljava/lang/Object;)V of interface io.cucumber.plugin.event.EventHandler`

Followed by trying imported agent-java-cucumber6 . Post that i am facing NoSuchMethoderror

Specs i am using are
io.cucumber : cucumber-java 7.12.1
agent-java-cucumber6 5.2.0

Not sure is this related to Plugin. But as far as error i see its missing method from the ReportPortal. Am i missing any configuration??

Can you provide any suggestions or comments on this issue


Caused by: java.lang.NoSuchMethodError: okhttp3.OkHttpClient$Builder.callTimeout(Ljava/time/Duration;)Lokhttp3/OkHttpClient$Builder;

       at com.epam.reportportal.service.ReportPortal$Builder.defaultClient(ReportPortal.java:542)

       at com.epam.reportportal.service.ReportPortal$Builder.lambda$buildClient$1(ReportPortal.java:430)

       at java.base/java.util.Optional.orElseGet(Optional.java:369)

       at com.epam.reportportal.service.ReportPortal$Builder.buildClient(ReportPortal.java:430)

       at com.epam.reportportal.service.ReportPortal$Builder.build(ReportPortal.java:407)

       at com.epam.reportportal.cucumber.AbstractReporter.buildReportPortal(AbstractReporter.java:193)

       at com.epam.reportportal.cucumber.AbstractReporter.<init>(AbstractReporter.java:90)

       at com.epam.reportportal.cucumber.ScenarioReporter.<init>(ScenarioReporter.java:49)

       at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

       at 
       at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)

Caused by: java.lang.NoSuchMethodError: okhttp3.OkHttpClient$Builder.callTimeout(Ljava/time/Duration;)Lokhttp3/OkHttpClient$Builder;

       at com.epam.reportportal.service.ReportPortal$Builder.defaultClient(ReportPortal.java:542)

       at com.epam.reportportal.service.ReportPortal$Builder.lambda$buildClient$1(ReportPortal.java:430)

       at java.base/java.util.Optional.orElseGet(Optional.java:369)

       at com.epam.reportportal.service.ReportPortal$Builder.buildClient(ReportPortal.java:430)

       at com.epam.reportportal.service.ReportPortal$Builder.build(ReportPortal.java:407)

       at com.epam.reportportal.cucumber.AbstractReporter.buildReportPortal(AbstractReporter.java:193)

       at com.epam.reportportal.cucumber.AbstractReporter.<init>(AbstractReporter.java:90)

       at com.epam.reportportal.cucumber.ScenarioReporter.<init>(ScenarioReporter.java:49)

       at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

       at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

       at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

       at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)

       at io.cucumber.core.plugin.PluginFactory.newInstance(PluginFactory.java:116)
`

java.lang.NoSuchMethodError -- dependency conflict with jdi-dark-bdd breaks Cucumber Step Reporter

Describe the bug
When I run this test:

@RunWith(Cucumber.class)
@CucumberOptions(plugin = { "pretty", "com.epam.reportportal.cucumber.StepReporter" })
public class RunTests {
}

I get the following error:

java.lang.NoSuchMethodError: 'java.util.Optional io.cucumber.core.gherkin.FeatureParser.parse(java.net.URI, java.io.InputStream, java.util.function.Supplier)'

The reason seems to be the transitive dependency of io.cucumber:cucumber-gherkin that comes into conflict with jdi-dark-bdd and overrides it. Here's the relevant output from mvn dependency:tree:

[INFO] +- com.epam.reportportal:agent-java-cucumber6:jar:5.1.3:compile
...
[INFO] |  +- io.cucumber:cucumber-gherkin:jar:7.3.4:compile
[INFO] |  |  \- io.cucumber:cucumber-plugin:jar:7.3.4:compile
...

and:

[INFO] +- com.epam.jdi:jdi-dark-bdd:jar:1.1.13:compile
[INFO] |  +- com.epam.jdi:jdi-dark:jar:1.1.13:compile
...
[INFO] |  +- io.cucumber:cucumber-java:jar:7.10.1:compile
[INFO] |  +- io.cucumber:gherkin:jar:26.0.2:compile
[INFO] |  |  \- io.cucumber:messages:jar:19.1.4:compile (version selected from constraint [19.1.4,22.0.0))
...

Steps to Reproduce
Steps to reproduce the behavior:

  1. Use both com.epam.jdi:jdi-dark-bdd and com.epam.reportportal:agent-java-cucumber6 with cucumber version >= 7.10.1
  2. Try to launch a test

Expected behavior
The test should launch.

Actual behavior
The test does not launch and the execution ends with NoSuchMethodError.

Dependency versions
Included above.

Additional context
I was able to solve the issue by excluding the transitive dependency like this:

<dependency>
    <groupId>com.epam.reportportal</groupId>
    <artifactId>agent-java-cucumber6</artifactId>
    <version>5.1.3</version>
    <exclusions>
        <exclusion>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-gherkin</artifactId>
        </exclusion>
    </exclusions>
</dependency>

cucumber.runtime.CucumberException: Couldn't load plugin class: com.epam.reportportal.cucumber.ScenarioReporter

Using Cucumber Java - 2.0.0
agent-java-cucumber -4.0.2

I am integrating the Cucumber Java with ReportPortal and getting below issue

cucumber.runtime.CucumberException: Couldn't load plugin class: com.epam.reportportal.cucumber.ScenarioReporter
at cucumber.runtime.formatter.PluginFactory.loadClass(PluginFactory.java:175)
at cucumber.runtime.formatter.PluginFactory.pluginClass(PluginFactory.java:165)
at cucumber.runtime.formatter.PluginFactory.getPluginClass(PluginFactory.java:226)
at cucumber.runtime.formatter.PluginFactory.isFormatterName(PluginFactory.java:195)
at cucumber.runtime.RuntimeOptionsFactory.addPlugins(RuntimeOptionsFactory.java:90)
at cucumber.runtime.RuntimeOptionsFactory.buildArgsFromOptions(RuntimeOptionsFactory.java:37)
at cucumber.runtime.RuntimeOptionsFactory.create(RuntimeOptionsFactory.java:24)
at cucumber.api.testng.TestNGCucumberRunner.(TestNGCucumberRunner.java:37)
at cucumber.api.testng.AbstractTestNGCucumberTests.setUpClass(AbstractTestNGCucumberTests.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:517)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:140)
at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:170)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:104)
at org.testng.TestRunner.privateRun(TestRunner.java:771)
at org.testng.TestRunner.run(TestRunner.java:621)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:357)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:352)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:310)
at org.testng.SuiteRunner.run(SuiteRunner.java:259)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1199)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1124)
at org.testng.TestNG.run(TestNG.java:1032)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
Caused by: java.lang.ClassNotFoundException: com.epam.reportportal.cucumber.ScenarioReporter
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at cucumber.runtime.formatter.PluginFactory.loadClass(PluginFactory.java:173)
... 32 more

ScenarioReporter mark skipped scenarios as failed

Test that is skipped by org.junit.AssumptionViolatedException marked as skipped when using StepReporter.
Same step that is skipped by same exception type is marked as failed when using ScenarioReporter.

Cannot resolve com.epam.reportportal:agent-java-cucumber:5.1.0-RC-2

I work for a large US media company (arguably, #1 in us) and we are using Artifactory as our in-house Maven repository. Each time I attempt to ingest agent-java-cucumber from my local project, I get the following error

Cannot resolve com.epam.reportportal:agent-java-cucumber:5.1.0-RC-2

This is not a network issue as referred to in #73. Our company deals with thousands of artifacts stored within Artifactory. If it was a network issue, our DevOps team would know about it.

Here is an article from StackOverflow that outlines the problem: https://stackoverflow.com/questions/34615341/jenkins-artifactory-plugin-not-generating-pom-file. In the article, it states

So indeed you would need the jar and the .pom file

It appears that Maven Central is missing the pom file. The jar file is available, but no pom file.

As you can see, this issue is tied to the source artifact -- i.e. the one currently deployed to Maven Central. I am requesting that this gets investigated in the hopes that the pom files are deployed alongside each of the com.epam.reportportal artifacts

  • agent-java-cucumber (v5.1.0-RC-2)
  • client-java (v5.1.0-RC-6)
  • commons-model (v5.0.0)

Invalid dependency version in pom.xml for v4.0.0

Probably due to This Gradle Issue the generated pom.xml file contains an invalid version for maven syntax (4.+ instead of [4.0.0,)) preventing the dependencies to be resolved in Maven, and consequently the usage of the new version.

this causes the following errors:

[WARNING] The POM for com.epam.reportportal:client-java:jar:4.+ is missing, no dependency information available
[WARNING] The POM for com.epam.reportportal:commons-model:jar:4.+ is missing, no dependency information available
The following artifacts could not be resolved: com.epam.reportportal:client-java:jar:4.+, com.epam.reportportal:commons-model:jar:4.+: Could not find artifact com.epam.reportportal:client-java:jar:4.+ 

As a workaround the following dependency declaration can be informed:

        <dependency>
            <groupId>com.epam.reportportal</groupId>
            <artifactId>client-java</artifactId>
            <version>[4.0.0,)</version>
        </dependency>
        <dependency>
            <groupId>com.epam.reportportal</groupId>
            <artifactId>commons-model</artifactId>
            <version>[4.0.0,)</version>
        </dependency>

StringIndexOutOfBoundsException when running a test

I'm encountering the following stack trace when I attempt to execute a test

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
	at java.lang.String.substring(String.java:1967)
	at com.epam.reportportal.cucumber.AbstractReporter.getCodeRef(AbstractReporter.java:714)
	at com.epam.reportportal.cucumber.AbstractReporter.buildStartStepRequest(AbstractReporter.java:312)
	at com.epam.reportportal.cucumber.ScenarioReporter.buildStartStepRequest(ScenarioReporter.java:66)
	at com.epam.reportportal.cucumber.AbstractReporter.beforeStep(AbstractReporter.java:335)
	at com.epam.reportportal.cucumber.ScenarioReporter.beforeStep(ScenarioReporter.java:73)
	at com.epam.reportportal.cucumber.AbstractReporter.match(AbstractReporter.java:473)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at cucumber.runtime.Utils$1.call(Utils.java:40)
	at cucumber.runtime.Timeout.timeout(Timeout.java:16)
	at cucumber.runtime.Utils.invoke(Utils.java:34)
	at cucumber.runtime.RuntimeOptions$1.invoke(RuntimeOptions.java:294)
	at com.sun.proxy.$Proxy13.match(Unknown Source)
	at cucumber.runtime.Runtime.runStep(Runtime.java:279)
	at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44)
	at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39)
	at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44)
	at cucumber.runtime.model.CucumberFeature.run(CucumberFeature.java:165)
	at cucumber.runtime.Runtime.run(Runtime.java:122)
	at cucumber.api.cli.Main.run(Main.java:36)
	at cucumber.api.cli.Main.main(Main.java:18)

The error refers to line 714 in the AbstractReporter.getCodeRef method, which looks like

return fullCodeRef != null ? fullCodeRef.substring(0, fullCodeRef.indexOf(METHOD_OPENING_BRACKET)) : null;

My setup

  • agent-java-cucumber (v5.1.0-RC-2)
  • cucumber-groovy (v1.2.5)
  • Java SDK (v1.8.0_181)

Any thoughts as to why this is happening?

java.lang.ClassNotFoundException after switching to 4.0.0 version

After upgrading to the testCompile com.epam.reportportal:agent-java-cucumber:4.0.0 version following error shows:
utils.RunCukesTest > initializationError FAILED
cucumber.runtime.CucumberException
Caused by: java.lang.ClassNotFoundException

Looks like there is no cucumber.StepReporter and/or cucumber.ScenarioReporter in com.epam.reportportal package.

Would agent-java-cucumber be available in MavenCentral?

Certain firewall rules are preventing downloading dependencies from Bintray. Also, given that Bintray services are going to be deprecated in the near future, what is the plan of publishing agent-java-cucumber to another artifactory or jitpack.io?

Could not load plugin class 'com.epam.reportportal.cucumber.ScenarioReporter'.

java.lang.IllegalArgumentException: The plugin specification 'com.epam.reportportal.cucumber.ScenarioReporter' has a problem:
Could not load plugin class 'com.epam.reportportal.cucumber.ScenarioReporter'.

Plugin specifications should have the format of PLUGIN[:[PATH|[URI [OPTIONS]]]

Valid values for PLUGIN are: html, json, junit, message, pretty, progress, rerun, summary, teamcity, testng, timeline, unused, usage

PLUGIN can also be a fully qualified class name, allowing registration of 3rd party plugins. The 3rd party plugin must implement io.cucumber.plugin.Plugin

I tried with different cucumber versions

Cucumber: Test never ends - Threads are in wait state

For running performance tests our team use Cucumber cli runner implementation cucumber.api.cli.Main. With Report Portal v.2 and related libs reportportal-client, reportportal-log4j-integration, reportportal-client-core v.2.1.6 this approach works without issues.
After migration to Report Portal v.3 we found that the same code work with issues with new RPv3 libs:

		<dependency>
			<groupId>com.epam.reportportal</groupId>
			<artifactId>agent-java-cucumber</artifactId>
			<version>3.0.1</version>
		</dependency>
		<dependency>
			<groupId>com.epam.reportportal</groupId>
			<artifactId>logger-java-log4j</artifactId>
			<version>3.0.2</version>
		</dependency>
		<dependency>
			<groupId>com.epam.reportportal</groupId>
			<artifactId>commons-model</artifactId>
			<version>3.2.0</version>
		</dependency>
		<dependency>
			<groupId>com.epam.reportportal</groupId>
			<artifactId>client-java</artifactId>
			<version>3.0.10</version>
		</dependency>

Test run never ends, looks like because of threads UrlChecker, RxComputationThreadPool, RxSchedulerPurge waiting state.
Test project is created to reproduce this issue on any env, last actual RP libs version are included.
https://github.com/Vitovtx/reproduceThreadsFailure/

java.lang.NoSuchMethodError: io.cucumber.cucumberexpressions.Expression.match(Ljava/lang/String;)Ljava/util/List;

Occurs when trying to use Cucumber JVM 4.1.1 with expressions 6.2.0

      java.lang.NoSuchMethodError: io.cucumber.cucumberexpressions.Expression.match(Ljava/lang/String;)Ljava/util/List;
	at io.cucumber.stepexpression.StepExpression.match(StepExpression.java:21)
	at io.cucumber.stepexpression.StepExpression.match(StepExpression.java:33)
	at io.cucumber.stepexpression.ExpressionArgumentMatcher.argumentsFrom(ExpressionArgumentMatcher.java:30)
	at cucumber.runtime.java.JavaStepDefinition.matchedArguments(JavaStepDefinition.java:53)
	at cucumber.runner.Glue.stepDefinitionMatches(Glue.java:104)
	at cucumber.runner.Glue.stepDefinitionMatch(Glue.java:82)
	at cucumber.runner.Runner.addTestStepsForPickleSteps(Runner.java:64)
	at cucumber.runner.Runner.createTestCaseForPickle(Runner.java:54)
	at cucumber.runner.Runner.runPickle(Runner.java:39)
	at cucumber.runtime.junit.PickleRunners$NoStepDescriptions.run(PickleRunners.java:146)
	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:68)
	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:23)

How to gradle build the version 5.0.x ? Exception in "signing.gradle"

Hi,

I am trying to build the commit e348b37 locally.

I used the "gradle build" in the project folder and encountered the following failure:

image

It looks like I need to prepare a credential as the parameters in build time to do the signing.

How can I get such a credential to have the lib built successfully?

Thanks for the help.

How to get single launch for single run

Is your feature request related to a problem? Please describe.

  1. Migrated from Cucumber 4 to 6 and integrated report portal into the project
  2. Contains 2 runner files
  3. When running the project, Could see 2 launches are getting launched on report portal, one for each runner file which is not expected

Describe the solution you'd like
I require a single launch which shows result of both both launches(runner files)

Note: It is working fine in extent reports
image

java.lang.NoClassDefFoundError: gherkin/formatter/Formatter

While Integration of Cucumber project to Reportportal, I am facing the following Initialization exception

java.lang.NoClassDefFoundError: gherkin/formatter/Formatter
Caused by: java.lang.ClassNotFoundException: gherkin.formatter.Formatter

Please find my following runner class details


//@RunWith(CucumberWithSerenity.class)
@RunWith(Cucumber.class)
@CucumberOptions(
        //plugin = {"pretty", "html:target/cucumber-html-report"},
		plugin = {"pretty", "com.epam.reportportal.cucumber.StepReporter"},
	        `features` = "Artifacts\\TAF_2.6.1\\Features"
)
public class BusConfigRunner {

}

and the versions which i tried:

agent-java-cucumber : 2.6.1 and 3.0.0 and 3.0.1

with normal cucumber html plugin I am able to generate report.

Please do let me know for additional details required.

Regards,
Amarnath

Cannot load class from file: com.epam.reportportal.testng.ReportPortalListener

Using ReportPortal 3.0.1, TestNG 6.14.3, Gherkin 5.1.0 and Cucumber 2.4.0, gives me error:

org.testng.TestNGException: 
Cannot load class from file: com.epam.reportportal.testng.ReportPortalListener
	at org.testng.internal.ClassHelper.fileToClass(ClassHelper.java:551)
	at org.testng.TestNG.configure(TestNG.java:1440)
	at org.testng.TestNG.configure(TestNG.java:1619)
	at org.apache.maven.surefire.testng.conf.TestNGMapConfigurator.configure(TestNGMapConfigurator.java:56)
	at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:132)
	at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeSingleClass(TestNGDirectoryTestSuite.java:112)
	at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:99)
	at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146)
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143)

What could be the root cause?

Serenity BDD Agent to support detailed reporting to reportportal

Is your feature request related to a problem? Please describe.
Currently there is no agent to support Serenity BDD automation. As per the docs on reportportal, I found this open-source contribution from Invictum but its outdated from both ReportPortal client-java and Serenity Core versions.
I am using the provided agent from cucumber6 but it is not able to report the detailed Steps like how this plugin used to work with old versions - https://github.com/Invictum/serenity-reportportal-integration

Describe the solution you'd like
Either an addition to existing cucumber6-7 agent or a separate agent plugin to support this integration will help to get this feature out of the box. It will be also helpful if we can have a starter-kit which we can extend as per our use cases.

Describe alternatives you've considered
java-agent-cucumber6 --> this works for providing the basic report for the scenario and immediate steps only (most hurtful is that attachments are missing from Reportportal Launch). Its missing the internal steps inside the traditional GIVEN, WHEN and THEN

Appreciate if there is any workaround or guidance to start building this plugin.

Support of multiple scenario attachements

When you add more than 1 attachments to a scenario, only one is visible in report portal.

Using this code more than one time in your tests:
scenario.embed(screenshot, "image/png");

In fact, AbstractReporter use mimetype as file name.
In AbstractReporter.java:
@Override public void embedding(String mimeType, byte[] data) {

Perhaps the reporter should generate a different name for each attachment.

Exception Message During the test execution

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <timestamp>${maven.build.timestamp}</timestamp>
    <maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
    <java.version>1.8</java.version>

    <!-- JUNIT  and Cucumber Version  -->
    <junit.version>4.13.1</junit.version>
    <cucumber.version>6.10.0</cucumber.version>

    <!-- RestAssured and Hamcrest version  -->
    <rest-assured.version>3.3.0</rest-assured.version>
    <hamcrest.version>2.2</hamcrest.version>

    <!-- Selenium Version  -->
    <selenium.version>3.141.59</selenium.version>

    <!--cucumber-expression and gherkin -->
    <cucumber-expression>13.0.0</cucumber-expression>
    <gherkin>19.0.0</gherkin>

    <!--Reports-->
    <cucumber-reporting>5.3.0</cucumber-reporting>
    <reporting-plugin>4.0.56</reporting-plugin>

    <!-- TestNg and Commons  Version  -->
    <testNG.version>7.4.0</testNG.version>

    <cucumber.report.json.location>${project.basedir}/json</cucumber.report.json.location>
    <generated.report.location>${project.build.directory}/cluecumber-report</generated.report.location>

</properties>

<dependencies>


    <!--05.  Junit for Run test -->

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
    </dependency>


    <!--06.  Cucumber Junit for Run test -->

    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>${cucumber.version}</version>
        <scope>test</scope>
    </dependency>

    <!--07.  Cucumber Pico container For dependency Injection-->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-picocontainer</artifactId>
        <version>${cucumber.version}</version>
        <scope>test</scope>
    </dependency>

    <!--08.  cucumber-core is a Core library for the Cucumber BDD app-->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-core</artifactId>
        <version>${cucumber.version}</version>
    </dependency>

    <!--09. Cucumber-java is used to write them using annotated methods and also use Api Level Testing -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>${cucumber.version}</version>
    </dependency>

    <!--11.  cucumber-TestNg  can be executed in parallel using TestNG and Maven-->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-testng</artifactId>
        <version>${cucumber.version}</version>
        <scope>test</scope>
    </dependency>

    <!--12.  TestNG is a testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier-->

    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>${testNG.version}</version>
        <scope>test</scope>
    </dependency>

   
     <dependency>
         <groupId>io.cucumber</groupId>
         <artifactId>gherkin</artifactId>
         <version>5.1.0</version>
     </dependency>
   


     <!--13.  selenium-support - Selenium automates browsers. -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-support</artifactId>
        <version>${selenium.version}</version>
    </dependency>

    <!--14.  selenium-java - Selenium automates browsers. -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>${selenium.version}</version>
    </dependency>
    <!--
      <dependency>
          <groupId>io.cucumber</groupId>
          <artifactId>cucumber-expressions</artifactId>
          <version>10.3.0</version>
      </dependency>
               -->
      <dependency>
          <groupId>tech.grasshopper</groupId>
          <artifactId>extentreports-cucumber5-adapter</artifactId>
          <version>1.3.2</version>
      </dependency>
   
  <!-- https://mvnrepository.com/artifact/com.aventstack/extentreports -->
    <!--
    <dependency>
        <groupId>com.aventstack</groupId>
        <artifactId>extentreports</artifactId>
        <version>5.0.8</version>
    </dependency>
    -->
    <!-- https://mvnrepository.com/artifact/com.vimalselvam/cucumber-extentsreport -->
    <dependency>
        <groupId>com.vimalselvam</groupId>
        <artifactId>cucumber-extentsreport</artifactId>
        <version>3.1.1</version>
    </dependency>



    <!-- https://mvnrepository.com/artifact/net.masterthought/cucumber-reporting -->
    <dependency>
        <groupId>net.masterthought</groupId>
        <artifactId>cucumber-reporting</artifactId>
        <version>5.5.2</version>
    </dependency>


</dependencies>


<build>


    <plugins>
        <plugin>
            <groupId>com.trivago.rta</groupId>
            <artifactId>cluecumber-report-plugin</artifactId>
            <version>2.1.0</version>
            <executions>
                <execution>
                    <id>report</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>reporting</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <sourceJsonReportDirectory>${project.build.directory}</sourceJsonReportDirectory>
                <generatedHtmlReportDirectory>${project.build.directory}/generated-report</generatedHtmlReportDirectory>
                <expandBeforeAfterHooks>true</expandBeforeAfterHooks>
            </configuration>
        </plugin>


        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.20</version>
            <configuration>
                <testFailureIgnore>true</testFailureIgnore>
                <forkCount>3</forkCount>
                <reuseForks>false</reuseForks>
                <argLine>-Dfile.encoding=UTF-8</argLine>
                <disableXmlReport>true</disableXmlReport>
                <includes>
                    <include>**/Test*.java</include>
                    <include>**/*TestRun.java</include>
                    <include>**/*run00*.java</include>
                </includes>
            </configuration>
        </plugin>


        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <encoding>UTF-8</encoding>
                <source>${java.version}</source>
                <target>${java.version}</target>
            </configuration>
        </plugin>


        <plugin>
            <groupId>net.masterthought</groupId>
            <artifactId>maven-cucumber-reporting</artifactId>
            <version>5.3.0</version>
            <executions>
                <execution>
                    <id>report</id>
                    <phase>integration-test</phase>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${project.build.directory}</outputDirectory>
                        <jsonFiles>
                            <jsonFile>**/*.json</jsonFile>
                        </jsonFiles>
                        <mergeFeaturesWithRetest>true</mergeFeaturesWithRetest>
                        <mergeFeaturesById>true</mergeFeaturesById>
                        <checkBuildResult>false</checkBuildResult>
                        <skipEmptyJSONFiles>true</skipEmptyJSONFiles>
                    </configuration>
                </execution>
            </executions>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.22.0</version>
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>




    </plugins>


</build>

io.cucumber.core.exception.CucumberException: java.lang.NoClassDefFoundError: io/cucumber/core/internal/gherkin/ParserException

at io.cucumber.core.plugin.PluginFactory.newInstance(PluginFactory.java:120)
at io.cucumber.core.plugin.PluginFactory.instantiate(PluginFactory.java:99)
at io.cucumber.core.plugin.PluginFactory.create(PluginFactory.java:63)
at io.cucumber.core.plugin.Plugins.createPlugins(Plugins.java:32)
at io.cucumber.core.plugin.Plugins.<init>(Plugins.java:25)
at io.cucumber.junit.Cucumber.<init>(Cucumber.java:162)
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:70)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
at org.junit.internal.requests.ClassRequest.createRunner(ClassRequest.java:28)
at org.junit.internal.requests.MemoizingRequest.getRunner(MemoizingRequest.java:19)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:49)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)

Caused by: java.lang.NoClassDefFoundError: io/cucumber/core/internal/gherkin/ParserException
at com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter.(ExtentCucumberAdapter.java:96)
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 io.cucumber.core.plugin.PluginFactory.newInstance(PluginFactory.java:116)
... 20 more
Caused by: java.lang.ClassNotFoundException: io.cucumber.core.internal.gherkin.ParserException
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 26 more

Process finished with exit code -1

@CucumberOptions(

    plugin = {
            "json:target/cucumber-report/cucumber.json",
            "pretty", "html:target/cucumber-reports",
            "com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter:"},
    features = {"src/test/resources/Features"},
    glue = {"StepDefinitions"},
    strict = true ,
    monochrome = true

@Step Annotation throw IllegalArgumentException

Describe the bug
When i'm using @step annotation and get the value from method parameter inside the Step description if its contains special character its throw illegalArgumentExp

e.g
@com.epam.reportportal.annotations.Step("Navigate to : {0}")
where {0} = /$^&^@#

Expected behavior
Its should take it as its

Error
java.lang.IllegalArgumentException: Illegal group reference

Versions:

  • Chrome
  • Version of RP [5.0.0-BETA-9]

No INFO log except dataTable log with agent-java-cucumber6 and logback

I was trying to integrate reportportal to my workflow. And unfortunately, while report can be uploaded to reportportal, no INFO log got attached

Below is my configuration:

logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- Send debug messages to System.out -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!-- By default, encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} %-5level %logger{5} - %thread - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="RP" class="com.epam.reportportal.logback.appender.ReportPortalAppender">
        <encoder>
            <!--Best practice: don't put time and logging level to the final message. Appender do this for you-->
            <pattern>%d{HH:mm:ss.SSS} [%t] %-5level - %msg%n</pattern>
            <pattern>[%t] - %msg%n</pattern>
        </encoder>
    </appender>

    <!--'additivity' flag is important! Without it logback will double-log log messages-->
    <logger name="binary_data_logger" level="TRACE" additivity="false">
        <appender-ref ref="RP"/>
    </logger>

    <logger name="com.epam.reportportal.service" level="WARN"/>
    <logger name="com.epam.reportportal.utils" level="WARN"/>

    <!-- By default, the level of the root level is set to DEBUG -->
    <root level="TRACE">
        <appender-ref ref="RP"/>
        <appender-ref ref="STDOUT"/>
    </root>

</configuration>

in gradle, I imported those 2 libs for report portal

testImplementation("com.epam.reportportal:agent-java-cucumber6:5.2.0")
testImplementation("com.epam.reportportal:logger-java-logback:5.1.6")

The result I got on report portal displayed as following

image Those log should have couple of INFO and DEBUG log, but it turned out none, the log is displayed normally in STDOUT though.

Thank you for your help

'com.epam.reportportal.cucumber.ScenarioReporter' does not implement 'io.cucumber.plugin.Plugin'.

*Describe the bug

I am getting the below error while integrating with Cucumber testng project.

java.lang.IllegalArgumentException: The plugin specification 'com.epam.reportportal.cucumber.ScenarioReporter' has a problem:

'com.epam.reportportal.cucumber.ScenarioReporter' does not implement 'io.cucumber.plugin.Plugin'.

Plugin specifications should have the format of PLUGIN[:[PATH|[URI [OPTIONS]]]

Valid values for PLUGIN are: html, json, junit, message, pretty, progress, rerun, summary, teamcity, testng, timeline, unused, usage

PLUGIN can also be a fully qualified class name, allowing registration of 3rd party plugins. The 3rd party plugin must implement io.cucumber.plugin.Plugin

I get "Field 'launchId' should not contain only white spaces and shouldn't be empty" agent and RP version 5

ReportPortal Finish test item execution error
com.epam.reportportal.exception.ReportPortalException: Report Portal returned error
Status code: 400
Status message: Bad Request
Error Message: Incorrect Request. [Field 'launchId' should not contain only white spaces and shouldn't be empty.]
Error Type: INCORRECT_REQUEST

at com.epam.reportportal.service.ReportPortalErrorHandler.handleError(ReportPortalErrorHandler.java:83)
at com.epam.reportportal.service.ReportPortalErrorHandler.handle(ReportPortalErrorHandler.java:59)
at com.epam.reportportal.restendpoint.http.HttpClientRestEndpoint$1.subscribe(HttpClientRestEndpoint.java:517)
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.MaybeCache.subscribeActual(MaybeCache.java:77)
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)

project.ext {
cucumberVersion = '1.2.5'
junitVersion = '4.12'
}

dependencies {
testCompile "info.cukes:cucumber-java:${cucumberVersion}"
testCompile "info.cukes:cucumber-junit:${cucumberVersion}"

testCompile 'ch.qos.logback:logback-classic:1.2.3'
testCompile 'info.cukes:gherkin:2.12.2'


testCompile "junit:junit:${junitVersion}"
testCompile 'com.epam.reportportal:agent-java-cucumber:5.0.0-BETA-1'

}

Parametr `rp.enable=false` causes java.lang.NoSuchMethodError

java.lang.NoSuchMethodError: com.epam.reportportal.service.ReportPortal.startLaunch(Lcom/epam/reportportal/service/ReportPortalClient;Lcom/epam/reportportal/listeners/ListenerParameters;Lcom/epam/ta/reportportal/ws/model/launch/StartLaunchRQ;)Lcom/epam/reportportal/service/ReportPortal;
	at com.epam.reportportal.cucumber.AbstractReporter$1.get(AbstractReporter.java:89)
	at com.epam.reportportal.cucumber.AbstractReporter$1.get(AbstractReporter.java:71)
	at rp.com.google.common.base.Suppliers$MemoizingSupplier.get(Suppliers.java:120)
	at com.epam.reportportal.cucumber.ScenarioReporter$1.get(ScenarioReporter.java:62)
	at com.epam.reportportal.cucumber.ScenarioReporter$1.get(ScenarioReporter.java:55)
	at rp.com.google.common.base.Suppliers$MemoizingSupplier.get(Suppliers.java:120)
	at com.epam.reportportal.cucumber.ScenarioReporter.getRootItemId(ScenarioReporter.java:106)
	at com.epam.reportportal.cucumber.AbstractReporter.beforeFeature(AbstractReporter.java:125)
	at com.epam.reportportal.cucumber.AbstractReporter.feature(AbstractReporter.java:297)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at cucumber.runtime.Utils$1.call(Utils.java:40)
	at cucumber.runtime.Timeout.timeout(Timeout.java:16)
	at cucumber.runtime.Utils.invoke(Utils.java:34)
	at cucumber.runtime.RuntimeOptions$1.invoke(RuntimeOptions.java:294)
	at com.sun.proxy.$Proxy38.feature(Unknown Source)
	at cucumber.runtime.junit.JUnitReporter.feature(JUnitReporter.java:184)
	at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:69)
	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:95)
	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:38)
	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 cucumber.api.junit.Cucumber.run(Cucumber.java:100)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)

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.