Cannot compute absolute URL when generating Allure report with plugin in Jenkins

心已入冬 提交于 2019-12-11 08:54:17

问题


Cannot generate Allure report in Jenkins after test execution. Get such error in console output:

    > ERROR: Build step failed with exception
    > java.lang.IllegalStateException: Root URL isn't configured yet. Cannot
    > compute absolute URL. at
    > hudson.model.AbstractItem.getAbsoluteUrl(AbstractItem.java:483) at
    > ru.yandex.qatools.allure.jenkins.AllureReportPublisher.generateReport(AllureReportPublisher.java:169)
    > at
    > ru.yandex.qatools.allure.jenkins.AllureReportPublisher.perform(AllureReportPublisher.java:93)
    > at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
    > at
    > hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
    > at
    > hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:720)
    > at
    > hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1047)
    > at
    > hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:665)
    > at hudson.model.Run.execute(Run.java:1745) at
    > hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:531) at
    > hudson.model.ResourceController.execute(ResourceController.java:98) at
    > hudson.model.Executor.run(Executor.java:410) Build step 'Allure
    > Report' marked build as failure Finished: FAILURE

In my project I use TestNG, here is and example of my pom.xml file:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.paycasso</groupId>
    <artifactId>test-app</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <allure.version>1.4.11</allure.version>
        <aspectj.version>1.8.5</aspectj.version>
        <suite>smokeSuite</suite>
        <user>stg01</user>
        <pwd>verify10</pwd>
        <env>staging01</env>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.8</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-firefox-driver</artifactId>
            <version>2.53.0</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>io.appium</groupId>
            <artifactId>java-client</artifactId>
            <version>3.4.1</version>
        </dependency>

        <dependency>
            <groupId>ru.yandex.qatools.allure</groupId>
            <artifactId>allure-testng-adaptor</artifactId>
            <version>${allure.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.1</version>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>${suite}.xml</suiteXmlFile>
                    </suiteXmlFiles>
                    <parallel>methods</parallel>
                    <threadCount>10</threadCount>
                    <testFailureIgnore>false</testFailureIgnore>
                    <argLine>
                        -javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar
                    </argLine>
                    <systemPropertyVariables>
                        <user>${user}</user>
                        <password>${pwd}</password>
                        <environment>https://${env}-api.paycasso.com</environment>
                    </systemPropertyVariables>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjweaver</artifactId>
                        <version>${aspectj.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <reporting>
        <excludeDefaults>true</excludeDefaults>
        <plugins>
            <plugin>
                <groupId>ru.yandex.qatools.allure</groupId>
                <artifactId>allure-maven-plugin</artifactId>
                <version>2.0</version>
            </plugin>
        </plugins>
    </reporting>

</project>

When i'm trying to generate report from console using mvn test command everything works good.

Please help to clarify where i'm wrong.


回答1:


  1. Get YourHostName: echo $HOSTNAME (in linux, mac)

  2. Set Configure System -> Jenkins Location -> Jenkins URL to http://YourHostName:8080

  3. Open Jenkins via http://YourHostName:8080




回答2:


Same as Anna Kaygorodova but: Get YourHostName: echo $HOSTNAME (in linux, mac) Set Configure System -> Jenkins Location -> Jenkins URL to http://YourHostName:8080 Open Jenkins via http://YourServerIP:8080



来源:https://stackoverflow.com/questions/39387163/cannot-compute-absolute-url-when-generating-allure-report-with-plugin-in-jenkins

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!