Robot Framework(Databaselibrary库操作)

发表于:2018-2-07 10:58

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Silence&QH    来源:博客园

  1、安装 DatabaseLibrary 库
  DatabaseLibrary 下载地址:
  https://pypi.python.org/pypi/robotframework-databaselibrary/0.6
  在线文档:
  http://franz-see.github.io/Robotframework-Database-Library/
  如果像安装普通的 Python 程序,可以下载 tar.gz 文件,解压并运行 setup.py 文件进行安装。
  因为在上一小节中我们已经安装了 pip,所以通过 pip 命令安装更为方便和快捷:
  现在只安装 DatabaseLibrary 库,Python 操作不同的数据库,还需要安装相应的数据库驱动。
  Oracle 数据库驱动:cx_Oracle
  https://pypi.python.org/pypi/cx_Oracle
  cx_Oracle 是一个用来连接并操作 Oracle 数据库的 Python 扩展模块, 支持包括 Oracle 9.2 10.2
  以及 11.1 等版本。
  MySQL 数据库驱动:PyMySQL
  https://pypi.python.org/pypi/PyMySQL/
  这个包含一个纯 python MySQL 客户端库。
  2、操作 Oracle 数据库
  2.1链接数据库
  连接 Oracle 数据:
  Connect To Database Using Custom Params :连接 Oracle 数据库关键字。
  cx_Oracle:连接 oracle 驱动。
  'username','password','192.168.201.138:1521/ORCL' :
  连接数据库配置信息,用户名,密码,IP 地址,端口号,数据库名。
  2.2执行sql语句
  执行 sql 语句:
  Execute Sql String 关键字用于执行 sql 语句。注意 sql 语句结尾不要有分号“;”。
  Disconnect From Database 关键字用于断开与数据的连接。
  sql 语句结果的输出到测试报告:
  2.3执行sql文件
  执行sql文件:
  Execute Sql Script 关键字用于执行 SQL 文件。
  ${CURDIR} 表示当前项目路径。
  2.4添加系统关键字
  在 Database Library 库中所提供的 Execute Sql Script 不支持 sql 脚本文件中包含 begin,end 函数,例如:
  通过 Execute Sql Script 关键字执行脚本报错:
  那么就需要我们自己添加关键字了。
  找到....\Python27\Lib\site-packages\DatabaseLibrary\ 目录下的 query.py 文件。
  创建 execute_sql_funcfile 函数(关键字):
def execute_sql_funcfile(self, sqlScriptFileName):
"""
执行 sql 文件,sql 文件里面带有 begin,end 的函数格式
"""
sqlScriptFile = open(sqlScriptFileName)
cur = None
try:
cur = self._dbconnection.cursor()
sqlStatement = ''
for line in sqlScriptFile:
line = line.strip()
if (line.startswith('/*')==1 and line.endswith('*/')==1):
continue
if line.startswith('#'):
continue
if line.startswith('--'):
continue
if (line.startswith('--')==0 and line.find('--')!=-1):
line =line[:line.find('--')]
if (line == ''):
continue
sqlStatement += line + ' '
sqlStatement = sqlStatement.replace('\n',' ')
print sqlStatement
if len(sqlStatement) != 0:
self.__execute_sql(cur, sqlStatement)
self._dbconnection.commit()
finally:
if cur :
self._dbconnection.rollback()
  然后,在 robot framework 中 F5 搜索 Execute Sql Funcfile 就可以找到我们自定义的关键字了。
  执行 SQL 脚本如下:

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号