我正在编写测试用于测试添加帐户功能的测试用例。这意味着我需要为帐户生成数据:姓名,电子邮件,参考号和订单号。我在想,对于每个字段,我都可以生成一个带有前缀的随机单词或数字,这样我就可以使用脚本定期从数据库中删除这些条目。
问题是,我不确定如何添加前缀,或者只是使用大多数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提供商的相关文档。
提前致谢。
答案 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 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/。