我想制作一个具有多个(级别)测试套件和测试用例的 Robot Framework 项目。
是否可以定义一系列设置,特别是库、资源和全局变量(.py 文件)的导入,仅在一个地方一次?
据我所知这是不可能的。您必须在使用库、资源和变量文件的每个 .robot 测试用例文件中显式导入它们。目录中的init文件只能用于其他设置,不能导入。
但我想让事情保持干燥并导入我在任何地方仅在一个地方使用一次的资源。
这是不可能的,还是我错过了什么?
注意:我仍然是 RF 新手。
谢谢!
最佳答案
这很容易做到,而且是一种很常见的模式 - 拥有一个资源文件,其中包含所有常见关键字、变量、其他 robot
或 py
文件的导入等,并在每个测试套件中 - 导入它。
假设你的项目的目录结构是这样的:
root_folder/
├── resources/
│ ├── common_resource.robot
│ ├── helpers.robot
│ ├── specific_page.robot
└── suites/
├── login_page.robot
└── specific_page.robot
文件 resources/common_resource.robot
包含所有这些常见元素 - 例如,导入 helpers.robot
作为资源。
每个套件文件都会导入通用文件;例如login_page.robot
和 special_page.robot
均以(相对路径)导入开始:
*** Settings ***
# other imports, documentation, etc
Resource ../resources/common_resource.robot
最重要的是,每个套件都会导入任何其他特定关键字文件 - 例如 resources/specific_page.robot
。
这是一个约定,一旦建立(“每个套件必须导入common_resource.robot
”)就很容易遵循。
如果有一个新的关键字、变量或库必须在所有或大多数套件中使用,只需将其添加到公共(public)文件中,即可立即访问。
关于robotframework - 用于多个测试和套装的一个共享设置部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45709091/