【发布时间】:2020-11-11 08:57:44
【问题描述】:
我正在使用 Cucumber 和 WebdriverJS 编写测试自动化步骤定义。我有以下功能文件
Scenario Outline : Validate whatever in this scenario works
Given I have a <Service Method> for test store
Then validate that something exists
Example :
|Service Method|
|Carryout |
|Delivery |
|Dine-in |
我正在将此黄瓜步骤映射到以下自动生成的步骤定义文件
this.Given(/^I have a (.*) order$/, function (serviceMethod) {}
在这种情况下,我希望这个函数仅在黄瓜参数是 (carryout|delivery|dine-in) 之一时处理。
我尝试通过尝试以下正则表达式来限制捕获组,但在此之后黄瓜步骤定义未映射到 nodeJS 步骤定义。
this.Given(/^I have a (.*) (carryout|delivery|dine-in)? order$/, function (serviceMethod) {}
如何解决?任何帮助都非常感谢
【问题讨论】:
-
试试
/^I have a (.*?)(?: (carryout|delivery|hotspot))? order$/ -
@WiktorStribiżew 谢谢,我会试试这个。
-
@WiktorStribiżew 您建议的查询对我不起作用。但这现在对我有用
this.Given(/^I have a (carryout|delivery|dine-in) order$/, function (serviceMethod) {} -
嗯,现在还不清楚。这个问题看起来好像你想匹配一个可选的字符串。
标签: node.js regex selenium-webdriver automation cucumber