• RobotFramework读取mysql和oracle数据库


    一、robotframework连接mysql数据库

    1、安装databaselibrary、pymysql

    通过cmd命令执行:pip install robotframework-databaselibrary

    cmd命令执行:pip install pymysql

    2、导入DatabaseLibrary包到Robotframework

    3、使用关键字对数据库进行操作

    连接数据库:Connect to database using custom params

    这个关键字需要传入2个参数,pymysql、及数据库连接信息(host='数据库ip',port='数据库端口',user='数据库登陆用户名',passwd='密码',db='数据库名(不是表名)')

    执行查询语句:Query

    执行增删改语句:Execute Sql String

    断开数据库连接:Disconnect From Database

    注意:sql语句结尾尽量不要用分号,每次连接数据库后都使用断开数据库连接结束

    二、robotframework连接Oracle数据库连接

    1、安装DatabaseLibrary(见连接mysql数据库操作)

    2、安装cx_Oracle,DatabaseLibrary,进入cx_oracle下载页面,下载python对应的版本号:http://sourceforge.net/projects/cx-oracle/files/

    下载完后直接安装,安装完成后,在你的 Python27Libsite-packages目录下,可以看到Database Library文件夹和cx_Oracle.pyd文件;

     

    3、将本地连接oracle数据库的oci文件复制到site-packages目录

    4、使用关键字进行oracle数据库操作

     连接数据库:Connect To Database Using Custom Params;需要传入2个参数;cx_Oracle和数据库连接信息--    '账号','密码','ip:端口/ORCL 

    查询和修改关键字跟mysql操作相同;

    常见问题:

    1、数据库查询内容包含[(u')返回值',)]  见下图,[(u'YIN',)]

    解决办法:通过截取方式去除:{serID[0][0]}

    执行结果:

    2、数据库执行sql带中文报错:UnicodeEncodeError:'ascii' codec can't encode characters in position 59-65....

    解决办法:新建一个文件sitecustomize.py放到C:Python27Libsite-packages(以你实际的python安装目录为准):

    # -*- coding: utf-8 -*-
    import sys
    import os
    import cx_Oracle

    reload(sys)
    sys.setdefaultencoding('utf-8')
    os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

    保存后重启robotframework,sql能正常执行;

    3、数据库sql语句查询返回乱码:

    解决办法:在C:Python27Libsite-packagesDatabaseLibraryquery.py文件中添加如下代码:

    def decode(self,code):
            return code.decode('utf-8')

     

    保存后先用python工具编译一下,然后重启robotframework;然后使用decode进行转译;

    运行得到中文:

  • 相关阅读:
    qt中使用dll库的方法
    41. wait notify 方法
    40.方式二的练习
    39.线程的实现方式二
    38. 死锁
    37. 解决线程问题方式二(同步函数)
    36. 解决线程问题方式一(同步代码块synchronized)
    35.线程问题
    34. Thread类的常用方法
    33. 自定义线程
  • 原文地址:https://www.cnblogs.com/yinrw/p/6126753.html
Copyright © 2020-2023  润新知