Robot框架:使用faker生成账户数据的前缀字符串

1 投票
1 回答
5423 浏览
提问于 2025-04-18 14:07

我正在写一些测试案例,主要是测试添加账户的功能。这意味着我需要生成一些账户信息,比如:名字、邮箱、参考编号和订单编号。我想,每个字段都可以生成一个随机的单词或数字,并加上一个前缀,这样我就可以用一个脚本定期从数据库中删除这些条目。

不过,我现在遇到的问题是,不太确定怎么给这些随机生成的内容加前缀,或者说怎么使用faker库里的大部分关键词。

目前,我使用md5这个关键词来创建一个字符串,用于每个测试案例的实例。我是在我的资源文件里创建了一个变量:

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

然后每当我想写前缀的时候,就调用这个变量(我在各种字段的末尾调用它,比如:邮箱:email+${md5}@gmail.com,参考编号:test ${md5}等等)。

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

我不太确定在Robot Framework中使用faker的具体文档在哪里,我是通过http://fake-factory.readthedocs.org/en来查找我想用的提供者,但在Robot Framework中使用它们时却很困难。

有没有人能帮我让random_int()这个功能正常工作,或者指引我找到Robot Framework中所有faker提供者的相关文档?

提前谢谢大家。

1 个回答

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}

使用随机整数关键字

如果你想获取一个随机整数,可以使用随机整数关键字:

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

为整个测试套件初始化变量

如果你想在整个测试套件中使用相同的值,可以写一个关键字,使用设置套件变量关键字来设置一些套件级别的变量。

例如:

*** 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/找到。

撰写回答