【发布时间】:2016-06-22 18:33:51
【问题描述】:
我有一个自定义机器人框架库,它接受一个参数来初始化它。
*** Settings ***
Library NotifyUsers ${max_messages}
使用 pybot 从命令行执行时效果很好:
pybot --variable max_messages:4 my_test
但是,Ride 在启动时导入库时,此变量不存在。我尝试在“运行”选项卡的“参数”字段中定义它,但在您运行测试之前不会实例化。
如果我替换变量并硬编码一个整数参数,它在 Ride 中可以正常工作。
【问题讨论】:
-
我不明白“我已经尝试在运行选项卡的参数字段中定义它,但在您运行测试之前它不会被实例化”。在运行测试之前不需要定义变量,那么问题是什么? RIDE 是否只是以您不想要的方式对其进行着色?
-
您是否考虑过对 max_messages 使用合理的默认值并在库中公开一个关键字来覆盖它?这听起来像是一个库参数,在实例化时不需要指定,也不需要是库参数。
-
@BryanOakley Ride 在运行测试之前加载库。这允许 Ride 提供上下文帮助、突出显示等。如果库需要一个变量,那么该变量也需要在运行时之前存在。这是我问题的症结所在。当我使用变量作为参数来导入库时,它没有任何要解析的内容,因此导入失败。当我用整数替换变量时,它导入就好了。
标签: robotframework