我想在Robot Framework测试套件和子测试套件中尝试用户定义的关键字作为测试用例的设置和拆卸。我有以下结构,
ROOT | |- tests |- __init__.txt |- sample.robot
__init__.txt
包含以下文字
*** Settings *** Test Setup My Keyword1 Test Teardown My Keyword2 *** Keywords *** My Keyword1 Log Inside My Keyword1 My Keyword2 Log Inside My Keyword2
Sample.robot包含以下代码
*** Test Cases *** My Testcase1 Log Inside My Testcase1
正在运行robot tests
会出现以下错误,
============================================================================== Tests ============================================================================== Tests.Sample ============================================================================== My Testcase1 | FAIL | Setup failed: No keyword with name 'My Keyword1' found. Also teardown failed: No keyword with name 'My Keyword2' found. ------------------------------------------------------------------------------ Tests.Sample | FAIL | 1 critical test, 0 passed, 1 failed 1 test total, 0 passed, 1 failed ============================================================================== Tests | FAIL | 1 critical test, 0 passed, 1 failed 1 test total, 0 passed, 1 failed ==============================================================================
请告诉我上述结构中缺少什么?我需要一种机制,允许我执行用户关键字作为默认设置或拆卸。如果需要,单个测试用例也可以覆盖设置/拆卸。
答案 0 :(得分:1)
问题是My Keyword1
和My Keyword2
是__init__.txt
文件的本地文件,不能在其他测试用例中使用。您需要将它们移动到资源文件中,然后将该文件导入到测试中。
来自initialization files上的机器人框架用户指南部分:
在初始化文件中创建或导入的变量和关键字在较低级别的测试套件中不可用。如果需要共享变量或关键字,可以将它们放入可以通过初始化和测试用例文件导入的资源文件中。
答案 1 :(得分:0)
不要使用"测试设置"和"测试拆解"在__init__
文件的“设置”部分中。而是使用" 套件设置"和" 套件拆解"。这是因为您将为此文件夹中的所有测试套件执行此设置。
此外,最好将__init__
文件的扩展名更改为.robot而不是.txt。