我有一个这样的项目的路径。
Main project
'-Service
'-Main service
'- A.robot
'- B.robot
'-resource.robot
当我运行B.robot时,我想在代码中设置文件时调用resource.robot
*** Settings ***
Documentation Test building
Resource resource.robot
Test Template Send data to bus
我希望包含resoucre.robot,但返回的resource.robot不存在。
如何导入resouce.robot。
答案 0 :(得分:2)
Resource resource.robot
如果resource.robot与B.robot在同一(目录)级别,则可以工作...
Main project
'-Service
'-Main service
'- A.robot
'- B.robot
'-resource.robot
您可以提供完整的路径。
您可以只使用$ {CURDIR}
Resource ${CURDIR}/../resource.robot
您也有https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#built-in-variables
答案 1 :(得分:1)
最简单的解决方案是使用相对于测试文件的路径。例如,在B.robot中,您将这样引用资源文件:
*** Settings ***
Resource ../../resource.robot
机器人还将搜索模块搜索路径,因此您可以定义PYTHONPATH以将目录包含在资源文件中。
用户指南中有关locating resource files的内容是这样的:
如果以绝对格式给出路径,则直接使用。在其他情况下,首先相对于导入文件所在的目录搜索资源文件。如果在该文件中找不到该文件,则从Python的模块搜索路径中的目录中进行搜索。该路径可以包含变量,建议使用它们使路径独立于系统(例如$ {RESOURCES} /login_resources.robot或$ {RESOURCE_PATH})。此外,在Windows中,路径中的正斜杠(/)会自动更改为反斜杠()。