机器人框架中的Python库文件

问题描述 投票:0回答:3

我想将所有 python 文件导入到 Robot 框架中。目前,我正在引用文件及其整个路径。相反,有没有办法在一行中调用所有必需的文件?也许通过导入 Robot 框架中的所有库路径。

这是一个例子...

我的 python 脚本位于这些位置..

/user/home/scriptLibrary/sample.py
/user/home/scriptLibrary/sample_1.py

我想导入Robot脚本中的所有python文件。我目前正在脚本开头对整个路径进行硬编码。

/user/home/scriptLibrary/sample.py
/user/home/scriptLibrary/sample_1.py
.
.
.
/user/home/scriptLibrary/sample_n.py
python robotframework
3个回答
0
投票

Robot 不支持设置表中每一行有多个库。但是,您可以创建一个加载库的关键字,然后从套件设置中调用该关键字。例如:

*** Settings ***
| Suite Setup | Import all libraries

*** Keywords ***
| Import all libraries
| | Import library | ${CURDIR}/sample.py
| | Import library | ${CURDIR}/sample_1.py
| | Import library | ${CURDIR}/sample_2.py
...
| | Import library | ${CURDIR}/sample_n.py

0
投票

如果一起使用所有这些导入,请考虑将它们放入资源文件中。然后在每个套件中,只需要导入资源就可以导入所有的库了。


0
投票

最简单直接的方法是在 Python 文件中声明所有变量。例如:

#usbconf.py
target_port="COM29"
target_baudrate=115200

然后将此 usbconf.py 文件导入到目标机器人文件中,如下所示:

#test_uart.robot
*** settings ***
Library    SerialLibrary
Library    SeleniumLibrary
Variables    usbconf.py

*** Variables ***

${response}    0A

*** test cases ***
Test UART Device
    [Documentation]    Test Serial Connection
    [Setup]    Add Port    ${target_port}    timeout=30  encoding=ascii  baudrate=${target_baudrate}  bytesize=8
    Open Port   ${target_port}
    Log To Console    ${target_port}
    Port Should Be Open

附加说明:您应该将这两个文件放在同一文件夹中。

© www.soinside.com 2019 - 2024. All rights reserved.