junit 在 cucumber 上运行时没有结果,尝试实施BDD

n3schb8v  于 2023-08-05  发布在  其他
关注(0)|答案(4)|浏览(154)

已经尝试了几乎所有的解决方案,这是对SO,但仍然错过了一些东西在这里。
我已经创建了简单的JAVA程序,添加了 cucumber 的特性文件和类。当我运行时,我得到的输出是:
@搜索方案大纲:成功打开Google.com [90 m #打开Google.功能:4[0 m [36 m给定[0 m [36 m用户使用空白页面[0 m [36 m何时[0 m [36 m用户输入URL[0 m [36 m然后[0 m [36 m Google网站应打开[0 m
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 Web驱动程序、JAVA、Junit和cucumper。
还有我做得对吗?使用 cucumber 的方法正确吗?

yqyhoc1h

yqyhoc1h1#

运行者似乎无法找到您的功能文件。它位于资源?如果是,请尝试引用整个类路径,如

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 {

}

字符串
上面只是一个例子,当然,你必须根据你的功能所在的位置来改变类路径。

3yhwsihp

3yhwsihp2#

您需要参考特征和步骤定义的位置。跑步者应该看起来像这样:

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 {

}

字符串
注意特性文件路径符号粘合代码包符号(步骤定义)

tjrkku2a

tjrkku2a3#

我相信你仍然面临着同样的问题。你可以试试这个

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 {

   }

字符串

watbbzwu

watbbzwu4#

看起来你的测试是通过testng运行的,它没有显示任何特定的错误,我建议你删除testNg依赖从你的pom文件运行你的测试(通过Junit),你将能够看到特定的错误,解决它之后,你将能够轻松地运行你的类
预期错误可能是“重复步骤定义”

相关问题