【问题标题】:How can I use faker in conjunction with Robot Framework?如何将 faker 与 Robot Framework 结合使用?
【发布时间】:2021-02-05 18:15:56
【问题描述】:

我一直在尝试使用 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 关键字,我已经更新了我的代码

【问题讨论】:

  • 您似乎完全改变了您的要求。首先是如何使用faker 的问题,现在你问的是错误object type of 'NoneType' has no len()?您的问题中没有尝试使用 len 函数的代码。如果您遇到不同的问题,请在单独的问题中提问,而不是更改此问题。
  • 我已经删除了错误代码,这是错误代码的错误。

标签: python robotframework faker


【解决方案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}

【讨论】:

  • 请看我的编辑,不幸的是我不得不用我的手机发表评论。我的工作场所阻止了外部 JavaScript。
猜你喜欢
  • 2013-04-04
  • 2019-09-15
  • 2017-05-30
  • 1970-01-01
  • 2017-12-31
  • 2019-07-28
  • 2012-01-25
  • 1970-01-01
  • 2012-10-06
相关资源
最近更新 更多