Java 如何使用junit和maven运行selenium测试
我想为Jenkins创建simply selenium项目。 当我使用Runner.java运行测试时,输出显示0个场景。 当我使用mvn运行测试时,例如,mvn clean verify-Dcucumber.options=“--tags@smoke”输出显示构建成功 我所有的类都在src/test/java/package中 跑步者: src/test/java/runner/runner.java 胶水: src/test/java/glue/login/LoginDef.java src/test/java/glue/dashboard/DashboardDef.java 黄瓜锉 src/test/resources/login/login.feature src/test/resources/smoke/page.feature 下面是我的文件夹结构截图 我不知道问题出在哪里;/我用谷歌之前,我问,我没有找到解决方案Java 如何使用junit和maven运行selenium测试,java,maven,selenium,junit,cucumber,Java,Maven,Selenium,Junit,Cucumber,我想为Jenkins创建simply selenium项目。 当我使用Runner.java运行测试时,输出显示0个场景。 当我使用mvn运行测试时,例如,mvn clean verify-Dcucumber.options=“--tags@smoke”输出显示构建成功 我所有的类都在src/test/java/package中 跑步者: src/test/java/runner/runner.java 胶水: src/test/java/glue/login/LoginDef.java src
@RunWith(Cucumber.class)
@CucumberOptions(
strict = true,
features = {"src/test/resources/features"},
plugin = {"json:build/reports/cucumberRunner.json", "html:build/reports/html", "pretty"},
monochrome = true,
tags = {"not @ignore", "not @wip", "@login", "@smoke"},
glue = {"src/test/java/glue", "hooks"}
)
public class Runner {
}
5.1.0
4.3.1
5.2.3
1.18.4
4.12
黄瓜
小黄瓜
${io.黄瓜.小黄瓜}
黄瓜
黄瓜-java8
${io.cumber.common}
黄瓜
黄瓜刺柏
${io.cumber.common}
朱尼特
朱尼特
${junit}
org.projectlombok
龙目
${lombok}
假如
com.codeborne
硒化物
${selenide}
org.apache.maven.plugins
maven编译器插件
3.8.0
1.8
1.8
org.apache.maven.plugins
maven surefire插件
3.0.0-M3
编辑:我将Runner.java更改为RunnerTest.java。Mvn执行测试,但所有测试都失败。所有步骤都有“您可以使用下面的代码片段实现缺少的步骤:”/
Edit2:我从RunnerTest.java中的标记中删除了“@”,目前我一直
“0个场景
0步
0m0.093s“
编辑3-问题已解决。
我在有驱动程序配置的类的glue中没有路径。实际上,我的glue-glue={“glue”,“config/browser”}。以前我只有{“glue”}。请正确更新POM依赖项。gherkin、junit等是可传递的依赖项,当您添加直接依赖项时,maven将负责这些依赖项 关键点:我们不会将直接依赖项和传递依赖项特别是它们的版本混为一谈!这样做可能会导致不可预测的结果 您可能更喜欢下面正确的io.cucumber依赖项集,并根据您的框架需要更新cucumber v
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>4.2.6</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-picocontainer</artifactId>
<version>4.2.6</version>
</dependency>
黄瓜
黄瓜刺柏
4.2.6
黄瓜
黄瓜皮容器
4.2.6
cucumber找不到您的step def实施。将glue选项更改为glue=“glue”。没有看到任何钩子包,为什么要添加它。不需要小黄瓜和junit依赖,它们将自动拉入。为了让surefire自动包含测试类,请检查此项-我将glue选项更改为glue={“glue”},我删除了gherkin和junit,但仍然有0个场景:(在标记选项中使用此选项--tags={@login或@smoke”}不起作用,仍然是[INFO]测试运行:0,失败:0,错误:0,跳过:0,运行时间:0.568秒-在runner.RunnerTestU中更新POM。请查看
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>4.2.6</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-picocontainer</artifactId>
<version>4.2.6</version>
</dependency>