Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Errors with report generation #1024

Closed
deepthi-ravindra opened this issue Nov 13, 2017 · 3 comments
Closed

Errors with report generation #1024

deepthi-ravindra opened this issue Nov 13, 2017 · 3 comments

Comments

@deepthi-ravindra
Copy link

Feature: Sort Search Resultjava.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.elementData(ArrayList.java:418)
at java.util.ArrayList.get(ArrayList.java:431)
at net.thucydides.core.model.TestOutcome.lastStepIn(TestOutcome.java:1336)
at net.thucydides.core.model.TestOutcome.currentStep(TestOutcome.java:1319)
at net.thucydides.core.model.TestOutcome.startGroup(TestOutcome.java:1296)
at net.thucydides.core.steps.BaseStepListener.startNewGroup(BaseStepListener.java:588)
at net.thucydides.core.steps.BaseStepListener.startNewGroupIfNested(BaseStepListener.java:582)
at net.thucydides.core.steps.BaseStepListener.recordStep(BaseStepListener.java:559)
at net.thucydides.core.steps.BaseStepListener.stepStarted(BaseStepListener.java:513)
at net.thucydides.core.steps.StepEventBus.stepStarted(StepEventBus.java:340)
at net.thucydides.core.steps.StepEventBus.stepStarted(StepEventBus.java:329)
at net.thucydides.core.steps.BaseStepListener.exampleStarted(BaseStepListener.java:1006)
at net.thucydides.core.steps.StepEventBus.exampleStarted(StepEventBus.java:613)
at cucumber.runtime.formatter.SerenityReporter.startExample(SerenityReporter.java:577)
at cucumber.runtime.formatter.SerenityReporter.startOfScenarioLifeCycle(SerenityReporter.java:463)
at cucumber.runtime.formatter.SerenityReporter.handleTestCaseStarted(SerenityReporter.java:241)
at cucumber.runtime.formatter.SerenityReporter.lambda$new$1(SerenityReporter.java:130)

In the report, there are no steps but says SUCCESS with 0 secs.

@wakaleo
Copy link
Member

wakaleo commented Nov 13, 2017

Unable to reproduce, we will need a sample project to investigate.

@deepthi-ravindra
Copy link
Author

deepthi-ravindra commented Nov 13, 2017


4.0.0

