【问题标题】:How to print the query result into the console | Robot framework如何将查询结果打印到控制台 |机器人框架
【发布时间】:2021-04-10 03:59:15
【问题描述】:

我有以下代码:

*** Test Cases ***
Testing Connect to SQL Server
       ${queryTest}   Execute Sql String     SELECT * FROM users where Id='1'
       #log to console   ${queryTest}   //This print NONE
       #${query_results}   SeleniumLibrary.Get Text  ${queryTest}
       #log to console   ${query_results} 
       #${value}=    Set Variable    ${queryTest[0][0]}
       log to console   ${value} 
       log to console   should display result 
       ${rowCount}=     Row Count   SELECT * FROM users where Id='1'
       log to console   ${rowCount}  
       #rowCount print 1

我要做的是在控制台中打印查询结果

【问题讨论】:

  • 脚本的结果是什么?它在控制台中打印什么?如果有错误,您会遇到什么错误?
  • log to console ${queryTest} //This print NONE,, ${output} = Set Variable ${queryTest[1]} log to console ${output} >> 这会打印以下错误:解析变量'${queryTest[1]}'失败:IndexError:列表索引超出范围,,并且在报告文件中显示“@{queryTest} = []”
  • 你的数据库连接创建成功了吗?我在脚本中没有看到任何 Connect To Database 关键字,它可能在其他地方,但可能是错误的、不成功的等。
  • 连接已成功创建,因为我已经打印了行数,如您在代码中看到的 ${rowCount}= Row Count SELECT * FROM users log to console ${rowCount}

标签: robotframework


【解决方案1】:

我认为Execute Sql String 不会返回任何内容。方法中没有return statement,文档也没有提到这样的例子(即使他们提到了一个带有这个关键字的select语句,这可能会让人们相信他们最终会得到一些行)。

尝试使用Query关键字:

@{queryTest}    Query    SELECT * FROM users where Id='1'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-24
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多