如何在硒黄瓜框架中使用 Json 进行参数化

问题描述

我在我们的项目中使用 selenium-cucumber 框架。所以我在一个包中有特征文件一个包中有 stepdeFinition 类,另一个包中有 runner 类。 我在功能文件中有一些步骤,如下所示。

Feature: To test login of FreeCRM

Scenario Outline: login test
Given user in login page
When title of page is freeCRM
Then user enter <username>
Then user enter <password>
Then user click on login button
And user is in home page

Examples:
| username | password |
| [email protected]| test123@ |

那么在这种结构中,我如何通过 json 进行参数化,而不是通过功能文件中的示例关键字提供数据。

解决方法

您可以添加 qaf-cucumber 依赖项,这将使您能够使用来自外部数据提供程序(例如 xml、json、csv、db、excel)的示例。添加依赖项后,您的场景可以使用示例表单外部文件,可能如下所示:

@dataFile:resources/logindata.json
Feature: To test login of FreeCRM

Scenario Outline: login test
Given user in login page
When title of page is freeCRM
Then user enter <username>
Then user enter <password>
Then user click on login button
And user is in home page

Json 数据文件:

[
    { "username" : "[email protected]","password":"123abc123","isvalid":false },{ "username" : "Admin","password":"test",{ "username" : "admin","password":"Admin2193","isvalid":true }
]