<version>1.0</version>
<name>OD QA Automation</name>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <serenity.version>1.7.4</serenity.version>
    <serenity.cucumber.version>1.6.4</serenity.cucumber.version>

    <browserstack.local.version>1.0.2</browserstack.local.version>
    <rest.assured.version>3.0.2</rest.assured.version>
    <!--<cucumber-jvm-parallel-plugin.version>1.3.0</cucumber-jvm-parallel-plugin.version>-->
    <open.csv.version>3.8</open.csv.version>
    <log4j.version>1.2.17</log4j.version>
    <jsch.version>0.1.54</jsch.version>
    <java.faker.version>0.13</java.faker.version>
    <jdk.source.version>1.8</jdk.source.version>
    <jdk.target.version>1.8</jdk.target.version>
    <webdriver.provided.mydriver>drivers.BrowserStackSerenityDriver</webdriver.provided.mydriver>
    <cucumber.options></cucumber.options>
    <store.url></store.url>
    <webdriver.perf.driver></webdriver.perf.driver>
    <management.url></management.url>
    <browserstack.only>false</browserstack.only>
    <browserstack.local>true</browserstack.local>
    <browser>chrome</browser>
    <parallelScheme>FEATURE</parallelScheme>
    <environment>SIT</environment>
    <baseStore></baseStore>
    <cucumberRunnerTemplate>cucumber-browserstack-runner.vm</cucumberRunnerTemplate>
    <!--<cucumberRunnerTemplate1>rerunFailedTests.vm</cucumberRunnerTemplate1>-->
    <runners>**/*IT.class</runners>
    <featuresDirectory>src/test/resources/features/</featuresDirectory>
    <surefire.rerunFailingTestsCount>3</surefire.rerunFailingTestsCount>
</properties>


<dependencies>
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-core</artifactId>
        <version>${serenity.version}</version>
    </dependency>
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-cucumber</artifactId>
        <version>${serenity.cucumber.version}</version>
    </dependency>
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-junit</artifactId>
        <version>${serenity.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-rest-assured</artifactId>
        <version>${serenity.version}</version>
    </dependency>
    <dependency>
        <groupId>com.browserstack</groupId>
        <artifactId>browserstack-local-java</artifactId>
        <version>${browserstack.local.version}</version>
    </dependency>
    <dependency>
        <groupId>com.opencsv</groupId>
        <artifactId>opencsv</artifactId>
        <version>${open.csv.version}</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
    </dependency>
    <dependency>
        <groupId>com.github.javafaker</groupId>
        <artifactId>javafaker</artifactId>
        <version>${java.faker.version}</version>
    </dependency>
    <!--<dependency>-->
        <!--<groupId>com.github.temyers</groupId>-->
        <!--<artifactId>cucumber-jvm-parallel-plugin</artifactId>-->
        <!--<version>${cucumber-jvm-parallel-plugin.version}</version>-->
    <!--</dependency>-->
    <!--<dependency>-->
        <!--<groupId>org.apache.maven.surefire</groupId>-->
        <!--<artifactId>surefire-junit4</artifactId>-->
        <!--<version>2.20</version>-->
    <!--</dependency>-->
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-jira-requirements-provider</artifactId>
        <version>1.2.0</version>
    </dependency>
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-jira-plugin</artifactId>
        <version>1.2.0</version>
    </dependency>
    <!--<dependency>-->
    <!--<groupId>com.neotys.selenium</groupId>-->
    <!--<artifactId>neotys-selenium-proxy</artifactId>-->
    <!--<version>2.0.6</version>-->
    <!--</dependency>-->
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-report-resources</artifactId>
        <version>${serenity.version}</version>
    </dependency>
    <dependency>
        <groupId>com.neotys.rest</groupId>
        <artifactId>neotys-rest-api-dataexchange-client-olingo</artifactId>
        <version>1.0.4</version>
    </dependency>
    <!--<dependency>-->
        <!--<groupId>org.seleniumhq.selenium</groupId>-->
        <!--<artifactId>selenium-java</artifactId>-->
    <!--</dependency>-->
    <!--<dependency>-->
        <!--<groupId>org.seleniumhq.selenium</groupId>-->
        <!--<artifactId>selenium-firefox-driver</artifactId>-->
        <!--<version>3.6.0</version>-->
    <!--</dependency>-->
    <!--<dependency>-->
        <!--<groupId>org.seleniumhq.selenium</groupId>-->
        <!--<artifactId>selenium-chrome-driver</artifactId>-->
        <!--<version>3.5.3</version>-->
    <!--</dependency>-->
</dependencies>


<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>com.github.temyers</groupId>
            <artifactId>cucumber-jvm-parallel-plugin</artifactId>
            <version>4.2.0</version>
            <executions>
                <execution>
                    <id>generateRunners</id>
                    <phase>generate-test-sources</phase>
                    <goals>
                        <goal>generateRunners</goal>
                    </goals>
                    <configuration>
                        <glue>
                            <package>stepdefs</package>
                        </glue>
                        <outputDirectory>${project.build.directory}/generated-test-sources/cucumber
                        </outputDirectory>
                        <featuresDirectory>${featuresDirectory}</featuresDirectory>
                        <cucumberOutputDir>target/cucumber-parallel</cucumberOutputDir>
                        <strict>true</strict>
                        <monochrome>true</monochrome>
                        <!--<filterFeaturesByTags>true</filterFeaturesByTags>-->
                        <useTestNG>false</useTestNG>
                        <namingScheme>feature-title</namingScheme>
                        <!-- One of [SCENARIO, FEATURE]. SCENARIO generates one runner per scenario.  FEATURE generates a runner per feature. -->
                        <parallelScheme>${parallelScheme}</parallelScheme>
                        <customVmTemplate>src/test/resources/cucumberTemplates/${cucumberRunnerTemplate}
                        </customVmTemplate>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.20</version>
            <executions>
                <execution>
                    <id>create-test-users</id>
                    <phase>test</phase>
                </execution>


            </executions>
            <configuration>
                <includes>
                    <include>testSetup/TestSetup.java</include>
                </includes>
                <reuseForks>true</reuseForks>
                <forkCount>1</forkCount>
                <testFailureIgnore>true</testFailureIgnore>
                <systemPropertyVariables>
                    <store.url>${store.url}</store.url>
                    <management.url>${management.url}</management.url>
                    <browserstack.only>${browserstack.only}</browserstack.only>
                    <browserstack.local>${browserstack.local}</browserstack.local>
                    <browser>${browser}</browser>
                    <environment>${environment}</environment>
                    <webdriver.provided.mydriver>${webdriver.provided.mydriver}</webdriver.provided.mydriver>
                </systemPropertyVariables>
                <skip>${skipUnit}</skip>
            </configuration>


        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.20</version>
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <includes>
                    <include>${runners}</include>
                </includes>
                <parallel>classes</parallel>
                <useUnlimitedThreads>true</useUnlimitedThreads>
                <forkMode>once</forkMode>
                <reuseForks>true</reuseForks>
                <systemPropertyVariables>
                    <serenity.browser.width>1440</serenity.browser.width>
                    <serenity.browser.height>1440</serenity.browser.height>
                    <store.url>${store.url}</store.url>
                    <management.url>${management.url}</management.url>
                    <browserstack.only>${browserstack.only}</browserstack.only>
                    <browserstack.local>${browserstack.local}</browserstack.local>
                    <baseStore>${baseStore}</baseStore>
                    <browser>${browser}</browser>
                    <environment>${environment}</environment>
                    <cucumber.option>${cucumber.options}</cucumber.option>
                    <webdriver.provided.mydriver>${webdriver.provided.mydriver}</webdriver.provided.mydriver>
                    <surefire.rerunFailingTestsCount>${surefire.rerunFailingTestsCount}
                    </surefire.rerunFailingTestsCount>
                </systemPropertyVariables>
                <skipTests>${skipIT}</skipTests>
            </configuration>
        </plugin>
        <plugin>
            <groupId>net.serenity-bdd.maven.plugins</groupId>
            <artifactId>serenity-maven-plugin</artifactId>
            <version>${serenity.version}</version>
            <executions>
                <execution>
                    <id>test-setup</id>
                    <phase>test</phase>
                    <goals>
                        <goal>aggregate</goal>
                    </goals>
                </execution>
                <execution>
                    <id>serenity-reports</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>aggregate</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>


<profiles>
    <profile>
        <id>SMOKE_DEV</id>
        <properties>
            <environment>smoke</environment>
            <browser>chrome</browser>
            <cucumber.options>--tags @smoke</cucumber.options>
            <parallelScheme>FEATURE</parallelScheme>
        </properties>
    </profile>

    <profile>
        <id>unitTests</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.19.1</version>
                    <executions>
                        <execution>
                            <id>create-test-users</id>
                            <phase>test</phase>
                        </execution>
                    </executions>
                    <configuration>
                        <includes>
                            <include>testSetup/TestSetup.java</include>
                        </includes>
                        <reuseForks>true</reuseForks>
                        <forkCount>1</forkCount>
                        <systemPropertyVariables>
                            <store.url>${store.url}</store.url>
                            <management.url>${management.url}</management.url>
                            <browserstack.only>${browserstack.only}</browserstack.only>
                            <browserstack.local>${browserstack.local}</browserstack.local>
                            <browser>${browser}</browser>
                            <environment>${environment}</environment>
                            <webdriver.provided.mydriver>${webdriver.provided.mydriver}
                            </webdriver.provided.mydriver>
                        </systemPropertyVariables>
                        <skip>false</skip>
                    </configuration>
                </plugin>
            </plugins>
        </build>
        <properties>
            <browser>chrome</browser>
        </properties>
    </profile>

    <profile>
        <id>rerunning</id>
        <properties>
            <webdriver.provided.mydriver>drivers.BrowserStackSerenityDriver</webdriver.provided.mydriver>
        </properties>
        <build>
            <plugins>
                <plugin>
                    <groupId>com.github.temyers</groupId>
                    <artifactId>cucumber-jvm-parallel-plugin</artifactId>
                    <version>2.2.0</version>
                    <executions>
                        <execution>
                            <id>generateRunners</id>
                            <phase>generate-test-sources</phase>
                            <goals>
                                <goal>generateRunners</goal>
                            </goals>
                            <configuration>
                                <glue>stepdefs</glue>
                                <outputDirectory>${project.build.directory}/generated-test-sources/cucumber/rerun
                                </outputDirectory>
                                <featuresDirectory>src/test/resources/features/inkAndToner</featuresDirectory>
                                <cucumberOutputDir>target/cucumber-parallel</cucumberOutputDir>
                                <strict>true</strict>
                                <monochrome>true</monochrome>
                                <filterFeaturesByTags>true</filterFeaturesByTags>
                                <useTestNG>false</useTestNG>
                                <namingScheme>feature-title</namingScheme>
                                <!-- One of [SCENARIO, FEATURE]. SCENARIO generates one runner per scenario.  FEATURE generates a runner per feature. -->
                                <parallelScheme>${parallelScheme}</parallelScheme>
                                <customVmTemplate>src/test/resources/cucumberTemplates/rerunFailedTests.vm
                                </customVmTemplate>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>2.20</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>integration-test</goal>
                                <goal>verify</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <includes>
                            <include>${runners}</include>
                        </includes>
                        <parallel>classes</parallel>
                        <useUnlimitedThreads>true</useUnlimitedThreads>
                        <forkMode>once</forkMode>
                        <reuseForks>true</reuseForks>
                        <systemPropertyVariables>
                            <serenity.browser.width>1440</serenity.browser.width>
                            <serenity.browser.height>1440</serenity.browser.height>
                            <store.url>${store.url}</store.url>
                            <management.url>${management.url}</management.url>
                            <browserstack.only>${browserstack.only}</browserstack.only>
                            <browserstack.local>${browserstack.local}</browserstack.local>
                            <baseStore>${baseStore}</baseStore>
                            <browser>${browser}</browser>
                            <environment>${environment}</environment>
                            <cucumber.option>${cucumber.options}</cucumber.option>
                            <webdriver.provided.mydriver>${webdriver.provided.mydriver}
                            </webdriver.provided.mydriver>
                            <surefire.rerunFailingTestsCount>${surefire.rerunFailingTestsCount}
                            </surefire.rerunFailingTestsCount>
                        </systemPropertyVariables>
                        <skipTests>${skipIT}</skipTests>
                    </configuration>
                </plugin>
            </plugins>
        </build>


    </profile>

@wakaleo
Copy link
Member

wakaleo commented Nov 17, 2017

Error occurring when two scenarios with example tables in the same feature file have the same scenario name.

@wakaleo wakaleo closed this as completed Nov 17, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants