FOR循环中的CSV文件返回“url必须是字符串”错误

chy5wohz  于 2023-01-22  发布在  其他
关注(0)|答案(1)|浏览(120)

我正在尝试制作一个Robot框架测试,它将遍历不同的站点并登录到它们。有两种不同的登录过程,我已经为每一种编写了登录步骤。这些都存储为关键字。但我是通过CSV文件在URL中运行的。该文件包含URL和“login_type”,A或B。我想通过一个FOR循环来迭代此过程,我只需要在运行时调用该文件,CSV文件将负责其余的工作。
但是我收到一个错误消息,说“'url'必须是一个字符串。”我不确定我的问题是CSV文件还是我的循环结构错误。

*** Settings ***
Documentation       Store URLs in CSV and identify login type
Library             Zoomba.GUILibrary
Library             Process
Library             CSVLibrary
Library             Collections
Resource            ../resource.robot
Suite Teardown      Close All Browsers

*** Variables ***
${browser}          chrome
${url}              https://example1.edu
${CSV_FILE}         C:/CSV.csv

*** Test Cases ***
Example Test
    ${urls}    Read Csv File To List  ${CSV_FILE}
    FOR    ${url}    IN    @{urls}
        Open Browser    ${url}    ${browser}
        ${login_type}    Get CSV Data    ${url}    login_type
        Run Keyword If    '${login_type}' == 'TYPE A'    A Login <--stored keyword
        Run Keyword If    '${login_type}' == 'TYPE B'    B Login <--stored keyword
        Log To Console  ${url} verified.
    END

下面是我使用的CSV文件。

我哪里做错了?有人能回答吗?

uplii1fm

uplii1fm1#

您应该尝试通过记录值来调试测试。例如,在${urls} Read Csv File To List ${CSV_FILE}之后,您可以有Log Many ${urls}
然后检查为什么${url}不是真正的字符串,也可以尝试通过引用'${url}'"${url}"强制它成为字符串。

相关问题