编写Cucumber特征文件,每次测试运行时都传递唯一数据

时间:2017-09-29 15:50:01

标签: cucumber-jvm cucumber-java scenarios

我想编写一个功能文件,每次运行测试时都会传递唯一数据。

功能: - 创建Facebook帐户
场景大纲:创建新帐户
鉴于我去facebook.com
我输入" First_Name> Last_name> DOB>密码> ConfirmPassword>电子邮件> ConfirmEmail>"
何时我点击创建帐户
那么欢迎来到facebook留言 示例:
|将First_Name |姓氏| DOB |密码| ConfirmPassword |电子邮件| ConfirmEmail |   |加利|英语| 1989年11月1日| test123 | test123 | gar@mail.com | gar@mail.com | |巴里|史密斯| 1982年1月11日| test123 | test123 | bar@mail.com | bar@mail.com |

我的问题是: 当我运行上面的场景时,将创建2个Facebook帐户。当我提交我的代码并且每天早上运行测试时,除非我每次都更改电子邮件以使其独一无二,否则它们将会失败。任何系统都会检查提供的电子邮件地址是否已经存在。

如何解决此问题,我不必每次都更改创建帐户功能文件数据。

我希望我们中的某个人能够遇到这样的问题。

注意:我无法打开和关闭<>由于文本在这些括号之间不可见,因此我只保留了一个括号

1 个答案:

答案 0 :(得分:0)

然后不要将它放在功能文件中。在步骤方法中构建随机数发生器。您还应该更改要素文件以反映这一点。

And I enter "<First_Name>, <Last_name>, <DOB>, <Password>, <ConfirmPassword>, <Email>, <ConfirmEmail>"
And uses a random email

或者如果您不想构建单独的条件,则使用关键字来表示该值应该随机化(我的首选方法):

|Barry|Smith|01/11/1982|test123|test123|[random]|[random]|

因此,当传递给注册方法时,如果该值未作为合法电子邮件地址验证(您正在进行验证,对吗?),请检查[random]关键字。如果它在那里,那么建立一个随机有效的电子邮件。