簡體   English   中英

無法使用 testng.xml 執行 Cucumber 功能文件

[英]Not able to execute Cucumber feature file using testng.xml

我有 2 個功能文件,我想通過 testng 並行執行。 如果我執行 mvn test 它顯示 Build Success 但它不執行測試用例。 有人可以幫忙嗎? 請在我的結構下面找到。

TestNG.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name = "FlipkartSmoke" verbose="1" thread-count="2" parallel="methods">
<test name = "FlipkartLogin">
<classes>
    <class name="runner.testrunner">
    </class>
</classes>
</test>
</suite>

testrunner.java:

import cucumber.api.CucumberOptions;
import cucumber.api.testng.AbstractTestNGCucumberTests;

@CucumberOptions(
        features="src\\test\\java\\features",
        glue= {"seleniumGlueCode"},
        format= {"html:target"},
        monochrome=true,
        dryRun=false
        )

public class testrunner extends AbstractTestNGCucumberTests{

}

pom.xml:

<plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
          <configuration>
                 <includes>
                 <include>TestNG.xml</include>
             </includes>
      </configuration>
</plugin>

pom.xml:

<dependencies>
  
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.11</version>
          <scope>test</scope>
        </dependency>
        
       <!-- ********************************************************************************  -->
         <!-- Selenium Dependencies  -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.7.0</version>
        </dependency>
        
        <!-- ********************************************************************************  -->
         <!-- Cucumber Dependencies  -->
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>1.2.5</version>
        </dependency>
        
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>1.2.5</version>
            <scope>test</scope>
        </dependency>
        
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-core</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>io.cucumber</groupId>
            <artifactId>gherkin</artifactId>
            <version>13.0.0</version>
        </dependency>
        
        
        <!-- ********************************************************************************  -->
         <!-- TestNG Dependencies  -->
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.10</version>
            <scope>test</scope>
        </dependency>
        
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-testng</artifactId>
            <version>4.2.0</version>
        </dependency>
        
        <!-- ********************************************************************************  -->
         <!-- Excel Read Dependencies  -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.1</version>
        </dependency>
        
        <!-- ********************************************************************************  -->
        <!-- Common io Dependencies  -->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.6</version>
        </dependency>
        
    </dependencies>

它顯示構建成功。 但它沒有執行測試用例。但是如果我嘗試在 testrunner 中使用 @runWith 作為 junit 測試用例的意思,兩個功能文件都在執行。

我認為您正在將 JUnit 測試和 TestNG 測試與 Surefire 插件混合使用。 即使您將“包含”與“suiteXmlFiles”混合在一起。 因此,我對您的建議是停止並閱讀文檔,並編寫幾乎沒有 Java 代碼或最小代碼的小 Maven 項目,並使用命令mvn test使 POM 正確工作。 讓基本項目正常工作並理解這一點非常重要。 https://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html 無論如何盯着你的腦袋和代碼亂七八糟。 因此,從基本人員開始。

暫無
暫無

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

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