如何在Robot Framework中使用faker?

0 投票
1 回答
1448 浏览
提问于 2025-04-18 13:33

我一直在尝试使用faker库来生成数据,而不是在我的测试案例中使用静态数据。

我试过直接在我的关键字中调用 fake.md5(raw_output=False),也试过先创建一个变量并把这个值赋给它,但都没有达到预期的效果。似乎无论我怎么做,在我的测试中得到的输出始终是 fake.md5(raw_output=False)

我到底哪里做错了呢?

编辑:我的关键字(它写入一个特定的字段,这只是一个测试关键字,用来确认我可以使用faker) -

Write username
    ${md5}=    MD 5
    ${my data}=    log    md5: ${md5}
    Input Text    a11y-username    ${my data}

编辑 #2 - 我意识到我漏掉了 log 关键字,我已经更新了我的代码。

1 个回答

1

问题出在这句话上:

${my data}=    md5: ${md5}

Robot框架期望第一个单元格(或者在变量名后面的第一个单元格)是一个关键字。所以在这个例子中,它把md5: ${md5}当成了关键字,但显然这并不是一个关键字。这就是为什么你会看到错误信息No keyword with name 'md5: ${md5}' found.

我不太清楚你想用那行代码做什么。你的值已经在一个变量里了,你是想把它复制到另一个变量,还是只是想打印出来呢?

如果你是想记录这个值,可以使用Log这个关键字:

Write username
    ${md5}=    MD 5
    log  md5: ${md5}

如果你想把这个值复制到另一个变量,可以使用Set Variable这个关键字:

write username
    ${md5}=  MD 5
    ${my data}=  set variable  ${md5}
    Input Text  a11y-username  ${my data}

撰写回答