Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Robot框架:使用faker为帐户数据生成前缀字符串_Python_Robotframework_Test Data_Faker - Fatal编程技术网

Python Robot框架:使用faker为帐户数据生成前缀字符串

Python Robot框架:使用faker为帐户数据生成前缀字符串,python,robotframework,test-data,faker,Python,Robotframework,Test Data,Faker,我正在编写测试用例,测试添加帐户的功能。这意味着我需要为账户生成数据:姓名、电子邮件、参考号和订单号。我想,对于每个字段,我可以生成一个带有前缀的随机单词或数字,以便我可以使用脚本定期从数据库中删除这些条目 问题是,我不知道如何添加前缀,或者仅仅使用faker的大多数关键词 在我使用md5关键字创建一个字符串以用于测试用例的每个实例时,我通过在资源文件中创建一个变量来实现: *** Variables *** ${md5} MD 5 然后,每当我想写前缀时,我就调

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

问题是,我不知道如何添加前缀,或者仅仅使用faker的大多数关键词

在我使用md5关键字创建一个字符串以用于测试用例的每个实例时,我通过在资源文件中创建一个变量来实现:

*** Variables ***
${md5}                MD 5
然后,每当我想写前缀时,我就调用这个变量(我在各个字段的末尾调用它,例如email:email+${md5}@gmail.com,reference:test${md5}等

*** Keywords ***
Write username
    Input Text    a11y-username    test ${md5}
我不确定在Robot框架内使用faker的实际文档在哪里,我使用它来找到我想要使用的提供商,然后努力让他们在RF内工作

任何人都可以帮助我使random_int()正常工作,或者给我指出RF中所有伪造供应商的相关文档

提前感谢。

概述 使用faker关键字只需要调用它们,并将结果保存在变量中。不能在变量表中使用faker关键字,需要在testcase或关键字中使用它们。但是,可以使用python变量文件直接从调用faker命令

例如,要获取地址,您可以调用
地址
关键字。由于伪造关键字非常通用,我建议完全限定关键字,以明确您正在生成伪造数据

例如:

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

*** Test Cases ***
| Example of using faker
| | ${address}= | faker.Address
| | log | address: ${address}
*** 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}
使用Random Int关键字 要获取随机整数,请使用随机整数关键字:

| Example of using faker to get a random integer
| | ${number}= | faker.Random Int
| | log | my number is ${number}
初始化整个套件的变量 如果要对整个套件使用相同的值,可以编写一个关键字,使用该关键字设置某些套件级别的变量

例如:

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

*** Test Cases ***
| Example of using faker
| | ${address}= | faker.Address
| | log | address: ${address}
*** 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关键字文档位于。

但正如您在我的代码示例中所看到的,我创建了一个调用faker关键字的变量并将其存储在一个变量中,因为我可以调用该变量并获得相同的输出。为什么我不能使用random_int或其他faker提供程序执行此操作?没有“调用该变量”这样的事情.Variables无法调用。在变量表中,第二列是字符串,而不是关键字。您的变量只是包含字符“MD 5”的字符串。您的
${md5}
variable不调用任何东西,也不使用faker。它只是一个普通变量。同样,要使用faker,必须调用其中一个faker关键字,例如
Random Int
。查看链接的文档后,MD 5(定义变量时的值)是一个关键字,这就是变量
${md5}的原因
有一个由faker生成的值,如我所说。我现在正在测试是否可以对Random执行相同的操作Int@Stormie:无意冒犯,但我认为您弄错了。查看您的测试日志,您会发现
${md5}
不是md5,只是字符串“md5”。除非您使用的是robotframework之外的其他工具,否则它不能是其他任何东西。如果您在variables表中添加了一些内容,则第二列仅是一个文字字符串,仅此而已。啊,我很抱歉。当我之前测试这个时(尝试调用变量定义中的关键字)我没有取消对相关代码的注释。你说得很对,我认为我仍然需要设置变量以保持在这个会话中生成的随机int?