当前位置: 首页 > 知识库问答 >
问题:

穿cucumber时没有效果。尝试实现BDD

衡高寒
2023-03-14

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

我创建了简单的JAVA程序,为cucumber添加了功能文件和类。当我运行时,我会得到输出:

@搜索场景概述:成功打开谷歌。com[90m#Open#Google.feature:4[0m[36mGiven[0m[36mMuser是空白页面[0m[36mWhen[0m[36mMuser输入URL[0m[36mWhen[0m[36mGoogle网站应该打开[0m]

0场景

0步

0万。千

功能文件:

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和cucumber。

还有我做得对吗?用cucumber是正确的方法吗?

共有3个答案

董新觉
2023-03-14

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

 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 {

   }
厍浩广
2023-03-14

您需要参考功能的位置和步骤定义。跑步者应该是这样的:

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 {

}

注意特征文件的路径符号和粘合代码的包符号(步骤定义)

隗昀
2023-03-14

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

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 {

}

上面只是一个例子,当然,您必须根据功能所在的位置更改该类路径。

 类似资料:
  • 我司是做硬件网管设备的。想通过openvpn实现内网穿透,不仅要实现对网关本身的透传,也要支持对能和网关通信的直连设备、局域网设备等进行直接透传操作。 举个例子: 正常情况下 S、A、B之间是可以互相访问的,但是如何做才能实现 A、C 之间也能通信?

  • 本文向大家介绍WPF ProgressBar实现实时进度效果,包括了WPF ProgressBar实现实时进度效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了WPF ProgressBar实现实时进度的具体代码,供大家参考,具体内容如下 简单测试,页面如图: 利用上班的一点点空闲时间,做了个wpf progressbar的例子,觉得有潜力可挖,故放上来供大家参考,有写的更好的请留

  • 本文向大家介绍Javascript实现倒计时时差效果,包括了Javascript实现倒计时时差效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js倒计时时差效果的实现代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 以下将与结合使用可完全删除 x 轴标签。我假设指定的中断在 ggplot 对象中并不真正存在,随后根本没有显示任何中断。 这是由< code>coord_sf()从EPSG 32717自动转换到EPSG 4326引起的吗?

  • 本文向大家介绍canvas实现粒子时钟效果,包括了canvas实现粒子时钟效果的使用技巧和注意事项,需要的朋友参考一下 前面的话 本文将使用canvas实现粒子时钟效果 效果展示 点阵数字 digit.js是一个三维数组,包含的是0到9以及冒号(digit[10])的二维点阵。每个数字的点阵表示是7*10大小的二维数组 通过遍历数字点阵的二维数组,当该位置的值为1时,则绘制一个粒子,否则不绘制 将

  • 问题内容: 我有两个要在Test Suite中一起运行的测试用例(两个不同的文件)。我可以仅通过“正常”运行python来运行测试,但是当我选择运行python单元测试时,它说运行0次测试。现在,我只是想至少进行一项测试以正确运行。 这是我的测试用例设置的示例 我该怎么做才能正确地完成这项工作? 问题答案: 您想使用测试服。因此,您无需调用unittest.main()。测试套件的使用应如下所示: