robotframwork数据库测试——pymysql与pyodbc
Posted testhua
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章
RobotFramework + Python 自动化入门 五 (Suite Setup/Teardown+Resource文件+Locator和数据封装)
RobotFramwork + Appium+ Andriod 环境搭建
安装robotframwork 报错Requirement already satisfied