标签: cucumber-java

从命令行黄瓜`--tags`选项?

我想做的是从命令行传递黄瓜选项到执行带有标记名@extecuteThese的场景,但我也想排除标记名为@WIP的场景,所以我到目前为止做的是

-Dcucumber.options='--tags @executeThese --tags ~@WIP' 
Run Code Online (Sandbox Code Playgroud)

但不幸的是,它没有考虑〜@ WIP标签选项

任何帮助,非常感谢!!

cucumber cucumber-jvm cucumber-junit cucumber-java

5
推荐指数
2
解决办法
1万
查看次数

黄瓜:从 Spring Boot jar 运行时找不到后端

我正在创建一个应该同时使用 Cucumber 和 Spring Boot 平台的小型测试框架。这个想法是让整个应用程序被打包成一个单独的 jar,并在 BDD 特性被正确参数化后运行。

该框架以命令行运行模式启动,如下所示:

public class FwApplication implements CommandLineRunner {

    public static void main(String[] args) {
        SpringApplication.run(FwApplication.class, args);
    }

    @Override
    public void run(String... arg0) throws Exception {
        JUnitCore.main(CucumberIntegration.class.getCanonicalName());
    }
}
Run Code Online (Sandbox Code Playgroud)

然后是 CucumberIntegration 类:

@RunWith(Cucumber.class)
@CucumberOptions(features = "config/features")
@ContextConfiguration(classes= AppConfiguration.class)
public class CucumberIntegration {
}
Run Code Online (Sandbox Code Playgroud)

我还有一些简单的测试,它们在我的 IDE 下运行良好,但是当我尝试打包应用程序并运行它时,java -jar fw-0.0.1-SNAPSHOT.jar我会看到以下内容:

There was 1 failure:
1) initializationError(com.fmr.bddfw.test.CucumberIntegration)
cucumber.runtime.CucumberException: No backends were found. Please make sure you have a backend module on your CLASSPATH.
        at …
Run Code Online (Sandbox Code Playgroud)

maven spring-boot cucumber-java

5
推荐指数
2
解决办法
4184
查看次数

从另一个主要方法使用 Main.run 运行 Cucumber 项目

我是 Cucumber 的新手并试图解决简单的问题:

我创建了一个 Java 项目并将所有与黄瓜相关的 jars 引用到该项目的构建路径(称为“CukeTest4”),下面是显示 java 文件和功能文件的结构。当我在 Eclipse 中将此功能文件作为 Cucumber 功能运行时,它运行良好。

在此处输入图片说明

现在,我想从另一个主要方法运行它。我创建了另一个 Java 项目,添加了一个带有 main 方法的类,下面的代码在默认包中。

import cucumber.api.cli.Main;

