本章节仅总结一下使用pymysql与pyodbc链接MySQL数据库。

2个都可以链接mysql数据,进行增删改查。但是呢,使用pyodbc操作数据库,对中文支持度好一些。pymysql则需要处理一下编码。所以2个都说一下,自己选择哈。


1. 安装DatabaseLibrary,pyodbc,pymysql。

pip install robotframework-databaselibrary

pip install PyMySQL

pip install pyodbc

首推是命令安装,除了命令安装,也可以下载安装包进行安装。cd到安装包目录,python setup.py install即可。


2. 安装、配置MySQL Connector。

1)要用pyodbc连接mysql,还需要一个工具,就是MySQL Connector,地址:http://www.mysql.com/downloads/connector/odbc/

注:一定要下载匹配你的python及pyodbc的版本

查看python版本:

cmd命令:输入python即可查看,如果是32位的,一定要安装32位的mysql connector。

否者,robotframework执行pyodbc链接数据库时,回报错

错误为:('IM002', '[IM002] [Microsoft][ODBC \xc7\xfd\xb6\xaf\xb3\xcc\xd0\xf2\xb9\xdc\xc0\xed\xc6\xf7] \xce\xb4\xb7\xa2\xcf\xd6\xca\xfd\xbe\xdd\xd4\xb4\xc3\xfb\xb3\xc6\xb2\xa2\xc7\xd2\xce\xb4\xd6\xb8\xb6\xa8\xc4\xac\xc8\xcf\xc7\xfd\xb6\xaf\xb3\xcc\xd0\xf2 (0) (SQLDriverConnect)')

2)安装完成后,要配置mysql数据源。

操作:打开控制面板-管理工具-ODBC数据源,点击【添加】

选择后进行配置,不知道的,可以百度,百度上有具体的ODBC配置说明。

注:如果安装的是32位的mysql connecter。

        打开控制面板-管理工具-ODBC数据源,点击【添加】,会看不到安装的mysql odbc驱动。

不是没安装好,而是要换个地方配置数据源:运行 C:\Windows\SysWOW64\odbcad32.exe 即可在数据源中找到驱动,进行配置了。

(WOW64什么意思?WOW64(Windows-On-Windows-64bit),在Windows64上面的一个子系统,Windows64位要兼容32位,因此要有一个32位的子系统。)


3. 连接数据,进行查询

1)pymysql

运行结果:

接口.test1
20161108 14:58:54.888 : INFO : @{receiverState} = [ ('??',) | ('??',) | ('???',) | ('???',) | ('????????',) | ('??',) | ('??',) | ('???',) | ('???',) | ('????????',) | ('??',) | ('??',) | ('???',) | ('???',) | ('????????',) ]
20161108 14:58:54.890 : INFO : ('??',)
20161108 14:58:54.890 : INFO : ('??',)
20161108 14:58:54.890 : INFO : ('???',)
20161108 14:58:54.890 : INFO : ('???',)

20161108 14:58:54.893 :  INFO : ??

看结果就发现有一堆???这些都是中文的转码问题,可以写个转码方法也可以去设置。

2)pyodbc

运行结果:

