簡體   English   中英

Robotframework 數據驅動程序庫無法從 CSV 文件中找到變量

[英]Robotframework datadriver library not able to find a variable from CSV file

我在嘗試使用機器人框架設置數據驅動程序庫時遇到問題。 我錯誤地發現其中一個變量未找到。

CSV 文件:

${username},${password}
admin@yourstore.com,adm
adm@yourstore.com,admin
adm1@yourstore.com,adm

DDT2_csv.機器人:

*** Settings ***
Library     SeleniumLibrary
Library     DataDriver  ../testdata/TestData.csv    delimiter=,     encoding=utf-8
Resource    ../resources/login_resources.robot
Suite Setup     login_resources.open my browser
Suite Teardown  login_resources.close browsers
Test Template   Invalid Login


*** Test Cases ***
Doing Test Credentials for ${username} and ${password}  Default    UserData

*** Keywords ***
Invalid Login 
    [Arguments]     ${username}     ${password}
    input email  ${username}
    input password  ${password}
    click login button
    error message should be visible 

我收到以下錯誤:

==============================================================================
DDT2 csv                                                                      
==============================================================================
Doing Test Credentials for ${username} and ${password}                | FAIL |
Variable '${username}' not found.
------------------------------------------------------------------------------
[ WARN ] Multiple test cases with name 'Doing Test Credentials for ${username} and ${password}' executed in test suite 'DDT2 csv'.
Doing Test Credentials for ${username} and ${password}                | FAIL |
Variable '${username}' not found.
------------------------------------------------------------------------------
[ WARN ] Multiple test cases with name 'Doing Test Credentials for ${username} and ${password}' executed in test suite 'DDT2 csv'.
Doing Test Credentials for ${username} and ${password}                | FAIL |
Variable '${username}' not found.
------------------------------------------------------------------------------
DDT2 csv                                                              | FAIL |
3 tests, 0 passed, 3 failed
==============================================================================

誰能幫幫我?

我不是這個庫的專家,但在我看來,分隔符 arg 被默認方言設置覆蓋,並保留為“;” 即使您嘗試覆蓋。

可能值得嘗試 arg dialect=excel因為它默認為 ',' 分隔符

https://github.com/Snooz82/robotframework-datadriver#file-encoding-and-csv-dialect

例子:

*** Settings ***
Library     SeleniumLibrary
Library     DataDriver  ../testdata/TestData.csv     dialect=excel    encoding=utf-8
Resource    ../resources/login_resources.robot
Suite Setup     login_resources.open my browser
Suite Teardown  login_resources.close browsers
Test Template   Invalid Login

*** Test Cases ***
Doing Test Credentials for ${username} and ${password}  Default    UserData

*** Keywords ***
Invalid Login 
    [Arguments]     ${username}     ${password}
    log to console  ${username}
    log to console  ${password}

您可能還需要您的 csv 中的*** Test Cases ***列,因為我認為這是必填列,如下所示:

*** Test Cases ***,${username},${password}
Case1,admin@yourstore.com,adm
Case2,adm@yourstore.com,admin
Case3,adm1@yourstore.com,adm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM