【发布时间】:2017-07-20 21:41:13
【问题描述】:
我想在 Node.js 中实现一个涉及数据表的 Gherkin 步骤,但我不确定应该如何传入数据。这是一个我知道的不使用数据表的示例。
test.feature
Feature: Testing login
Scenario: Logging in with credentials
When I login with credentials "user@example.com" and "p@ssw0rd"
login.js
import loginAsCreds from './loginAsCreds'
module.exports = function when () {
this.When(
/^I login as "(.+)" and "(.+)"/i,
loginAsCreds
)
loginAsCreds.js
module.exports = (email, password, done) => {
browser.element('#email').keys(email)
browser.element('#password').keys(password)
browser.element('#signInButton').click()
done()
}
这是我希望功能文件的样子。
test-desired.feature
Feature: Testing login
Scenario: Logging in with credentials
When I login with credentials:
| user@example.com | p@ssw0rd |
我尝试了一些方法来修改 login.js 以传递数据表和 loginAsCreds.js 以接受它,但我是 Node.js 和 WebdriverIO(但不是 Selenium 或 Gherkin)的新手。有人可以指出我正确的方向吗?数据表对于我计划编写的其他步骤也非常有用。谢谢!
【问题讨论】:
-
这是我找到的最接近的东西,但是因为我想在另一个文件中定义函数,我认为我缺乏 JS 会妨碍我。 grokbase.com/t/gg/cukes/12av4y61em/cucumber-js-passing-arrays
标签: javascript node.js cucumber gherkin webdriver-io