如何将 SQL 查询结果分配给变量(机器人框架)以在应用程序编辑文本中输入?

使用 MySQL 和 Robot Framework 组合以及机器人数据库库和 pymysql 库。


Connecting Database

Connect to database                         pymysql  ${DB_NAME}  ${DB_USER_NAME}  ${DB_USER_PASSWORD}  ${DB_HOST}  ${DB_PORT}

Sleep                                       ${wait_time}

Log to console                              Database Connection is established successfully!

并且能够获取 DB 表数据并打印在 IDE 控制台上。问题是无法将查询结果分配给机器人变量以输入应用程序内的编辑文本。


${queryResult1}                             QUERY  SELECT COLUMN1 FROM  ${TABLE_NAME};

${query_results}                            Selenium2Library.Get Text  ${queryResult1}

Log to Console                              ${query_results}

应用程序脚本


Sleep                               5s

Selenium2Library.Input Text                          ${username}     ${query_results}}

Sleep                               5s

Selenium2Library.Input Text                          ${password}     ${query_results}}

Sleep                               5s

Selenium2Library.Click element                       ${login_button}


手掌心
浏览 121回答 1
1回答

饮歌长啸

数据库库中查询的返回值是一个元组列表——每个列表成员是一个响应行,元组是其中的列值。当您queryResult1在关键字中使用时,您实际上是在使用这个二维对象 - 而不是数据库中的文本,正如您所期望的那样。要获得您必须“解包”对象后的价值;假设您想从第一行获取第一列,这是最简单的方法:${DB value}=    Set Variable    ${queryResult1[0][0]}第一个索引是行号,第二个是列;指数是从零开始的。然后就可以${DB value}在后续关键词中使用了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python