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 脚本如下:

Robot Framework(Databaselibrary库操作)的更多相关文章

  1. Robot Framework常用的操作库列表

    标准库是Robot Framework可以直接导入使用的库,包含以下几类: Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 Dialogs:提供了暂停测试执行和从用户的 ...

  2. Robot Framework:Excel操作

    robot framework 操作Excel需要安装库 ExcelLibrary pip install robotframework-ExcelLibrary 将ExcelLibrary 导入到r ...

  3. 使用Robot Framework框架远程操作UNIX系统

    bot Framework是一个强大的自动化测试框架,依靠社区力量编写的Test Library为它提供了非常强的扩展性.下面我将介绍的就是如何使用第三方提供的扩展测试库(Test Library)来 ...

  4. robotframework的学习笔记(十三)------Robot Framework常用库简介

    标准库 Robot Framework可以直接导入使用的库,包括: Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 Dialogs:提供了暂停测试执行和从用户的输入方式 ...

  5. Robot Framework常用库简介

    标准库 Robot Framework可以直接导入使用的库,包括: • Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 • Dialogs:提供了暂停测试执行和从用户的 ...

  6. Robot Framework:数据库操作

    robotframework 操作数据库,需要安装DatabaseLibrary库 pip install robotframework-databaselibrary Python操作不同的数据库, ...

  7. robot framework下载文件操作

    不同的浏览器点击[下载]按钮之后,需要点击保存,还是确定,或者直接默认直接下载都是不一样的 1.chrome:点击[下载]之后,会自动执行下载操作,直到下载结束 A)点击下载,等待下载结束(sleep ...

  8. Robot Framework——对时间操作的datetime库常用关键字

    1.对固定日期进行操作,增加或减去单位时间或者时间段 2.对两个时间段进行操作 3.对时间格式转化,获取时间戳 4.从完整时间中取指定年月日等 5.对时间类型进行格式化 6.获取当前时间或者指定时区时 ...

  9. Robot Framework 自定义库

    进入  python安装路径\Lib\site-packages 创建文件夹,库名 创建py文件,myclass.py 创建py文件,__init__.py 导入自定义库 遇到的问题: python版 ...

随机推荐

  1. Java 代理模式(一) 静态代理

    转自: http://www.cnblogs.com/mengdd/archive/2013/01/30/2883468.html 代理模式 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的 ...

  2. C++对象在内存中的布局

    (1)C++对象模型 (2)单一继承无虚函数 (3)单一继承有虚函数 (4)多重继承 (5)虚拟继承(vc++) (6)虚拟继承(g++) 参考:<深度探索C++对象模型>

  3. Delphi iOS & macOS App 名称支持国际化多语显示

    作用:在 OSX 图标下方显示 App 中文繁体或简体的名称(系统自动选取) 适用:XE7, XE8 for OSX 操作: 创建一个新工程. 在工程目录下创建二个文件夹(zh_??.lproj)文件 ...

  4. 对路径“c:\windows\system32\inetsrv\syslog”的访问被拒绝。

    win7 64 系统,在调试wcf的时候,出了这个错误,当时感觉iis的权限不够,iis搞了好长时间没解决.最后改了用到的应用程序池中的标识.标识改成 localSytem,之后问题解决. IIS-- ...

  5. CentOS下Docker与.netcore(三)之 三剑客之一Docker-Compose

    CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...

  6. consul ACL2

    简介 Consul有多个组件,但是整体上,consul通常作为服务发现工具来使用. Consul主要由以下特点: 服务发现 健康检查 KV存储 多数据中心 Consul一般与zookeeper,ser ...

  7. 如何快速解决myeclipse中导入jquery文件的报错。

    如何快速解决myeclipse中导入jquery文件的报错. 解决: 选中错误的文件, 点击右键, 选中myeclipse,点击Exclude From Validation.

  8. OI树上问题 简单学习笔记

    判断链 每个点的度数不超过2 判断树 n个点,n-1条边 每两个点之间的路径唯一 多叉树转换成二叉树 第一个孩子作为左孩子,第一个孩子的兄弟作为它的右孩子. 树的重心 树上一点,满足删除该点时,树内剩 ...

  9. 【《Effective C#》提炼总结】提高Unity中C#代码质量的22条准则

    引言 原则1尽可能地使用属性而不是可直接访问的数据成员 原则2偏向于使用运行时常量而不是编译时常量 原则3 推荐使用is 或as操作符而不是强制类型转换 原则4 推荐使用条件属性而不是if条件编译 原 ...

  10. Mac 上安装python3

    1.安装包管理器 去包管理器官网按照提示安装包管理器 Homebrew 2.安装python3 安装完Homebrew ,输入指令安装python3 brew install python3 3.安装 ...