为了账号安全,请及时绑定邮箱和手机立即绑定

表作为特征文件中的输入

表作为特征文件中的输入

小怪兽爱吃肉 2021-08-19 16:36:50
当我cucumber使用场景大纲和编写功能文件进行测试时,我目前在示例表中有 25 个参数,我正在按照我在这里看到的方式呈现它们:Scenario Outline: Create ABCGiven I open the applicationWhen I enter username as "<username>"And I enter password as "<password>"Then I enter title as "<title>"And press submitExamples:| username | password | title || Rob      | xyz1      | title1 || Bob      | xyz1      | title2 |正如我所说,只有我有 25 个论点。是否有可能将整个示例表传输为datatable,而不是步骤文件中的 25 个参数?
查看完整描述

3 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

您可以通过使用qaf-gherkin来实现它,您可以从外部数据源(如 csv/excel/xml/json/database)加载示例。在这种情况下,您的功能文件将如下所示:


Scenario Outline: Create ABC

Given I open the application

When I enter username as "<username>"

And I enter password as "<password>"

Then I enter title as "<title>"

And press submit

Examples:{'datafile':'resources/testdata.txt'}

您的数据文件将如下所示:


#col.separator=|

username|password|title

Rob|xyz1|title1

Bob| xyz1|title2

以上是带有 | 的 csv(宪章分隔值)数据提供程序的示例 作为分隔符。您还可以使用不同的数据提供程序从任何 excel/xml/json/database 提供数据。


查看完整回答
反对 回复 2021-08-19
?
郎朗坤

TA贡献1921条经验 获得超9个赞

将 25 个参数放入功能文件中听起来确实很多。以下是可能的方法:

  1. 仅将每行的 ID 放入示例表中。这样它将每行迭代一行,并且在您的场景中,您使用此 ID 从外部源中提取数据。

  2. 将每一行转换为 JSON,这样示例表中就可以只有一列数据,或者只将一些数据转换为 JSON 并保留示例表中的基本数据。

  3. 在外部工具中编辑数据并将它们导入到您的特征文件中。像CukeTest这样的工具支持将数据从 CSV 文件导入到示例中,如下所示:

//img1.sycdn.imooc.com//611e18450001907308030665.jpg

查看完整回答
反对 回复 2021-08-19
  • 3 回答
  • 0 关注
  • 150 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信