我正在研究机器人框架。我里面有两个变量文件。我想动态传递这些变量文件。在某些情况下我想发送 a.py,在其他情况下我想发送 b.py。但我想动态传递这些信息。 你能帮我解决这个问题吗
您可以使用导入库关键字手动导入外部文件。
然后使用 Run Keyword If 关键字检查要导入的库。例如:
Run Keyword If '${VAR}' == 'a' Import Library a.py
Run Keyword If '${VAR}' == 'b' Import Library b.py
您可以将
VAR
作为参数传递给您的测试:
pybot --variable VAR:a TestSuite
您可以根据执行期间传递的变量导入文件
*** Settings ***
Variables config_${TEST_ENVIRONMENT}.yaml
*** Test Cases ***
*** Keywords ***
机器人要执行的命令:
$ robot --variable TEST_ENVIRONMENT:local file_name.robot
最简单直接的方法是在 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
附加说明:您应该将这两个文件放在同一文件夹中。