当前位置: 首页 > 知识库问答 >
问题:

不能在Cucumber-Maven(TestNG)中运行TestNG.xml

公英哲
2023-03-14

在eclipse IDE中,我使用Maven项目创建了一个基本的cucumber框架。

我已经添加了pom.xml.for dependencies下面添加的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套件”选项没有出现在首选项中,所以通过帮助->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文件

 <?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>

但它的投掷低于错误

共有1个答案

夏青青
2023-03-14

问题是因为存储在maven Repositeries中的不兼容的垃圾JAR。

请按照以下步骤操作

  • 清除旧的属性/Maven依赖项(从您的项目目录中打开命令提示符并在命令下面运行)
    • MVN eclipse:clean
    • MVN eclipse:eclipse-dwtpversion=2.0
    <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>
    
    <dependency>
       <groupId>info.cukes</groupId>
       <artifactId>cucumber-testng</artifactId>
       <version>1.2.5</version>
    </dependency>
    
      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 {
      }
    
    <?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>
    

 类似资料:
  • 下面是我的赛跑课, 配置失败:@AfterClass tearDownClass java.lang.NullPoInterException at Cucumber.api.testng.AbstractTestngCucumberTests.tearDownClass(AbstractTestngCucumberTests.java:34)at Sun.Reflect.NativeMethod

  • 是否可以通过右键单击功能文件中的各个场景而不是使用命令文件或直接运行 TestNG 运行器文件来使用 TestNG 运行器运行cucumber场景? 我使用Intellij在maven测试框架中运行cucumber场景。在POM.xml文件中,我有一个引用testNG.xml文件的Surefire插件,该文件指向TestNG runner类。 当我从终端运行“mvn test”时,它会调用 Tes

  • 我有两节cucumber赛跑课。其中一个是基于JUnit的runner,另一个是基于TestNG的。Junit one是我为API测试实现的第一个运行程序,并通过maven按预期运行。我在项目中添加了一个web测试,并使用TestNG来帮助我实现跨浏览器测试。因此,我创建了一个额外的cucumber runner(基于TestNG)。当我通过< code>testng.xml文件运行web测试时,

  • 请找到我的pom.xml 4.0.0 @runwith(cucumber.class)@cucumberoptions(features={“c:\users\rishabh patel\eclipse-workspace\cucumberreports\feature”},glue={“stepdefinition”},plugin={“pretty”,“json:target/cucumber

  • 我需要一些帮助运行一个功能文件。 这是Maven项目的骨架: 这是我的pom.xml文件: 我不能运行功能文件,与此,我不能运行任何与cucumber相关的。你能帮帮我吗? 提前谢了。

  • 有没有人能告诉我为什么我不能使用Maven运行任何测试。 已配置SureFire插件 在runner类下设置胶合代码 “测试”被追加到runner类 注意:如果我将文件作为Junit运行,那么它可以正确地运行所有场景。只有当我使用Maven运行它时,才不会运行任何测试。