public class UseCukeFromMain {
    public static void main(String[] args) throws Throwable 
    {
        Main.main(new String[]{"-g", "C:/work/workspaces/neon2_wks_new1/Cuketest4/src/com/cuke", "C:/work/workspaces/neon2_wks_new1/Cuketest4/src/com/cuke/cukefeature.feature"});
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经在 java 文件中提供了该方法的实现,因为它在 Eclipse 中运行良好,但显示了下面的消息来实现该方法

[33mU[0m

1 Scenarios ([33m1 undefined[0m)
1 Steps ([33m1 undefined[0m)
0m0.000s


You can implement missing steps with the snippets below:

@Given("^I want to write a step with precondition$")
public void i_want_to_write_a_step_with_precondition() throws Throwable {
// Write code …
Run Code Online (Sandbox Code Playgroud)

java bdd cucumber cucumber-jvm cucumber-java

5
推荐指数
1
解决办法
9368
查看次数

运行黄瓜测试时记录日志

在运行 Cucumber 测试时如何获取 Spring 应用程序中写入的日志语句?

我正在获取步骤定义中写入的日志,但我没有从实际代码中获取日志。

提前致谢。

java log4j spring-boot cucumber-java

5
推荐指数
0
解决办法
4233
查看次数

如何将 HashMap 转换为黄瓜数据表?

我想知道在java Cucumber 中是否有任何方法可以将HashMap 转换为DataTable。我试着做一些谷歌搜索,发现相反的情况是可能的。关于如何实现这一点的任何想法?

提前致谢。

java cucumber cucumber-java

5
推荐指数
1
解决办法
1910
查看次数

黄瓜在没有示例的情况下无法识别场景

我有一个类似于以下的小黄瓜场景:

Scenario Outline: Test some behaviour
    Given a set of preconditions
    When an event occurs
    Then my application has to behave in a particular manner
    And respond as expected
Run Code Online (Sandbox Code Playgroud)

当我执行这个场景时,我的报告说

0 个场景,执行 0 个步骤。

然而,当我使用示例执行场景时,我的设置工作正常。

我错过了什么吗?

cucumber cucumber-java serenity-bdd cucumber-serenity

5
推荐指数
1
解决办法
1791
查看次数

黄瓜:如何从外部 excel 文件中读取场景大纲的示例

我的要求是从外部 excel 文件中读取示例,而不是将其硬编码到功能文件中。我有 100 多个难以在特征文件中维护的示例。你能帮我解决这个问题吗?

这是我的场景 -

Scenario Outline: Browser Test

    When I visit the URL <base>/<page>/<ordNumber>/<custName>
    Then the browser contains test <custNumber>

    Examples: 
     | base                         | page   | ordNumber | custName |
     | http://www.stackoverflow.com | orders | 123       | John     |
     | http://www.stackoverflow.com | orders | 456       | Mike     |
     | http://www.stackoverflow.com | orders | 789       | Tom      |
Run Code Online (Sandbox Code Playgroud)

我想用示例数据创建一个 excel 文件并在运行时加载它

例子.xls

 | base                         | page   | ordNumber | custName |
 | http://www.stackoverflow.com | orders | 123       | …
Run Code Online (Sandbox Code Playgroud)

bdd cucumber gherkin cucumber-jvm cucumber-java

5
推荐指数
1
解决办法
5512
查看次数

用于执行差异的 Cucumber DataTable 的 Java 对象列表

让我们有以下功能文件,

Feature: Search Employees

  Background: 
    Given following employees exists
      | id | name   | department | 
      | 1  | Jack   | HR         | 
      | 2  | Rachel | Finance    | 
      | 3  | Mike   | HR         | 
      | 4  | Emma   | IT         | 

  Scenario: Get Employees By Department

    Given user wants to get list employees in a department

     When searched for department = 'HR'

     Then following list of employees are returned
      | id | name | department | 
      | …
Run Code Online (Sandbox Code Playgroud)

java bdd cucumber-jvm cucumber-java

5
推荐指数
1
解决办法
6682
查看次数

5
推荐指数
1
解决办法
4452
查看次数

带有黄瓜的正则表达式与给出错误的字符串不匹配,但如果多次编写测试,则会匹配相同的字符串

我正在用java编写并使用带有eclipse的cucumber来搜索具有以下要求的类似IP的字符串

应该接受由句点分隔的四位数序列,其中数字序列定义如下:任何单个数字,任何两位数字字符(如果第一个字符是非零),一个一个后跟一个零,一个或两个后跟任何数字

通过在 Stepdefs.java 文件中编写适当的正则表达式,这就是我写的

@When("^test_ip_address ((?:(\\d)|(1[0-2]\\d)|([1-9]\\d))\\.){3}(?:(\\d)|([1-9]\\d)|(1[0-2]\\d))$")
public void test_ip_address(String arg1) throws Throwable {
    System.out.println("test_ip_address true for: " + arg1);
}
Run Code Online (Sandbox Code Playgroud)

现在,当我在 Test.feature 文件中为此方法编写测试(用 Gherkin 语言)时,第一个测试总是失败,测试(应该全部通过)

When test_ip_address 1.2.3.4
When test_ip_address 123.34.76.109
When test_ip_address 123.34.76.109
When test_ip_address 105.22.33.44
Run Code Online (Sandbox Code Playgroud)

这不是价值问题,就像当我重新排序这些测试时,它总是第一个失败,即使我在另一个测试中使用了完全相同的值,它通过了!这是我得到的错误

cucumber.runtime.CucumberException: Arity mismatch: Step Definition 'skeleton.Stepdefs.test_ip_address(String) in file:(file path..)' with pattern [^test_ip_address ((?:(\d)|(1[0-2]\d)|([1-9]\d))\.){3}(?:(\d)|([1-9]\d)|(1[0-2]\d))$] is declared with 1 parameters. However, the gherkin step has 7 arguments [3., 3, null, null, 4, null, null]
Run Code Online (Sandbox Code Playgroud)

我搜索了错误,当测试中的参数数量与方法中的参数数量不同时,即使我使用 (?:) 将字符串作为一个参数传递,我也不知道在哪里这7个论点来自!也不是错误的原因

java regex cucumber-junit cucumber-java

5
推荐指数
1
解决办法
847
查看次数