【问题标题】:How to pass object-variables to test cases in RobotFramework?如何将对象变量传递给 RobotFramework 中的测试用例?
【发布时间】:2013-06-15 06:20:26
【问题描述】:

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

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

Variables       variable_file.py
Library         library.py

***Test Cases***

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

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

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

【问题讨论】:

    标签: automated-tests robotframework


    【解决方案1】:

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

    举个简单的例子:

    ${mydict} =  Create Dictionary  a  1  b  2
    

    => 那么你有 ${mydict} = {'a': '1', 'b': '2'}

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

    Dictionary Should Contain Key  ${mydict}  a
    

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

    【讨论】:

      【解决方案2】:

      您可以在变量文件中实例化对象变量,如User guide 中所述 这是一个通用示例

      变量文件:

      #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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-20
        • 1970-01-01
        • 2021-02-18
        • 1970-01-01
        • 2018-09-14
        • 1970-01-01
        • 1970-01-01
        • 2021-09-25
        相关资源
        最近更新 更多