ant*_*l92 2 javascript cucumber e2e-testing cypress
我看到了一些与我类似的帖子,但我发现它根本没有帮助,因为他们都没有使用 cypress 预处理器。
我有一个场景:
Scenario: Some scenario
Given ...
When ...
Then I should see "<task_field>" field as "<field_value>"
Examples:
| task_field | field_value |
| some_field1 | some_value1 |
| some_field2 | some_value2 |
| some_field3 | some_value3 |
Run Code Online (Sandbox Code Playgroud)
.js 文件具有:
Then('I should see {string} field as {string}', (field, value ) => {
switch (field) {
case 'some_field1':
cy.get('.someClass1').contains(value)
break
case 'some_field2':
cy.get('.someClass2').contains(value)
break
case 'some_field3':
cy.get('.someClass3').contains(value)
break
default:
throw new Error(`Invalid field: ${field}`)
}
})
Run Code Online (Sandbox Code Playgroud)
我的目标是检查每个 some_field 是否等于 some_value,但目前 cypress 会抛出一个错误,它甚至没有给我执行测试的选项:
任何帮助将不胜感激干杯!
经过 2 小时的调试后,我发现我忘记Outline
在场景定义中包含 world ,以便测试能够迭代数据表。因此,为了将来参考,修复来自:
Scenario: Some scenario
Given ...
When ...
Then I should see "<task_field>" field as "<field_value>"
Examples:
| task_field | field_value |
| some_field1 | some_value1 |
| some_field2 | some_value2 |
| some_field3 | some_value3 |
Run Code Online (Sandbox Code Playgroud)
是包含在第一行Outline
:
Scenario Outline: Some scenario
Given ...
When ...
Then I should see "<task_field>" field as "<field_value>"
Examples:
| task_field | field_value |
| some_field1 | some_value1 |
| some_field2 | some_value2 |
| some_field3 | some_value3 |
Run Code Online (Sandbox Code Playgroud)
我想这对我来说是漫长的一天。希望这对遇到类似问题的人有所帮助!
归档时间: |
|
查看次数: |
3696 次 |
最近记录: |