簡體   English   中英

無法在 Cucumber-Maven(TestNG)中運行 testng.xml

[英]Can't run testng.xml in Cucumber-Maven(TestNG)

在 Eclipse IDE 中,我使用 Maven 項目創建了一個基本的黃瓜框架。

我已經添加了 pom.xml.For TestNG 插件中所需的所有依賴項,添加到依賴項下方。

 <dependency>       
      <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>              
        <version>6.14.3</version>
        <scope>test</scope>         
</dependency> 
<dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-testng</artifactId>
        <version>1.2.5</version>   
 </dependency>

但是“TestNG Suite”選項沒有出現在首選項中,所以通過 Help->Install New Software 安裝了 TestNG。

框架具有特征文件(描述了場景)、步驟定義(給出了代碼/邏輯)和運行器類(使用步驟定義文件映射特征並運行它)。

跑步者類:

package tests.report.runners;

import cucumber.api.CucumberOptions;


@CucumberOptions(features = "src/test/resources/features",glue= {"tests"},tags= {"@Report"})
public class ReportRunner  {
    }

像這樣我每個模塊都有一個跑步者課程(端到端場景)

前任 :

  • 登錄,進入產品頁面並退出

  • 登錄、生成報告和注銷

我正在嘗試通過 testng.xml 文件運行這些運行器類

testng.xml 文件

 <?xml version="1.0" encoding="UTF-8"?> 
 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
   <suite name="First Suite" parallel="classes"> 
    <test name="Chrome Test" parallel="classes">
       <classes> 
           <class name ="tests.report.runners.ReportRunner"></class>
       </classes> 
   </test> 
</suite>

但它拋出錯誤

輸出屏幕截圖

問題是因為存儲在 Maven 存儲庫中的不兼容的垃圾 jars。

請按照以下步驟

  1. 清理舊屬性/maven 依賴項(從您的項目目錄中打開命令提示符並運行以下命令)
    • mvn 日食:清潔
    • mvn eclipse:eclipse -Dwtpversion=2.0
  2. 下載下面的黃瓜jar文件並添加到你的項目中(不要直接添加到pom中)

     <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-core</artifactId> <version>1.2.5</version> </dependency> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-java</artifactId> <version>1.2.5</version> </dependency <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-jvm-deps</artifactId> <version>1.0.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>info.cukes</groupId> <artifactId>gherkin</artifactId> <version>2.12.2</version> <scope>provided</scope> </dependency>
  3. 確保您已經將 TestNG 庫添加到項目中

  4. 在 pom.xml 文件中添加以下 cucumber-testng 依賴項

    <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-testng</artifactId> <version>1.2.5</version> </dependency>
  5. 使用 AbstractTestNGCucumberTests 擴展運行器類

 package tests.report.runners; import org.testng.annotations.Test; import cucumber.api.testng.AbstractTestNGCucumberTests; import cucumber.api.CucumberOptions; @Test @CucumberOptions(features = "src/test/resources/features",glue= {"tests"},tags= {"@Report"}) public class ReportRunner extends AbstractTestNGCucumberTests { }
  1. 使用下面的 testng.xml 文件執行
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="First Suite" > <test name="Chrome Test" > <classes> <class name ="tests.report.runners.ReportRunner"></class> </classes> </test> </suite>

謝謝!

在 intellij 右窗格中 - 單擊 Maven - Reload all maven projects。 使緩存無效並從文件重新啟動。 它會工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM