早上好,
我在RobotFramework文档中看到,可以直接在python中创建关键字(http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#creating-user-keywords)。
例如,do_nothing函数。
def hello(name):
print "Hello, %s!" % name
def do_nothing():
pass它运行得很好,但问题是必须将其添加到变量PYTHONPASS中,或者添加到包含文件的目录中。
问题是测试可以在多台计算机上执行,这意味着应该在每台运行测试的计算机上修改该变量。
第二点,不幸的是,我的文件将在几个dir中使用。
例:
A
A/B
A/B/C <== use here
A/B/D
A/B/E <== use here
...就这样一个..。
例如,是否可以只在A级直接添加函数一次?
或者可以在A目录级别的RobotFramework关键字中添加一次,并直接在C和E机器人文件中引用它:
A/lib.robot:
*** Keywords ***
def hello(name):
print "Hello, %s!" % name
def do_nothing():
pass
C and E:
*** Settings ***
Resource ../../A/lib.robot发布于 2017-08-09 12:04:12
您不能将基于python的关键字放在机器人文件中。您唯一的选择是将其放入.py文件中。导入该库有两个选择:通过文件路径导入它(例如:Library the_library.py),或者通过模块名导入它(例如:Library the_library)。
如果使用该路径,则路径可以是相对的,也可以是绝对的。例如,如果需要使用A/B/C和A/B/E中的库,则可以将文件放入A中,然后将其引用为./_ library . put。
如果您按照模块名导入它,就像任何python模块一样,它必须在您的PYTHONPATH中。没有例外。如果通过文件名导入该文件,则必须指定实际指向该文件的文件名。这是你唯一的两个选择。
最常见的解决方案是将文件放在所有使用该文件的机器上相同的位置。然后,不需要修改测试就可以在不同的机器上工作。这也意味着每台机器都可以定义相同的PYTHONPATH。
底线是非常直接的:您的测试要么必须提供正确的库路径,要么包含库的文件夹必须位于PYTHONPATH上。这是唯一的两个选择。
这在用户指南中有完整的文档,在题为导入图书馆和配置搜索库和其他扩展的位置的部分中。
https://stackoverflow.com/questions/45587041
复制相似问题