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对中文支持对好一些呢。
当然,强大的小伙伴们可以自己写方法,那会更强大了哈。
最新文章
- 从零开始山寨Caffe·捌:IO系统(二)
- SQL Challenge ——快速找到1-100之间缺失的数
- ESXi5.5下的Centos7虚机配置静态IP
- JSP知识
- SQL 联合索引 与 单一列的索引 比较
- 阿里云数据库实例的一个db被开发人员删除了 如何恢复
- oracle的基本概念
- Centos 6.4 8250/16550 只生成了4个串口
- 使用OPC的方式去连接PLC进行AB SLC-5_04数据的采集
- Git教程(10)git比较复杂的功能
- java api如何获取kafka所有Topic列表,并放置为一个list
- TMS X-Cloud Todolist with FNC
- NG2入门 - 根模块
- [WPF]使用WindowChrome自定义Window Style
- 基于geoserver样式服务实现图层要素自定义配图
- Unity NPOI 无法读取xlsx
- HTML空格符号 nbsp; ensp; emsp; 介绍以及实现中文对齐的方法
- React对比Vue(05 生命周期的对比)
- intellij idea 如何一键清除所有断点
- Linux解决安装包无法找到问题Unable to locate package rar
热门文章
- WPF带占位符的TextBox
- jquery appendTo用法
- [LeetCode]Find Bottom Left Tree Value
- centos 安装cloud foundry CLI
- MyBatis学习(三)---MyBatis和Spring整合
- 原型模式(GOF23)
- Luogu 4240:毒瘤之神的考验
- Vijos / 题库 / 输油管道问题
- Child extends Parent,可以得到什么?
- Leetcode算法比赛----First Unique Character in a String