我编写了一个机器人测试用例,它从命令行获取输入列表。我从命令行运行测试用例并成功执行。 所有问题都出现在我从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运行相同的脚本。
其他详细信息 -
答案 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:,
。
然后会产生以下消息日志:
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