接口.test2
20161108 14:58:54.902 : INFO : @{receiverState} = [ (u'\u4e0a\u6d77', ) | (u'\u5317\u4eac', ) | (u'\u5c71\u897f\u7701', ) | (u'\u5409\u6797\u7701', ) | (u'\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a', ) | (u'\u4e0a\u6d77', ) | (u'\u5317\u4eac', ...
20161108 14:58:54.902 : INFO : (u'\u4e0a\u6d77', )
20161108 14:58:54.902 : INFO : (u'\u5317\u4eac', )
20161108 14:58:54.902 : INFO : (u'\u5c71\u897f\u7701', )
20161108 14:58:54.902 : INFO : (u'\u5409\u6797\u7701', )
20161108 14:58:54.918 :  INFO : 上海

通过该例子是不是很清楚的发现,pyodbc对中文支持对好一些呢。

当然,强大的小伙伴们可以自己写方法,那会更强大了哈。

robotframwork数据库测试(一)——pymysql与pyodbc的更多相关文章

  1. (转)学习使用Jmeter做压力测试(三)--数据库测试

    数据库测试 JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本. 根据脚本,JMeter可通过线程组来模拟真实用户对Web ...

  2. 数据库测试DbUnit

    DBUnit 的设计理念就是在测试之前,备份数据库,然后给对象数据库植入我们需要的准备数据,最后,在测试完毕后,读入备份数据库,回溯到测试前的状态: 摘自:DbUnit入门实战 DBUnit官网:ht ...

  3. Visual Studio 单元测试之五---数据库测试

    原文:Visual Studio 单元测试之五---数据库测试 数据库的单元测试主要是测试数据库中的数据是否符合特定的条件,Visual Studio 2010支持下面几种数据的单元测试类型(Visu ...

  4. 利用jmeter进行数据库测试

    1.首先,用jmeter进行数据库测试之前,要把oracle和mysql的JDBC驱动jar包放到jmeter安装路径的lib目录下,否则会提示错误 2.添加一个线程组,如下图 3.接下来添加一个JD ...

  5. loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试

    调用java jar文件远程操作Oracle数据库测试 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 Loadrunner:11 备注:想学ora ...

  6. #测试框架推荐# test4j,数据库测试

    # 背景 后端都是操作DB的,这块的自动化测试校验的话,是需要数据库操作的,当然可以直接封装方法来操作数据,那么有没有开源框架支持数据操作,让我们关注写sql语句?或者帮我们做mysql的断言呢? # ...

  7. 【转】学习使用Jmeter做压力测试(三)--数据库测试

    JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本.根据脚本,JMeter可通过线程组来模拟真实用户对Web服务器做压力测 ...

  8. Laravel数据库测试的另一种方案-SQLite

    Laravel数据库测试 在测试方面,Laravel内置使用PHPUnit提供了非常方便的解决方案.而对于数据库增删改查的测试,要解决的一个很重要的问题就是如何在测试完成之后,恢复数据库的原貌,例如要 ...

  9. Oracle数据库测试和优化最佳实践: OTest介绍 (转)

    当前Oracle数据库最佳测试工具OTest *  Otest是用于Oracle数据库测试.优化.监控软件. *  Otest是免费提供给Oracle客户和广大DBA工程师使用的软件.由原厂技术专家王 ...

随机推荐

  1. Hadoop学习笔记(10) ——搭建源码学习环境

    Hadoop学习笔记(10) ——搭建源码学习环境 上一章中,我们对整个hadoop的目录及源码目录有了一个初步的了解,接下来计划深入学习一下这头神象作品了.但是看代码用什么,难不成gedit?,单步 ...

  2. Java面试宝典之----java基础(含答案)

    一 JAVA基础 1. JAVA中的几种基本数据类型是什么,各自占用多少字节. int        32bit   short   16bitlong     64bit   byte     8b ...

  3. EF框架CodeFirst the model backing the 'PModelEntities' context has changed since the database was created. Consider using Code First Migrations to update the database

    1.采用code first 做项目时,数据库已经生成,后期修改数据库表结构.再次运行时出现一下问题: Entity Framework : The model backing the 'Produc ...

  4. Java 泛型的使用

    一.泛型的简介1.为什么要使用泛型? 一般使用在集合上,比如现在把一个字符串类型的值放入到集合里面,这个时候,这个值放到集合之后,失去本身的类型,只能是object类型.这时,如果想要对这个值进行类型 ...

  5. css的一些基础(一)

    定位 定位相关属性用于设置目标组件的位置,常用的定位相关属性如下. 属性 说明 值 position 设置定位方法 static.relative.absolute.fixed left     ri ...

  6. 安装和使用phpstorm

    下载网址:https://www.jetbrains.com/phpstorm/ 第一步:解压在官网上所下的文件,双击 Phpstorm10.0.3.exe 第二步:安装目录选择,自定义选择安装目录, ...

  7. Bzoj3197: [Sdoi2013]assassin

    题面 传送门 Sol 套路:找出重心,如果有两个就新建一个点 然后把这棵树hash一下 设\(f[i][j]\)表示第一颗树到\(i\)第二棵树到\(j\),子树\(i,j\)同构的付出的最小代价 转 ...

  8. 微信小程序-view组件

    <view class="section"> <view class="section__title">flex-direction: ...

  9. VMware虚拟机上配置CentOS联网

    转自https://www.cnblogs.com/cindy-cindy/p/6784536.html 1.首先保证虚拟机的网络适配器为NAT模式 2.设置虚拟机的“编辑”-->“虚拟网络编辑 ...

  10. Java基础之PDF文件的合并

    1.首先下载一个jar包:pdfbox-app-1.7.1.jar 2.代码如下: package com; import java.io.File; import java.io.IOExcepti ...