1

这是我的基于python的测试(通常)发生的事情。

==============================================================================
***Settings***

Variables       variable_file.py
Library         library.py

***Test Cases***

A Test Case
      myTest      ${some string}       [I want to pass an object here]

=============================================================================

最后,我想传递一个在我的变量文件中定义的实际类对象。我已经看得很远了,但没有找到一种方法来传递字符串或列表之外的任何东西。有谁知道怎么做?

4

2 回答 2

2

默认情况下,${variable} 是字符串,但它也可以包含对象。您可以将它作为参数传递给关键字。

举一个这样的简单例子:

${mydict} =  Create Dictionary  a  1  b  2

=> 然后你有 ${mydict} = {'a': '1', 'b': '2'}

然后你可以用你的对象作为参数调用一个关键字。例如:

Dictionary Should Contain Key  ${mydict}  a

我正在使用这种东西来测试向我发送 JSON 的 REST API。我将 JSON 对象存储在 Robot 变量中,并通过探索 dict 的内容来检查结果。我在一篇博文中稍微解释了一下。

于 2013-06-20T08:05:10.470 回答
1

您可以按照用户指南中的说明在变量文件中实例化对象变量 这是一个通用示例

变量文件:

#var_file.py:
class foo(object):
    a = "foo"
    b = "bar"

MY_VAR = foo()
MY_SECOND_VAR = foo

测试用例文件:

#var_file.txt
*** Test cases ***
log variables
    log    ${MY VAR.a}
    log    ${MY VAR.b}

执行使用:

pybot -V var_file.py var_file.txt
于 2013-08-16T11:19:33.993 回答