公司做项目用到了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)(转)的更多相关文章

  1. Robot Framework: 自定义自己的python库

    利用Robot Framework编写测试用例,往往需要开发自己的关键字,有的关键字需要通过自己编写python代码来实现.这在rf中,就需要自己定义python库.这个过程其实不复杂,本文来介绍下. ...

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

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

  3. Robot Framework常用库简介

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

  4. Robot Framework 自定义库

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

  5. robot framework添加库注意事项

    添加库 假设你的项目结构是这样: 项目 ..myLib(库目录) ..目录1 ..测试用例套件1 此时你需要在“测试用例套件1”中用相对路径添加库myLib,你应该填:../myLib/ 特别注意后面 ...

  6. robot framework自定义python库

    自定义python库的好处: robot framework填表式,将python的灵活性弄没了,但是不要担心,RF早就想到了解决办法,就是扩充自己的库. 1.在python应用程序包目录下创建一个新 ...

  7. Robot Framework+python的安装,配置,环境搭建(纯白篇)

    弄了大半天 终于把-Robot Framework-弄好了,总是一个发现问题,一个一个去解决的过程,只是时间嘛,咳咳咳咳 言归正传 第一. 记住了 Robot Framework 的库 只支持 pyt ...

  8. Robot Framework - 2 - 创建测试库

    04- 创建测试库--基础概念 Robot Framework 实际的测试能力是由测试库提供的. ***** 支持的编程语言 Robot Framework 自身是用 Python 编写的,能使用 P ...

  9. 用 Python 写 Robot Framework 测试

    Robot Framework 框架是基于 Python 语言开发的,所以,它本质上是 Python 的一个库. 1.你懂 Python 语言. 2.又想使用 Robot Framework 测试框架 ...

  10. Robot Framework(十四) 扩展RobotFramework框架——创建测试库

    4.1创建测试库 Robot Framework的实际测试功能由测试库提供.有许多现有的库,其中一些甚至与核心框架捆绑在一起,但仍然经常需要创建新的库.这个任务并不复杂,因为正如本章所示,Robot ...

随机推荐

  1. Codeforces554D:Kyoya and Permutation

    Let's define the permutation of length n as an array p = [p1, p2, ..., pn] consisting of n distinct ...

  2. CSDN-markdown编者LaTex数学公式

    LaTex什么? LaTeX(LATEX.音译"拉太和")它是基于ΤΕΧ排版系统,莱斯利由美国计算机科学家·兰伯特(Leslie Lamport)于20纪80年代初期开发,利用这样 ...

  3. Arcgis for Js之Graphiclayer扩展具体解释

    在前两节,讲到了两种不同方式的聚类,一种是基于距离的,一种是基于区域范围的,两种不同的聚类都是通过扩展esri/layers/GraphicsLayer方法来实现的.在本节,就具体的讲讲esri/la ...

  4. iOS_数据库3_sqlite3基本操作

    终于效果图: Sqlite3函数总结  1.打开数据库 int sqlite3_open( const char *filename, // 数据库的文件路径 sqlite3 **ppDb // 数据 ...

  5. retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)

    [root@qa bin]# hadoop fs -ls / Warning: $HADOOP_HOME is deprecated. 14/07/29 13:25:35 INFO ipc.Clien ...

  6. wind river hypervisor 2.0.2.1

    2692407267@qq.com,请注意很多其他内容http://user.qzone.qq.com/2692407267 wind river hypervisor 2.0.2.1 版权声明:本文 ...

  7. [LeetCode299]Bulls and Cows

    题目: You are playing the following Bulls and Cows game with your friend: You write down a number and ...

  8. 【Android进阶】自定义控件实现底部扇形展开菜单效果

    这个项目是优化的其他人的,主要优化了界面菜单的显示,下面开始. 先看效果图 项目的总结构 下面开始贴代码,由于必要的地方都添加了注释,所以不过多讲解 anim_button.xml <?xml ...

  9. opencv2对于读书笔记——背投影图像的直方图来检测待处理的内容

    一些小的概念 1.直方图是图像内容的一个重要特性. 2.假设一幅图像的区域中显示的是一种独特的纹理或是一个独特的物体,那么这个区域的直方图能够看作是一个概率函数,它给出的是某个像素属于该纹理或物体的概 ...

  10. opengl微发展理解

    1.什么是OpenGL? 一种程序,可以与界面和图形硬件交互作用.一个开放的标准 2.软件管道 请看上图 - Apllication层     表示你的程序(调用渲染命令.如opengl API) - ...