Robot Framework - 使用 PostgreSQL 从数据库中执行 Sql 脚本关键字
Posted
技术标签:
【中文标题】Robot Framework - 使用 PostgreSQL 从数据库中执行 Sql 脚本关键字【英文标题】:Robot Framework - Execute Sql Script Keyword from Data Library with PostgreSQL 【发布时间】:2020-12-28 10:57:03 【问题描述】:我正在尝试使用机器人框架 (Database Library
) 将 PostgreSQL 数据库中的 INSERT
数据放入表中以完成它
Excel 文件中有一个列,它已经有 SQL 脚本,我的想法是针对该列中的每一行,将信息插入数据库。
请在下面找到脚本:
*** Settings ***
Library SeleniumLibrary
Library ExcelLibrary
Library Database Library
*** Test Cases ***
Update DB
Connect To Database psycopg2 $DBNAME $USER_NAME $PASSWORD localhost 5432
Open Excel D:\\RPA\\Demo\\FIPEExcelDone.xls
@sqlc= Get Column Values Tabela 6
@query= Query select * from fipe_price
FOR $VAR4 IN ZIP $sqlc
Run Keyword If "$VAR4[1]" == "SQL" Continue For Loop
LOG $VAR4[1]
Execute Sql Script $VAR4[1]
END
一切正常,然而,当代码执行关键字Execute Sql Script
时,出现错误
IOError: [Errno 2] No such file or directory: u"INSERT INTO fipe_price (mes_pe....
为了检查问题是否出在 SQL 脚本上,我手动将 Excel 文件中的 SQL 代码插入 Postgre,并且代码运行良好,因此,当我尝试运行时,我不明白如果机器人框架不起作用。
【问题讨论】:
【参考方案1】:您使用的关键字Execute Sql Script
期望您传递一个文件,它将打开并执行其中的所有语句。
您正在寻找的是Execute Sql String
- 作为参数传递的字符串直接在服务器上执行。
【讨论】:
以上是关于Robot Framework - 使用 PostgreSQL 从数据库中执行 Sql 脚本关键字的主要内容,如果未能解决你的问题,请参考以下文章
Robot Framework -007 RequestsLibrary 复杂json字符串发出http post request
Robot Framework - 从带有参数的其他 *.robot 脚本调用 *.robot 脚本
Robot Framework应用——在Virtualenv和Virtualwrapper的虚拟环境中启动Robot Framework的RIDE时报的错误问题的解决