如何从eclipse执行Robot testcase,将命令行列表参数作为输入?

时间:2018-04-04 14:58:00

标签: python eclipse robotframework

我编写了一个机器人测试用例,它从命令行获取输入列表。我从命令行运行测试用例并成功执行。 所有问题都出现在我从Eclipse运行相同的脚本时,测试用例失败并提供控制台消息 -

  

'列出变量' @ {list_of_vars}'索引0中没有项目。'

以下是我的代码 -

[Tags]    TestCLI   
    @{list_of_vars}    Split String    ${my_vars}
    Log   @{list_of_vars}[0]
    Log   @{list_of_vars}[1]

用于从命令行执行测试用例的语法:

python -m robot -v my_vars:one,two -E space:, -t "TestCLI" C:\Users\user1\eclipse-workspace\RobotTests\robot\firstTest.robot

我知道@ {list_of_vars}在从eclipse运行测试用例时正在寻找输入元素。我使用了Run和Start Process关键字来启动命令行并且无法成功。 有没有办法解决错误并从eclipse运行相同的脚本。

其他详细信息 -

  1. 机器人框架版本 - 3.0.2,
  2. Eclipse氧气,
  3. Python版本3.6.4,
  4. RED Editor 0.8.3.2018xxx

1 个答案:

答案 0 :(得分:1)

运行您的示例时,我无法复制您的结果。相反,我观察到了期望的行为。以下是我使用的设置。

<强> firstTest.robot

*** Settings ***
Library    String    

*** Test Cases ***

TC
    [Tags]    TestCLI   
    Log    ${my_vars}
    @{list_of_vars}    Split String    ${my_vars}
    Log   @{list_of_vars}[0]
    Log   @{list_of_vars}[1]

需要在运行配置上设置其他命令行变量-v my_vars:one,two -E space:,enter image description here

然后会产生以下消息日志

Starting test: RunWithVars.firstTest.TC
20180404 20:45:06.445 : INFO : one two
20180404 20:45:06.447 : INFO : @{list_of_vars} = [ one | two ]
20180404 20:45:06.448 : INFO : one
20180404 20:45:06.449 : INFO : two
Ending test: RunWithVars.firstTest.TC

控制台日志。为了便于阅读,我已将命令分隔为单独的行并删除了一些--listener文件夹路径。

Command: C:\Python\RF_P27\Scripts\python.exe 
 -m robot.run 
 --listener C:\Users\..\TestRunnerAgent.py:51805 
 -s RunWithVars.FirstTest 
 -v my_vars:one,two -E space:, C:\TA\W\StackOverflow\RunWithVars
Suite Executor: Robot Framework 3.0.2 (Python 2.7.13 on win32)
==============================================================================
RunWithVars                                                                   
==============================================================================
RunWithVars.firstTest                                                         
==============================================================================
TC                                                                    | PASS |
------------------------------------------------------------------------------
RunWithVars.firstTest                                                 | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
RunWithVars                                                           | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Output:  C:\TA\W\StackOverflow\RunWithVars\output.xml
Log:     C:\TA\W\StackOverflow\RunWithVars\log.html
Report:  C:\TA\W\StackOverflow\RunWithVars\report.html