robot framework-databaselibaray库使用(python)(转)
公司做项目用到了databaselibaray,刚开始使用时碰到了很多问题,网上也查阅了很多资料终于是可以用了,现在整理记录下来,有需要的同学可随意使用:
另,本文主要是databaselibaray的使用,RF环境搭建可以看我另一篇:robot framework环境搭建
1、databaselibaray环境准备:
a) 安装cx_Oracle: http://sourceforge.net/projects/cx-oracle/files/
b) 安装DBlibrary: https://github.com/franz-see/Robotframework-Database-Library
c) 安装oracle(以下两个选一个即可):
i. 安装oracle客户端:http://www.oracle.com/
ii. 安装instant client: http://www.oracle.com/technology/global/cn/software/tech/oci/instantclient/index.html
注意:cx_Oracle的版本要与oracle的版本一致
二、使用DBLibrary
Connect To Database Using Custom Params cx_Oracle 'scott','tiger','oral'
@{data} query select * from dept
log many @{data}
log ${data[0][1]}
${row} row count select * from dept
log ${row}
${count} Get length ${data}
log ${count}
Execute Sql String delete from dept d where d.id='1'
Disconnect From Database
说明:
1、 Connect To Database Using Custom Params:
a) 第一个参数我使用的是cx_Oracle,就写这个
b) 第二个参数由三部分组成:user,pwd,tns
2、关于tns多说两句:我安装的是oracle客户端,可以在oracle安装目录\network\admin\tnsnames.ora中配置你的TNS,我的如下:
- oral=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.10)(PORT = 1526)) (connect_data = (sid =oral)))
因为我的tnsnames.ora文件配置了tns所以使用时可以直接使用它的sid即oral。如果没有配置的话,直接使用(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.10)(PORT = 1526)) (connect_data = (sid =oral)))代替上面例子中的oral也是可以的。
三、遇到的阻碍问题及解决办法:
在家里使用DBLibrary时没有任何问题,但是到公司用时出问题了,主要有以下两个问题,折腾了好久:
1、 ImportError: DLL load failed:这个问题把oci.dll拷贝到python的Lib\site-packages目录下就可以解决。
2、 InterfaceError: Unable to acquire Oracle environment handle:这个问题需要拷贝另外两个dll: oraocci11.dll和oraociei11.dll
参考:
http://www.51testing.com/html/15/246015-853524.html
http://blog.sina.com.cn/s/blog_654c6ec70100u9fr.html
http://www.cnblogs.com/puresoul/p/3868638.html
robot framework-databaselibaray库使用(python)(转)的更多相关文章
- Robot Framework: 自定义自己的python库
利用Robot Framework编写测试用例,往往需要开发自己的关键字,有的关键字需要通过自己编写python代码来实现.这在rf中,就需要自己定义python库.这个过程其实不复杂,本文来介绍下. ...
- robotframework的学习笔记(十三)------Robot Framework常用库简介
标准库 Robot Framework可以直接导入使用的库,包括: Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 Dialogs:提供了暂停测试执行和从用户的输入方式 ...
- Robot Framework常用库简介
标准库 Robot Framework可以直接导入使用的库,包括: • Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 • Dialogs:提供了暂停测试执行和从用户的 ...
- Robot Framework 自定义库
进入 python安装路径\Lib\site-packages 创建文件夹,库名 创建py文件,myclass.py 创建py文件,__init__.py 导入自定义库 遇到的问题: python版 ...
- robot framework添加库注意事项
添加库 假设你的项目结构是这样: 项目 ..myLib(库目录) ..目录1 ..测试用例套件1 此时你需要在“测试用例套件1”中用相对路径添加库myLib,你应该填:../myLib/ 特别注意后面 ...
- robot framework自定义python库
自定义python库的好处: robot framework填表式,将python的灵活性弄没了,但是不要担心,RF早就想到了解决办法,就是扩充自己的库. 1.在python应用程序包目录下创建一个新 ...
- Robot Framework+python的安装,配置,环境搭建(纯白篇)
弄了大半天 终于把-Robot Framework-弄好了,总是一个发现问题,一个一个去解决的过程,只是时间嘛,咳咳咳咳 言归正传 第一. 记住了 Robot Framework 的库 只支持 pyt ...
- Robot Framework - 2 - 创建测试库
04- 创建测试库--基础概念 Robot Framework 实际的测试能力是由测试库提供的. ***** 支持的编程语言 Robot Framework 自身是用 Python 编写的,能使用 P ...
- 用 Python 写 Robot Framework 测试
Robot Framework 框架是基于 Python 语言开发的,所以,它本质上是 Python 的一个库. 1.你懂 Python 语言. 2.又想使用 Robot Framework 测试框架 ...
- Robot Framework(十四) 扩展RobotFramework框架——创建测试库
4.1创建测试库 Robot Framework的实际测试功能由测试库提供.有许多现有的库,其中一些甚至与核心框架捆绑在一起,但仍然经常需要创建新的库.这个任务并不复杂,因为正如本章所示,Robot ...
随机推荐
- 2014在辛星Javascript口译科
***************概要*************** 1.Javascript是一种原型化继承的基于对象的动态类型的脚本语言,它区分大写和小写.主要执行在client,用户即使响应用户的操 ...
- [转载][NAS] 使用win8的“存储池”功能~
之前自己用DQ77KB搭建一个小存储系统(帖子链接:http://www.chiphell.com/thread-567753-1-1.html),一直使用intel主板带的软RAID功能构建RAID ...
- zookeeper错误KeeperErrorCode = ConnectionLoss解决
原因: 一般是由于连接还未完成就执行zookeeper的get/create/exsit操作引起的. 解决方法: 利用"CountDownLatch 类 + zookeeper的watche ...
- Gmail POP3设定
好几个同事在问我怎样使用ThunderBird和OE收取IT CHT的邮箱,因为IT CHT就是用Gmail的功能,因此收发邮件是跟Gmail一样,下面是Gmail的POP&SMTP的设置方法 ...
- nodejs显现events.js:72抛出错误
随着人们开始学习,我用nodejs过程中遇到如下列错误执行: events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EAD ...
- Memcached全面剖析–5. memcached的应用和兼容程序
作者:长野雅广(Masahiro Nagano) 原文链接:http://gihyo.jp/dev/feature/01/memcached/0005 我是Mixi的长野.memcached的连载最 ...
- 原来Github上的README.md文件这么有意思——Markdown语言详解
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 之前一直在使用github,也在上面分享了不少的项目和Demo,每次创建新项目的时候,使用的都是默认的REA ...
- FastDFS设备、构造、配置()一-安装和部署
FastDFS是一个开源的.高性能的的分布式文件系统,他基本的功能包含:文件存储.同步和訪问,设计基于高可用和负载均衡,FastDFS很适用于基于文件服务的站点.比如图片分享和视频分享站点 FastD ...
- crm操作观点
using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; /// <summary> ...
- 创建内向交货单 BBP_INB_DELIVERY_CREATE
DATA:DEL_HEADER TYPE BBP_INBD_L. DATA:DEL_TAB TYPE TABLE OF BBP_INBD_D WITH HEADER LINE. DATA:DEL_RE ...