首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在机器人框架中使用.resource文件中的全局参数?

如何在机器人框架中使用.resource文件中的全局参数?
EN

Stack Overflow用户
提问于 2020-09-18 07:49:06
回答 1查看 894关注 0票数 1

我想建立一个可维护的机器人框架环境。因此,我想要创建一些".resource“文件中经常使用的关键字。在".resource“文件中是一个导入的库,它需要一个参数。但是,我没有办法将参数从".robot“文件传递到".resource”文件。

发行:

代码语言:javascript
复制
[ ERROR ] Error in file '/Robustness_yocto.robot' on line 9: Setting 'Resource' accepts only one value, got 2.

".resource“文件:

代码语言:javascript
复制
*** Settings ***

Variables   ../instructions/UsbMuxInstuctions.py

Library     BuiltIn
Library     ../library/SerialLibrary.py     _port=${device}  WITH NAME    Device
...
...
...

".robot“文件:

代码语言:javascript
复制
*** Settings ***

Variables   ../instructions/DeviceInstuctions.py

Library     BuiltIn
Library     Process
Resource    ../resources/Device.resource    device=/dev/ttyACM0

Suite Setup         Setup
Suite Teardown      Teardown
...
...
...

为什么设备=/dev/ttyACM0语法不能工作,对于这个用例,您推荐什么样的解决方案?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-18 08:18:02

您不能在资源文件导入中传递参数,但是可以尝试其他方法。

  1. 您可以为带有参数的资源文件创建init关键字,其中可以在运行时调用进口图书馆关键字动态导入库。可以在套件设置中调用这个init关键字。实际上,这将作为资源文件的“构造函数”。
  2. 您可以将导入留在资源文件中,并将一个全局变量传递给库。这个全局变量可以初始化为某些默认值,但您可以在每次运行时从命令行重写它。 库./库/SerialLibrary.py ary.py _port=${ Device }和名称设备_port=$机器人-变量设备:/dev/ttyACM0 your_tests.robot
  3. 与资源文件不同,您可以编写一个图书馆,在该图书馆中可以实现资源文件中的关键字,同时能够在导入时传递参数。 请注意,您也可以从Python导入任何机器人库,并调用它们的关键字,因此这里没有限制。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63951414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档