Python Robot框架:如何连接到Oracle数据库
我们正在尝试我们的运气与机器人框架的测试。自动化。此时我被数据库连接卡住了Python Robot框架:如何连接到Oracle数据库,python,oracle,robotframework,Python,Oracle,Robotframework,我们正在尝试我们的运气与机器人框架的测试。自动化。此时我被数据库连接卡住了 使用cx_Oracle的数据库连接显示一个错误,显示“No keyword with y name cx_Oracle”。如果您有任何想法,请提供帮助。如果您能提供一个Oracle数据库连接示例,将非常有帮助。请检查RobotFramework提供的数据库库 数据库连接有两个关键字: 连接到数据库 使用自定义参数连接到数据库 “没有名称为cx_Oracle的关键字”表示您正在使用“cx_Oracle”作为关键字。 我
使用cx_Oracle的数据库连接显示一个错误,显示“No keyword with y name cx_Oracle”。如果您有任何想法,请提供帮助。如果您能提供一个Oracle数据库连接示例,将非常有帮助。请检查RobotFramework提供的数据库库 数据库连接有两个关键字:
*** Settings ***
Library MyLibraryName
那么,我希望它在导入时失败
我同意迪内什的观点。试着先使用数据库库
或者,如果无法使用数据库库(使用自定义参数连接到数据库有限制),您可以编写自己的Robot库,该库将重用cx_Oracle python库并向Robot公开关键字。通常情况下,我是用pyodbc实现的。这确实是一个安装问题。我们必须使用Anaconda3,并且必须在其站点包下安装库。我将此库放在默认python文件夹下。问题现在解决了。我也遇到了同样的问题,这就是我找到的解决方案 步骤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 ***
Test Connetion
[Tags] DBConnect
Connect To DB ${DB_CONNECT_STRING}
Run Query and log results SELECT sysdate from Dual
这对您来说应该很好您需要安装一个Oracle连接库-。它的安装说明很简单;安装后,连接/查询很简单-按照数据库库的示例进行操作。谢谢。我已经安装了cx或CLE连接库。尝试使用它时,我得到了关键字not found问题。我检查了,我正在用正确的方法编写它。使用PyCharm for IDE。检查库是否安装在Robotframework使用的python环境中-您可能已将其安装在系统的python中,并在virtualenv中使用RF,反之亦然。我认为OP不仅仅是发现DatabaseLibrary,当前的问题是为它运行的Oracle驱动程序。
*** Test Cases ***
Test Connetion
[Tags] DBConnect
Connect To DB ${DB_CONNECT_STRING}
Run Query and log results SELECT sysdate from Dual