机械手框架:为整个测试套件运行设置

ewo*_*wok 2 robotframework

ROBOT中是否可以为整个测试套件运行安装程序,而不是为每个文件单独运行安装程序?我想在套件的开头运行安装程序,如果安装失败,则根本不要运行任何测试用例。

例如,给定以下文件:

*** Settings ***
Test Setup    Setup Fails

*** Test Cases ***
Case1
    Should Be True    1<2

Case2
    Should Be True    2<1

*** Keywords ***
Setup Fails
    Should Be True    2<1
Run Code Online (Sandbox Code Playgroud)

我不希望Case1和Case2都执行。照原样,这两种方法都尝试分别使用“安装程序失败”作为安装程序,并且output.xml文件的每个测试用例都有一个状态,并显示一条消息,提示“安装程序失败...”。相反,我希望xml文件具有状态为“ FAIL”的套件,并带有消息“安装失败...”,并且测试用例要么不包括在内,要么表明它们尚未运行。

这是ROBOT支持的吗?

相反,我想收到一条错误消息

Bry*_*ley 8

机器人支持套件设置。例如:

*** Settings ***
Suite Setup    Setup Fails

*** Test Cases ***
Case1
    Should Be True    1<2

Case2
    Should Be True    2<1

*** Keywords ***
Setup Fails
    fail    Danger Will Robinson!
Run Code Online (Sandbox Code Playgroud)

以上结果如下:

==============================================================================
Example                                                                       
==============================================================================
Case1                                                                 | FAIL |
Parent suite setup failed:
Danger Will Robinson!
------------------------------------------------------------------------------
Case2                                                                 | FAIL |
Parent suite setup failed:
Danger Will Robinson!
------------------------------------------------------------------------------
Example                                                               | FAIL |
Suite setup failed:
Danger Will Robinson!

2 critical tests, 0 passed, 2 failed
2 tests total, 0 passed, 2 failed
==============================================================================
Run Code Online (Sandbox Code Playgroud)


Uri*_*and 5

您需要在该文件夹中定义一个名为 __init__.robot 的文件。

该文件应包含套件设置,并且它将在该文件夹中的任何其他文件之前运行。

您还可以嵌套这些文件。如果您有以下文件夹:

A-
 -B
 -C

然后将 __init__.robot 文件放入文件夹 A 中,它的套件安装程序将在文件夹 B 和 C 中的任何测试或任何 init 之前运行(一次)。

请注意,同样的技巧也适用于拆卸 - 只是相反。