gpt4 book ai didi

testing - 如何在机器人框架中设置多级测试设置/拆卸

转载 作者:行者123 更新时间:2023-11-28 20:05:43 25 4
gpt4 key购买 nike

我有一些机器人测试用例在目录中分开。目录层次结构是:

ParentTestDirectory
|__ ChidTestDirectoryOne
|__ TestOne.robot
|__ ChidTestDirectoryTwo
|__ TestTwo.robot
|__ __init__.robot

__init__.robot的内容:

*** Settings ***
Test Setup LOG TO CONSOLE Test setup from __init__.robot
Test Teardown LOG TO CONSOLE Test teardown from __init__.robot

TestOne.robot的内容:

*** Settings ***
Test Setup LOG TO CONSOLE Test setup from TestOne.robot
Test Teardown LOG TO CONSOLE Test teardown from TestOne.robot
*** Test Cases ***
Test One
LOG TO CONSOLE This is Test One!

TestTwo.robot 的内容:

*** Settings ***
Test Setup LOG TO CONSOLE Test setup from TestTwo.robot
Test Teardown LOG TO CONSOLE Test teardown from TestTwo.robot
*** Test Cases ***
Test Two
LOG TO CONSOLE This is Test Two!

我有一个用 python 编写的运行器,它使用机器人运行器模块;这是使用命令 sudo python run.py --testsuit scenarios.ParentTestDirectory 运行测试用例的结果:

==============================================================================
Scenarios
==============================================================================
Scenarios.ParentTestDirectory
==============================================================================
Scenarios.ParentTestDirectory.ChidTestDirectoryOne
==============================================================================
Scenarios.ParentTestDirectory.ChidTestDirectoryOne.TestOne
==============================================================================
Test One Test setup from TestOne.robot
.This is Test One!
.Test teardown from TestOne.robot
Test One | PASS |
------------------------------------------------------------------------------
Scenarios.ParentTestDirectory.ChidTestDirectoryOne.TestOne | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Scenarios.ParentTestDirectory.ChidTestDirectoryOne | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Scenarios.ParentTestDirectory.ChidTestDirectoryTwo
==============================================================================
Scenarios.ParentTestDirectory.ChidTestDirectoryTwo.TestTwo
==============================================================================
Test Two Test setup from TestTwo.robot
.This is Test Two!
.Test teardown from TestTwo.robot
Test Two | PASS |
------------------------------------------------------------------------------
Scenarios.ParentTestDirectory.ChidTestDirectoryTwo.TestTwo | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Scenarios.ParentTestDirectory.ChidTestDirectoryTwo | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Scenarios.ParentTestDirectory | PASS |
2 critical tests, 2 passed, 0 failed
2 tests total, 2 passed, 0 failed
==============================================================================
Scenarios | PASS |
2 critical tests, 2 passed, 0 failed
2 tests total, 2 passed, 0 failed
==============================================================================

如您所见,它只运行最新的测试设置/拆卸。我希望它也从父目录运行测试设置/拆卸,并且应该在子目录之前执行。换句话说,我希望在它自己的设置之前为每个测试用例单独运行父设置。我可以使用机器人框架功能实现这一目标吗?

最佳答案

一个测试用例只能有一个设置。当您将 Test Setup 放在整个套件的设置中时,它定义了一个默认测试设置。如果子套件或单个测试定义了测试设置,它将运行而不是更高层定义的套件级别设置。

在标题为 Initialization files 的部分中在机器人框架用户指南中,它是这样说的(我加了重点):

Test Setup, Test Teardown, Test Timeout

Set the default value for test setup/teardown or test timeout to all test cases this directory contains. Can be overridden on lower level. Support for defining test timeout in initialization files was added in Robot Framework 2.7.

如果您希望套件定义除了每个测试指定的设置之外还运行的测试设置,您应该将该代码放入自定义关键字中,并让每个测试调用该关键字作为其设置的一部分。

关于testing - 如何在机器人框架中设置多级测试设置/拆卸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43438551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com