Python - RobotFramework - 在查询结果中得到无的信息

问题描述 投票:0回答:1

我正在使用一个查询做一个测试(我现在使用的是Execute SQL String而不是行数)来计算行数,代码如下。

*** Settings ***
Library     DatabaseLibrary
Library     OperatingSystem

*** Variables ***
${DBName}   db
${DBUser}   user
${DBPass}   password
${DBHost}   hostname
${DBPort}   port

*** Test Cases ***
Making row count
    DatabaseLibrary.Connect To Database       pymysql    ${DBName}    ${DBUser}    ${DBPass}    ${DBHost}    ${DBPort}
    ${result} =  Execute SQL String  SELECT COUNT(*) as count_id FROM myTable;  True
    should be equal as strings  ${result}   6
    Disconnect From Database

如果我进入我的数据库,我返回6行,所以测试应该通过。然而,使用RobotFramework,我得到了以下结果。

==============================================================================
Making row count                                                     | FAIL |
None != 6

为什么我的结果是None? 我使用Execute SQL String是因为我有同样的代码用于其他一些更复杂的SQL查询的测试。

谢谢!我在做一个测试,使用的是SQL字符串,因为我在其他测试中使用了同样的代码,有一些比较复杂的SQL查询。

python robotframework
1个回答
2
投票

行数将通过Execute SQL关键字返回。数据返回将只通过 查询 关键字. 请尽量使用:

${rows}=  Query   SELECT COUNT(*) as count_id FROM myTable;
should be equal as strings  ${rows}   6

 @{results}    Query    ${yourQuery}
© www.soinside.com 2019 - 2024. All rights reserved.