robotframwork数据库测试(一)——pymysql与pyodbc
本章节仅总结一下使用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的更多相关文章
- (转)学习使用Jmeter做压力测试(三)--数据库测试
数据库测试 JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本. 根据脚本,JMeter可通过线程组来模拟真实用户对Web ...
- 数据库测试DbUnit
DBUnit 的设计理念就是在测试之前,备份数据库,然后给对象数据库植入我们需要的准备数据,最后,在测试完毕后,读入备份数据库,回溯到测试前的状态: 摘自:DbUnit入门实战 DBUnit官网:ht ...
- Visual Studio 单元测试之五---数据库测试
原文:Visual Studio 单元测试之五---数据库测试 数据库的单元测试主要是测试数据库中的数据是否符合特定的条件,Visual Studio 2010支持下面几种数据的单元测试类型(Visu ...
- 利用jmeter进行数据库测试
1.首先,用jmeter进行数据库测试之前,要把oracle和mysql的JDBC驱动jar包放到jmeter安装路径的lib目录下,否则会提示错误 2.添加一个线程组,如下图 3.接下来添加一个JD ...
- loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试
调用java jar文件远程操作Oracle数据库测试 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 Loadrunner:11 备注:想学ora ...
- #测试框架推荐# test4j,数据库测试
# 背景 后端都是操作DB的,这块的自动化测试校验的话,是需要数据库操作的,当然可以直接封装方法来操作数据,那么有没有开源框架支持数据操作,让我们关注写sql语句?或者帮我们做mysql的断言呢? # ...
- 【转】学习使用Jmeter做压力测试(三)--数据库测试
JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本.根据脚本,JMeter可通过线程组来模拟真实用户对Web服务器做压力测 ...
- Laravel数据库测试的另一种方案-SQLite
Laravel数据库测试 在测试方面,Laravel内置使用PHPUnit提供了非常方便的解决方案.而对于数据库增删改查的测试,要解决的一个很重要的问题就是如何在测试完成之后,恢复数据库的原貌,例如要 ...
- Oracle数据库测试和优化最佳实践: OTest介绍 (转)
当前Oracle数据库最佳测试工具OTest * Otest是用于Oracle数据库测试.优化.监控软件. * Otest是免费提供给Oracle客户和广大DBA工程师使用的软件.由原厂技术专家王 ...
随机推荐
- [linux] C语言Linux系统编程进程基本概念
1.如果说文件是unix系统最重要的抽象概念,那么进程仅次于文件.进程是执行中的目标代码:活动的.生存的.运行的程序. 除了目标代码进程还包含数据.资源.状态以及虚拟化的计算机. 2.进程体系: 每一 ...
- mysql数据库重点(基础优化)
### Mysql性能优化 尽量不要写select * ,如果需要全表数据,使用select 加所有字段列名称查询代替* 尽量减少字段列的数学计算,如:where num * 2 >= 30,可 ...
- hdu 1880 魔咒词典 (字符串哈希)
魔咒词典 Time Limit: 8000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- Java内存区域与虚拟机类加载机制
一.Java运行时数据区域 1.程序计数器 “线程私有”的内存,是一个较小的内存空间,它可以看做当前线程所执行的字节码的行号指示器.Java虚拟机规范中唯一一个没有OutOfMemoryError情况 ...
- java工厂模式个人体会
上一边文章主要对单例模式做了一个总结,这篇文章主要对工厂模式也写一写个人的体会. 工厂模式是设计模式的一种,它主要是把实现产品对象的过程封装起来,然后提供给客户端相应的接口.工厂模式也是有3种,分别为 ...
- 《JavaWeb从入门到改行》注册时向指定邮箱发送邮件激活
javaMail API javaMail是SUN公司提供的针对邮件的API . 两个jar包 mail.jar 和 activation.jar java mail中主要类:javax.mail. ...
- MySQL与PHP的连接教程步骤(图文)
本篇文章我们介绍一下PHP与MySQL的整合,既然是与MySQL整合,那么我们首先肯定是要安装MySQL.下面我们就介绍下MySQL的安装方法. 第一步,下载MySQL.下载PHP可以去PHP中文网下 ...
- SQL-字符串运算符和函数
COALESCE(columnname,string) 函数 将 NULL 值作为字符串(用空字符串或其他字符串替换 NULL)- 接受一列输入值(字段)如果该字段为 NULL,则返回后面替换的字符串 ...
- EF Migrations
Enable-Migrations -EnableAutomaticMigrations dbcontent Add-Migration XXXXX Update-Database -Verbose ...
- vue从安装到初始化项目