Robot Framework 教程 (5) - 连接Oracel数据库

Robot Framework 提供了多种Library。其中Database Library可用来连接操作数据库。

1.安装Database Library

打开Robot Framework官网,找到Database Library,官网提供了Java 和Python两个版本的Database Library,这里我使用的是Python版,地址为

http://franz-see.github.io/Robotframework-Database-Library/

其中的软件Requirement一节是Database Library的运行环境需求,具体需求包括

Python/Jython/IronPython

Robotframework

A Database API Specification 2.0 Python Module that you will use to connect to the database.

其中的Python与Robot Framework我们已经安装过,现在需要安装一个Database API Specification 2.0 Python Module,也就是用于连接数据库的Python模块。

这里的逻辑是这个样子的,Database Library实际上是一个处在Robot Framework和Database Interfaces 中间的代理模块,Robot Framework 通过Database Library 所提供的接口,间接的调用Database Interfaces,从而实现操作数据库的目的。

打开Database Interfaces页面,找到Oracle的API驱动及下载地址,找到你对目前python环境对应版本的安装文件,下载安装

http://sourceforge.net/projects/cx-oracle/files/

之后,下载安装DatabaseLibrary。

安装完成后,在你的 \Python27\Lib\site-packages目录下,可以看到Database Library文件夹和cx_Oracle.pyd文件

2.编写测试脚本

运行RIDE,按F5查看Database Library的关键字。

我们编写一个数据库查询的测试用例,脚本如下:

Connect To Database Using Custom Params    cx_Oracle    ‘bpm‘,‘bpm‘,‘orcl‘
@{data}    query    select * from sys_user
log many    @{data}
log    ${data[0][1]}
${count}    Get length    ${data}
log    ${count}
Disconnect From Database

运行脚本,结果如下

运行后查看Log,表中的中文全部变成了乱码。cx_Oracle的默认编码不是Utf-8,需要人工转换一下。DataBaseLibrary自身没有提供转换函数,为了解决这个问题,我们需要对DataBaseLibrary进行扩展。

3.解决Database Library中文乱码问题

打开安装目录下的 query.py文件,添加一个decode函数,用于对字符串进行解码

def decode(self,customstr,mode):
       return customstr.decode(mode)

更改测试脚本,增加转码过程

再次运行,得到系统输出,测试通过

总结:

至此,完成了Robot Framework连接数据库并进行操作的过程。具体在使用过程中,还需要针对业务逻辑设计TestCase、编写sql来实现。

下一篇文章,我们将会对Robot Framework在编写测试脚本时,如果使用 IF 和 FOR 关键字进行过程控制做说明。

时间: 2024-11-01 12:01:51

Robot Framework 教程 (5) - 连接Oracel数据库的相关文章

Robot FrameWork 教程链接

1.  Robot Framework 教程: http://cgmblog.sinaapp.com/html/category/robot-framework 2.  Robot Framework 中文论坛:http://www.robotframework.net/ 3.  齐涛的论坛:http://blog.csdn.net/tulituqi/article/category/897484 4.  学步园:http://www.xuebuyuan.com/search?cx=007504

Robot Framework 通过pyodbc连接Mysql

  首先是环境的安装: 1.安装Python2.7,不要安装3.5版本,因为很多依赖库不支持最新版本 2.通过pip在线安装Robot Framework,DatabaseLibrary,pyodbc,selenium2library,appiumlibrary(后面两个是web测试和移动端测试库) pip install robotframework pip install robotframework-databaselibrary pip install robotframework-se

Robot Framework 教程 (2) - 页面元素定位

上一篇文章中,简单模拟了一个baidu搜索并截图的过程,在搜索过程中,我们需要对搜索框.搜索按钮进行定位.本篇文章主要介绍一下具体的定位方法. 我们的脚本如下: *** Settings *** Library Selenium2Library *** Test Cases *** firefox兼容性 Open Browser https://www.baidu.com/ ff Input Text id=kw LeetTest Click button id=su Sleep 2 Captu

delphi连接Oracel数据库

建立工程,工具组件‘OraSession’ 原文地址:https://www.cnblogs.com/DonVin/p/12196000.html

Robot Framework 入门教程总结

Robot Framework 作为一款通用测试框架,可加载多种测试库.驱动多种测试工具,并可对各种自定义脚本进行集成.对于Robot Framework,我准备将其分为 入门--Robot Framework的安装使用及基本内容,初步实现简单测试实例: 实战--以几种常见的被测件作为案例,进行实际的侧实演示: 详解--对Robot Framework的官方文档及内置库进行详细介绍: 测试库--对常用的测试库进行介绍,并进行简单实例演示: 源码分析--对Robot Framework源码进行分析

robot framework——连接和断开mysql数据库

按照命令:pip  install  -U  robotframework-databaselibrary 来进行按照. 按照完成后,在使用databaselibrary库时,需要预先在测试套件中导入该库. ------------------------------------------------------------------------------------------------------------------------- 要连接到mysql数据库,除了要导入databa

Robot Framework数据库自动化

9   Robot Framework数据库自动化 9.1  Robot Framework数据库自动化环境搭建 9.1.1 安装的准备 1)从网盘下载 Robotframework-Database-Library 文件 网盘下载地址:http://pan.baidu.com/s/1skZ3oDn 官网下载地址:https://pypi.python.org/pypi/robotframework-databaselibrary/0.6 2)解压 压缩包. 9.1.2 安装Database-L

Robot Framework自动化测试 ---视频与教程免费分享

当我第一次使用Robot Framework时,我是拒绝的.我跟老大说,我拒绝其实对于习惯了代码的自由,所以讨厌这种"填表格"式的脚本.老大说,Robot Framework使用简单,类库丰富,还可以自由开发系统关键字.那我说,你不能让我用我就用,我要先用用看.自从我用了半年多以来,duang~! 真的挺好用的.duang~! ,我相信我用完是这个样子,你们用完也是这个样子.duang~! duang~! ----今年流行"duang",我也来一段.哈哈~! Rob

Robot Framework操作MySQL数据库和Oracle数据库

一.Robot Framework连接MySQL数据库 1.安装databaselibrary.pymsql 通过cmd命令执行pip install robotframework-databaselibrary==1.1.1,安装指定版本 通过cmd命令执行pip install PyMySQL==0.9.2 2.导入DatabaseLibrary包到Robotframework 3.使用关键字对数据库进行操作 连接数据库关键字:Connect To Database Using Custom