黄瓜场景大纲输入,值中带有引号

Posted

技术标签:

【中文标题】黄瓜场景大纲输入,值中带有引号【英文标题】:Cucumber scenario outline input with quotes in the value 【发布时间】:2021-12-18 04:42:03 【问题描述】:

我正在尝试使用带有 ruby​​ 函数的 appian 的fitnesse 向文本字段输入一个值。 我有一个黄瓜场景:

Feature:  create a quick decision

Scenario Outline: decision
       
  When I populate the "Decision Title" field with <decTitle>
 Examples:
  | role                  | decTitle                |
  | "test" | "testinput "user1" titlepart2"   | 

我必须能够在该字段中输入带引号的值,以及从下拉菜单中进行选择。

我试图通过以下方式转义引号:

    在同一行和多行上的三引号 """ 富 “和” 酒吧 """

    " 用于起始引号和内部引号 “富”和“酒吧” “foo”和“bar”

    内外双引号 “富”“和”“吧”

在运行测试用例时都会导致相同的“步骤未定义”错误 任何和所有的帮助将不胜感激。

【问题讨论】:

要删除双引号吗?比如,从"testinput "user1" titlepart2"testinput user1 titlepart2"testinput" user1 "titlepart2" 不,目标是输入一个包含引号的值。我的用例是标题可以在其他保留字符或不常见字符中包含引号。 你试过我的解决方案了吗? 【参考方案1】:

您可以使用正则表达式(.*) 来传递带有双引号的值。如下所示,

场景

  @Regression
  Scenario Outline: decision
    When I populate the "Decision Title" field with <decTitle>

    Examples: 
      | role   | decTitle                       |
      | "test" | "testinput "user1" titlepart2" |

代码

@When("I populate the \"(.*)\" field with (.*)$")
public void populate(String message, String decTitle) 
    System.out.println("Message: " + message);
    System.out.println("Title: " + decTitle);

输出

Message: Decision Title
Title: "testinput "user1" titlepart2"

【讨论】:

这适用于我在外面有引号但当前的问题是最终输出需要是这样的:testinput "user1" titlepart2 在这种情况下,您可以在示例中传递testinput "user1" titlepart2 很遗憾,表格中的值必须用引号括起来。 你能补充几个例子吗?

以上是关于黄瓜场景大纲输入,值中带有引号的主要内容,如果未能解决你的问题,请参考以下文章

黄瓜迁移场景到场景大纲

黄瓜不会根据大纲场景找到我的步骤

使用场景大纲时,黄瓜报告重复

自动运行黄瓜表

具有多个场景的 Specflow 场景大纲

如何将字符串中带有双引号的json文件加载到spark scala中的数据框中