【问题标题】:How to make multi-lines test setup or teardown in RobotFramework without creating new keyword?如何在 RobotFramework 中进行多行测试设置或拆卸而不创建新关键字?
【发布时间】:2014-05-06 16:21:47
【问题描述】:

我需要在测试用例中调用两个拆卸关键字,但不能为此创建新关键字。 如果关键字有这样的语法,例如文档或循环,我会很有趣:

[Documentation]  line1
...              line2
...              line3

【问题讨论】:

    标签: testing automation robotframework


    【解决方案1】:

    使用“Run Keywords”关键字。

    来自文档“当他们需要处理多个操作并且创建新的更高级别的用户关键字将是过度杀伤时,此关键字主要用于设置和拆卸”

    看起来像这样:

    Test Case
      [Teardown]  Run Keywords  Teardown 1  Teardown 2
    

    也可以

    Test Case
      [Teardown]  Run Keywords  Teardown 1  
      ...                       Teardown 2 
    

    还有参数

    Test Case
      [Teardown]  Run Keywords  Teardown 1  arg1  arg2
      ...         AND           Teardown 2  arg1  
    

    【讨论】:

    • 在这种情况下,Teardown 2 是 Teardown 1 的参数,因此它不起作用。
    • 哦,是的,然后尝试使用“运行关键字”
    • 谢谢。它几乎可以帮助我。有一个问题 - 如果我必须为 Teardown 1 或 2 提供参数,它就不起作用。
    • 来自关键字文档:“从 Robot Framework 2.7.6 开始,关键字也可以使用大写 AND 作为关键字之间的分隔符来运行关键字。执行关键字时,第一个参数是第一个关键字和直到第一个 AND 之前的后续参数是它的参数。第一个 AND 之后的第一个参数是第二个关键字,直到下一个 AND 之前的后续参数是它的参数。依此类推"
    • 太棒了!知道了。非常感谢!
    【解决方案2】:

    要在 Test Teardown 方法中执行多个关键字,请使用以下技巧:

    首先,定义一个包含您要执行的关键字集的新关键字。

    例如这里Failed Case Handle是另外两个关键字take screenshotclose application的新定义。考虑这是截取屏幕截图,然后关闭正在运行的应用程序。

    *** Keywords ***
    Failed Case Handle
        take screenshot
        close application
    

    基本上,当你调用Failed Case Handle关键字时,take screenshotclose application会分别被执行。

    然后,在 ***Settings*** 部分通过以下示例定义 Test Teardown 过程。

    *** Settings ***
    Test Teardown  run keyword if test failed  Failed Case Handle
    

    或者,

    *** Settings ***
    Test Teardown  run keyword  Failed Case Handle
    

    因此,在第一种情况下,如果任何测试用例失败,将调用 Failed Case Handle 关键字。另一方面,在第二种情况下,Failed Case Handle 关键字将在每个测试用例之后调用。

    【讨论】:

      猜你喜欢
      • 2017-10-01
      • 2019-02-22
      • 1970-01-01
      • 2013-04-18
      • 2018-07-11
      • 1970-01-01
      • 1970-01-01
      • 2017-09-12
      • 2018-09-12
      相关资源
      最近更新 更多