2016-01-10 60 views
0

我試圖生成xslt報告reporty-ng的使用TestNG +行家,但得到錯誤的運行「mvn test site」給出[ERROR]無法執行目標org.apache.maven.plugins:maven-site-plugin:3.3:項目上的站點(默認站點)

[錯誤]未能執行目標org.apache.maven.plugins:項目硒項目網站(默認網站):Maven的網站插件:3.3 :無法獲得org.reportyng報告:reporty-ng:插件org.reportyng:reporty-ng:1.2或其某個依賴關係無法解析:無法在https://github.com/cosminaru/reporty-ng/raw/master/dist/maven被緩存在本地存儲庫中,直到reporty-ng的更新時間間隔已過或強制更新後纔會重新解析分辨率 - > [幫助1]

下面是pom.xml中的一部分:

<build> 

    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.19.1</version> 
      <configuration> 
       <suiteXmlFiles> 
        <suiteXmlFile>testng.xml</suiteXmlFile> 
       </suiteXmlFiles> 
      <testFailureIgnore>true</testFailureIgnore> 
      </configuration> 
     </plugin> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.3</version> 
      <configuration> 
       <source>1.7</source> 
       <target>1.7</target> 
      </configuration> 
     </plugin> 

</plugins> 
</build> 
<dependencies> 
    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-java</artifactId> 
     <version>2.48.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.testng</groupId> 
     <artifactId>testng</artifactId> 
     <version>6.9.6</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.maven.surefire</groupId> 
     <artifactId>surefire-api</artifactId> 
     <version>2.19</version> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.17</version> 
    </dependency> 

    <dependency> 
    <groupId>org.apache.httpcomponents</groupId> 
    <artifactId>httpclient</artifactId> 
    <version>4.3.5</version> 
    </dependency> 


</dependencies> 
<reporting> 
<plugins> 
     <!-- TestNG-xslt related configuration. --> 
     <plugin> 
      <groupId>org.reportyng</groupId> 
      <artifactId>reporty-ng</artifactId> 
      <version>1.2</version> 

      <configuration> 
       <!-- Output directory for the testng xslt report --> 
       <outputDir>/target/testng-xslt-report</outputDir> 
        <sortTestCaseLinks>true</sortTestCaseLinks> 
        <testDetailsFilter>FAIL,SKIP,PASS,CONF,BY_CLASS</testDetailsFilter> 
        <showRuntimeTotals>true</showRuntimeTotals> 
      </configuration>  
     </plugin> 
    </plugins> 
</reporting> 

<pluginRepositories> 
    <pluginRepository> 
     <id>reporty-ng</id> 
     <url>https://github.com/cosminaru/reporty-ng/raw/master/dist/maven</url> 
    </pluginRepository> 
</pluginRepositories> 
+0

考慮使用ExtentReports代替ReportNG,因爲後者不再支持。 http://extentreports.relevantcodes.com/ – djangofan

回答

0

在我的這種理解,如果你運行「MVN清潔驗證」,將包括的「網站」階段建立以及測試。你不需要明確地調用網站階段,所以不要這樣做。另外,如果你明確地調用「網站」階段,你可能應該包含網站插件作爲依賴項,你不覺得嗎?

根據我對TestNG報告和ReportNG報告的經驗,網站插件與報告輸出無關。網站插件僅與「Surefire」(或Failsafe)插件報告階段輸出相關。換句話說,您會發現Surefire插件的默認輸出文件夾通常與「site」插件的標準輸出位置直接相關。這可能非常令人困惑,我同意。

另外,我would configure它(可能)像這樣:

<plugin> 
    <groupId>org.reportyng</groupId> 
    <artifactId>reporty-ng</artifactId> 
    <version>1.4</version>  
    <configuration> 
     <outputDirectory>${project.build.directory}/surefire/reportng</outputDirectory> 
     <sortTestCaseLinks>true</sortTestCaseLinks> 
     <testDetailsFilter>FAIL,SKIP,PASS,CONF,BY_CLASS</testDetailsFilter> 
     <showRuntimeTotals>true</showRuntimeTotals> 
    </configuration>  
</plugin> 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-site-plugin</artifactId> 
    <version>2.1</version> 
    <configuration> 
     <outputDirectory>${basedir}/target/site</outputDirectory> 
    </configuration> 
    </plugin> 
<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-surefire-report-plugin</artifactId> 
<version>2.9</version> 
<configuration> 
    <outputDirectory>${basedir}/target/site</outputDirectory> 
    <reportsDirectories> 
     <reportsDirectories>${basedir}/target/surefire</reportsDirectories> 
    </reportsDirectories> 
</configuration> 
    <reportSets> 
     <reportSet> 
      <id>integration-tests</id> 
      <reports> 
       <report>report-only</report> 
      </reports> 
     </reportSet> 
    </reportSets> 
</plugin> 
+0

感謝您的回覆,我使用了與上面的配置相同的方式,並使用命令作爲「mvn clean verify」運行。儘管可以觀察Build Success,但不生成reportng文件。你能幫助我嗎?如果有什麼問題,請告訴我。 – Ankit

+0

@Ankit - 我建議你從簡化的事情開始。您應該能夠在沒有maven-site-plugin或maven-surefire-report-plugin的情況下使ReportNG插件正常工作。嘗試按照網站文檔中的建議設置ReportNG,而無需添加額外的配置參數。然後,您應該看到ReportNG報告置於surefire輸出文件夾中(默認情況下)。 – djangofan

+0

@Ankit - 如果有幫助,我寫了一次TestNG報告的例子。這裏是url:https://github.com/djangofan/reportng-example – djangofan

相關問題