假设我的demo.feature文件中有一个场景
Scenario Outline: Gather and load all submenus
Given I will login using <username> and <password>
When I will click all links
Examples :
| username | password |
| user1 | pass1 |
| use2 | pass2 |
假设我有一个名为users.json的文件
如何从该外部文件中获取这些用户名和密码到我的demo.feature?我可以通过将参数传递给我的npm脚本来捕获文件,如下所示吗? npm run cucumber - --params.environment.file = usernames.json
我建议让登录步骤访问步骤定义中的json文件。只是确保不要将其检入到repo中,而是始终期望它位于某个位置,但仅限于本地而不是存储库中。
执行上述操作有两个原因: - 运行测试的工程师不需要知道必须从命令行传入参数 - 代码在该步骤中是自描述的 - 它如何登录 - 您可以添加更好的错误处理 - 如果需要通过钩子定义基于标记的路径等,您可以使用多个用户文件