在我的testrunner类中,在使用@CucumberOptions
时,我收到一条错误消息“CucumberOptions无法解析为类型”。我使用的是最新版本的eclipse cucumber 依赖项。我已经尝试了所有可能的方法,通过安装和卸载eclipse,通过降低 cucumber 依赖项版本。
我的跑步课是:
import org.junit.runner.RunWith;
import cucumber.api.junit.*;
import cucumber.api.testng.AbstractTestNGCucumberTests;
@RunWith(Cucumber.class)
@CucumberOptions(
// format = {"pretty","html:target/html/" } ,
features = "src/test/resources", glue = "com.cucumber.bhsibase.party.tests")
public class TestRunner extends AbstractTestNGCucumberTests {
}
和我的POM.xml:
<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>BHSI_BASE</groupId>
<artifactId>BHSI_BASE</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>BHSI_BASE</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- dependencies added for testng start -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.11</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-testng -->
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-testng</artifactId>
<version>1.2.5</version>
</dependency>
<!-- dependencies added for testng completed -->
<!-- dependencies on cucumber jarss -->
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>jdom</groupId>
<artifactId>jdom</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>2.53.0</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-core</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<version>1.2.5</version>
<type>pom</type>
</dependency>
<!-- dependencies on log4j jarss -->
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
</project>
请告诉我如何继续进行这项工作。
9条答案
按热度按时间vlf7wbxs1#
我遇到了同样的问题。 cucumber -Java 1.2.2正在为我工作。
elcex8rz2#
这个答案已经过时了。
假设您正在做一个新项目,或者不依赖任何相关的遗留版本代码。
现在您需要
在maven pom.xml中,并将7.0.0替换为最新版本。
vlurs2pr3#
最有可能的是,这两个问题都没有得到解决。
解决方案:
1.第一步:将cucumber-junit的作用域从测试更改为编译。
步骤2:在您的测试运行器类中
导入如下:
不是:
为我工作
ivqmmu1c4#
要解决此导入问题,请执行以下操作:导入cucumber.api.CucumberOptions;
添加以下maven依赖项-
Info.cukes cucumber 核`1.2.5
tag5nh1u5#
我目前正在使用 cucumber (这是2021年11月底,我相信版本比答案更新),我正在关注this document。还请检查他们的框架POM文件here中的依赖项。
现在正在使用该设置
对于
@CucumberOptions
,您可以使用junit-platform.properties
进行配置。有关属性配置的更多详细信息,可以找到here
如果您有兴趣的话,我还有an example。
jljoyd4f6#
尝试使用此依赖项:tech.Grasshop extentReports-Cucumber6-Adapter 2.1.0
ss2ws0br7#
从依赖项中删除作用域。这为我解决了问题。
以下应该是您的依赖项
z0qdvdin8#
这一选择效果非常好。
chhqkbe19#
我也遇到了同样的问题,并通过包含以下maven依赖项解决了错误:
谢谢。