Robotframework Robot Framework:通过DatabaseLibrary连接Oracle数据库时出错
我试图通过Robot框架连接到Oracle数据库,但出现了错误 在数据库库文档中,给定以下语法:Robotframework Robot Framework:通过DatabaseLibrary连接Oracle数据库时出错,robotframework,Robotframework,我试图通过Robot框架连接到Oracle数据库,但出现了错误 在数据库库文档中,给定以下语法: # explicitly specifies all db property values Connect To Database psycopg2 my_db postgres s3cr3t tiger.foobar.com 5432 *** Settings *** Documentation Trouble Ti
# explicitly specifies all db property values
Connect To Database psycopg2 my_db postgres s3cr3t tiger.foobar.com 5432
*** Settings ***
Documentation Trouble Ticket Test Cases
Library Selenium2Library
Library DatabaseLibrary
*** Test Cases ***
Connect To Database
*** Keywords ***
Connect To Database
Connect To Database cx_Oracle MTNIODC48 ABL_DBOBJECTS abill_2808_prod 172.20.22.48 1521
我在我的代码中使用了相同的代码,如下所示:
# explicitly specifies all db property values
Connect To Database psycopg2 my_db postgres s3cr3t tiger.foobar.com 5432
*** Settings ***
Documentation Trouble Ticket Test Cases
Library Selenium2Library
Library DatabaseLibrary
*** Test Cases ***
Connect To Database
*** Keywords ***
Connect To Database
Connect To Database cx_Oracle MTNIODC48 ABL_DBOBJECTS abill_2808_prod 172.20.22.48 1521
我运行并得到以下错误:
关键字“DatabaseLibrary.Connect To Database”应为4个参数,得到6个
有人能帮忙吗
谢谢
萨拉达你能试着用-
Connect to Database using Custom Params cx_Oracle '${ABL_DBOBJECTS}/${abill_2808_prod}@172.20.22.48:1521/${MTNIODC48}'
此外,还可以添加依赖项,如
*** Settings ***
Library ..${/}..${/}lib${/}databaselibrary-0.6${/}DatabaseLibrary${/}
&下载数据库库我也有同样的问题,这就是我找到的解决方案 步骤1:安装Oracle即时客户端(32位)(我使用的是instantclient_18_3,您不必单独安装cx_Oracle) 步骤2:为Robot安装操作系统和数据库库并导入
*** Settings ***
Library DatabaseLibrary
Library OperatingSystem
然后在robot脚本中,添加以下变量,并确保它与测试用例一起使用(不在外部资源文件中)
然后可以使用以下关键字设置环境变量并运行查询
*** Keywords ***
Connect To DB
[Arguments] ${DB_CONNECT_STRING_VALUE}
Set Environment Variable PATH PATH_TO_YOUR_INSTANT_CLIENT\\instantclient_18_3
Set Global Variable ${DB_CONNECT_STRING_VALUE}
#Connect to DB
connect to database using custom params cx_Oracle ${DB_CONNECT_STRING_VALUE}
Run Query and log results
[Arguments] ${QUERY_TO_EXECUTE}
Set Global Variable ${QUERY_TO_EXECUTE}
${queryResults} Query ${QUERY_TO_EXECUTE}
log to console ${queryResults}
Disconnect From DB
#Disconnect from DB
disconnect from database
最后,在您的测试用例中,像这样运行它
*** Test Cases ***
Get Sysdate Test
[Tags] DBConnect
Connect To DB ${DB_CONNECT_STRING}
Run Query and log results SELECT sysdate from Dual
这对您来说应该很好Hi Hemant,我收到以下错误“找不到名称为的关键字”使用自定义参数连接到数据库。请检查此处的文档。。还要确保使用了正确的缩进。@SaradaAkurathi这是因为您复制了关键字的名称。它在每个单词中都使用大写字母,比如
使用自定义参数连接到数据库
检查相应的文档:感谢Hemanth和Richard,它成功了。我还需要一个小的帮助,在EclipseMaven项目中作为依赖性提供这个数据库库,您能告诉我如何提供,否则如何使它也在Maven下工作吗。我搜索到这个数据库库(Python)没有Maven依赖项。这是我所拥有的库的相对路径。您可以根据您的计算机路径相应地拥有它。我的完整文件看起来像-***设置***库..${/}..${/}库${/}数据库库-0.6${/}数据库库${/}***变量******关键字***查询数据库[参数]${sql}使用自定义参数cx_Oracle'${lsuser}/${lspasswd}@172.16.225.40:1521/${dbschema}'@{result}=Query sql}连接到数据库断开与数据库的连接[Return]${result}