我在这里做错了什么-机器人框架中的循环

时间:2020-02-08 17:02:13

标签: for-loop robotframework iterable-unpacking

我有以下代码。它读取一个csv文件并创建一个列表 截至目前,csv文件只有一行,因此列表长度为1。 我想注册用户,用户详细信息来自列表。例如 demouser101,password01,firstname01,familyname01,1234567890'

我将列表传递给“注册用户”关键字,该关键字将在参数级别对其进行解压缩。 @ {data_from_csv}如下:

[['demouser101', 'password01', 'firstname01', 'familyname01', '1234567890']]

所以我正在使用@ {data_from_csv} [0]。

我不确定我在做什么错。有什么想法吗?

TC_02 Register a Existing User Using CSV Data
        @{data_from_csv}=   Read CSV File      ${test_data_file}
        ${NUM}=  Get Length  ${data_from_csv}
        Log To Console      \n
        Log To Console      @{data_from_csv}[0]
        Go To Register Page
        Register User     @{data_from_csv}[0]
        Registration Should Fail

Register User
        [Arguments]     ${user}     ${pass}     ${fname}     ${lname}    ${ph_num}
        Scroll Element Into View    ${rp_username}

日志显示正确的数据:

TC_02 Register a Existing User Using CSV Data                         ...

.['demouser101', 'password01', 'firstname01', 'familyname01', '1234567890']
TC_02 Register a Existing User Using CSV Data                         | FAIL |
Keyword 'registerpage.Register User' expected 5 arguments, got 1.
------------------------------------------------------------------------------
Ts 01 Registration Test :: Test Cases related to user registration    | FAIL |
> Blockquote

1 个答案:

答案 0 :(得分:0)

看起来“读取CSV文件”返回列表列表。 有关如何使用列表列表的信息,请参见this response。 因此,您可以执行以下操作:

Register User     @{data_from_csv[0]}

或将关键字更改为:

Register User
    [Arguments]     @{data_list}