通过黄瓜运行时没有结果。试图实现BDD

时间:2015-12-22 05:03:32

标签: java selenium-webdriver junit cucumber

已经尝试了几乎所有解决方案,但仍然缺少一些东西。

我创建了简单的JAVA程序,添加了功能文件和黄瓜类。当我跑步时,我得到输出:

  

@Search Scenario Outline:成功打开Goog​​le.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和黄瓜。

我也做对了吗?使用黄瓜是正确的方法吗?

4 个答案:

答案 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)你将能够看到特定的错误并在解决它之后能轻松上课吗

预期错误可能是“重复步骤定义”