【发布时间】:2017-07-15 07:21:54
【问题描述】:
我有一个maven 项目要运行cucumber 和selenium。 *.feature文件在src/features中定义,步骤在src/test/java/com/example/steps中定义。
我还定义了一个测试运行器类,如下所示:
package com.example.runner;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(
features={"src/features"},
glue="com/example/steps")
public class RunnerTest {
}
问题是:当我运行它抱怨的课程时:
Class not found com.example.runner.RunnerTest
java.lang.ClassNotFoundException: com.example.runner.RunnerTest
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:688)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:421)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
问题是,为什么不识别跑步者的名字?
更新:
当我运行功能文件时
打开特征文件->右键->运行为->1个黄瓜特征
效果不错
我将 glue="com/example/steps" 更改为 glue="com.example.steps" 并抱怨:
java.lang.NullPointerException
at com.example.steps.Click_Steps.i_am_in(Click_Steps.java:23)
at ✽.Given I am in "http://suvian.in/selenium/1.6checkbox.html"(CheckBox.feature:14)
当我参考文件时:
base.getDriver().navigate().to(uri);
但正如我所说,当我使用 Run as -> Cucumber 运行功能文件时,这条线工作得很好
【问题讨论】:
标签: java maven cucumber cucumber-jvm