机器人框架:使用faker为帐户数据生成前缀字符串

时间:2014-07-21 15:47:33

标签: python robotframework test-data faker

我正在编写测试用于测试添加帐户功能的测试用例。这意味着我需要为帐户生成数据:姓名,电子邮件,参考号和订单号。我在想,对于每个字段,我都可以生成一个带有前缀的随机单词或数字,这样我就可以使用脚本定期从数据库中删除这些条目。

问题是,我不确定如何添加前缀,或者只是使用大多数faker的关键字。

在我使用md5关键字创建可用于我的测试用例的每个实例的字符串的那一刻,我已经通过在我的资源文件中创建变量来完成此任务:

*** Variables ***
${md5}                MD 5

每当我想写我的前缀时,我都会调用此变量(我在各个字段的末尾调用它,例如:email:email+$ {md5} @ gmail.com,reference:test $ {md5} etc

*** Keywords ***
Write username
    Input Text    a11y-username    test ${md5}

我不确定实际文档在Robot Framework中使用faker的位置,我使用http://fake-factory.readthedocs.org/en找到我想要使用的提供程序,然后努力让它们从在RF内。

任何人都可以帮助我让random_int()工作,或者指向我在RF中所有 faker提供商的相关文档。

提前致谢。

1 个答案:

答案 0 :(得分:2)

概述

使用faker关键字只需要调用它们,并将结果保存在变量中。您无法在变量表中使用faker关键字,您需要在测试用例或关键字中使用它们。但是,您可以使用python变量文件直接调用faker命令。

例如,要获取地址,您可以调用Address关键字。由于faker关键字是如此通用,我建议完全限定关键字,以明确您生成虚假数据。

例如:

*** Settings ***
| Library | FakerLibrary | WITH NAME | faker

*** Test Cases ***
| Example of using faker
| | ${address}= | faker.Address
| | log | address: ${address}

使用Random Int关键字

要获取随机整数,请使用Random Integer关键字:

| Example of using faker to get a random integer
| | ${number}= | faker.Random Int
| | log | my number is ${number}

初始化整个套件的变量

如果要对整个套件使用相同的值,可以使用Set Suite Variable关键字编写一个设置某些套件级变量的关键字。

例如:

*** Settings ***
| Library | FakerLibrary | WITH NAME | faker
| Suite Setup | Initialize Test Data

*** Test Cases ***
| Example of using faker to initialize suite variables
| | log | The suite address is ${address}
| | log | The suite md5 is ${md5}
| | log | The suite number is ${number}


*** Keywords ***
| Initialize test data
| | ${address}= | faker.Address
| | ${md5}= | faker.MD5
| | ${number}= | faker.Random Int
| | 
| | Set suite variable | ${address}
| | Set suite variable | ${md5}
| | Set suite variable | ${number}

文档

FakerLibrary关键字文档位于https://guykisel.github.io/robotframework-faker/