已经尝试了几乎所有解决方案,但仍然缺少一些东西。
我创建了简单的JAVA程序,添加了功能文件和黄瓜类。当我跑步时,我得到输出:
@Search Scenario Outline:成功打开Google.com [90m# Open_Google.feature:40米 [36mGiven [0m [36mUser is with blank page [0m [36mWhen [0m [36mUser输入URL [0m [36mThen [0m [36m] Google网站应该打开[0m
0场景
0步
0m0.000s
功能文件:
Feature: Open Google WebSite
@Search
Scenario Outline: Successful Open Google.com
Given User is with blank page
When User enter URL
Then Google WebSite should open
测试跑步者类:
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(
features = "Feature"
)
public class TestRunner {
}
测试用例类:
public class cucumber_test {
public static WebDriver driver;
public static void main(String[] args) {
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");
driver = new ChromeDriver();
driver.get("http://www.google.com");
driver.manage().window().maximize();
System.out.println("Google open successfully");
}
}
使用Selenium Webdriver,JAVA,Junit和黄瓜。
我也做对了吗?使用黄瓜是正确的方法吗?
答案 0 :(得分:1)
看起来跑步者无法找到您的要素文件。它位于资源中吗?如果是,请尝试引用整个类路径,如
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(
features = "classpath:com/yourgroup/yourartifact/cucumber/features"
)
public class TestRunner {
}
上面只是一个示例,当然您必须根据功能的位置更改该类路径。
答案 1 :(得分:1)
您需要参考功能的位置和步骤定义。跑步者应该看起来像这样:
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(
features = {"path/to/features/"},
glue = {"classpath:package.name.of.stepsDefinitions"},
)
public class TestRunner {
}
请注意功能文件的路径表示法 和胶水代码的包装表示法(步骤定义)
答案 2 :(得分:1)
我相信你仍面临同样的问题。你可以试试这个。
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)@CucumberOptions(plugin = {
"pretty", "json:target/Open-Google-WebSite.json"},
features = {"src/test/FeatureFilePackage"},
glue = {"com.java.cucumber_test"})
public class TestRunner {
}
答案 3 :(得分:0)
似乎你的测试是通过testng运行的,没有显示任何特定的错误我建议你从你的pom文件中删除testNg依赖关系运行你的测试(通过Junit)你将能够看到特定的错误并在解决它之后能轻松上课吗
预期错误可能是“重复步骤定义”