zoukankan      html  css  js  c++  java
  • Robot Framework(Databaselibrary库操作)

    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 关键字执行脚本报错:

     

    那么就需要我们自己添加关键字了。
    找到....Python27Libsite-packagesDatabaseLibrary 目录下的 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('
    ',' ')
    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 脚本如下:

  • 相关阅读:
    Codeforces Round #642 (Div. 3)
    [P4980] 【模板】Polya定理
    [SCOI2016] 幸运数字
    [P4389] 付公主的背包
    [CF438E] The Child and Binary Tree
    最长异或路径
    [AHOI2013] 作业
    [P4841] [集训队作业2013] 城市规划
    Python 第三方库国内镜像安装
    [CF1202D] Print a 1337-string...
  • 原文地址:https://www.cnblogs.com/101718qiong/p/8288207.html
Copyright © 2011-2022 走看看