robot framework学习笔记之七—连接mysql数据库
1.安装Database-Library
输入命令:pip install robotframework_databaselibrary
2.添加Database的Library

3.实例
*** Test Cases ***
查询单条数据
${data} create dictionary shopCode=xxx coordinate=
${response} Rest.Get /api/shop/current.json ${data} form ${hosts["weidian"]}
Connect To Database Using Custom Params pymysql host='115.29.xx.xxx', port=3306, user='xx', passwd='xxx', db='test', charset= 'utf8'
${name} query select nickname from authshop where code='xxx'
log ${response["data"]["shop"]["shopName"]}
should be equal ${response['data']['shop']['shopName']} ${name[0][0]}
log ${name[0][0]} 查询多条数据 数据库中存在
#Check If Exists In Database
${data} create dictionary shopCode=xxx coordinate=
${response} Rest.Get /api/shop/current.json ${data} form ${hosts["weidian"]}
Connect To Database Using Custom Params pymysql host='115.29.xx.xx', port=3306, user='test', passwd='xxx', db='test', charset= 'utf8'
Check If Exists In Database select nickname from authshop where code='xxx' 数据库中不存在
#Check If Not Exists In Database
${data} create dictionary shopCode=xxx coordinate=
${response} Rest.Get /api/shop/current.json ${data} form ${hosts["weidian"]}
Connect To Database Using Custom Params pymysql host='115.29.xx.xxx', port=3306, user='xx', passwd='xx', db='test', charset= 'utf8'
Check If Exists In Database select nickname from authshop where code='xxx' 查询
#Description
${data} create dictionary shopCode=xxx coordinate=
${response} Rest.Get /api/shop/current.json ${data} form ${hosts["weidian"]}
Connect To Database Using Custom Params pymysql host='115.29.xx.xxx', port=3306, user='xxx', passwd='xxx', db='test', charset= 'utf8'
${qeeryResults} query select nickname from authshop where code='xxx'
log ${qeeryResults} 返回查询结果总行数
#Row Count
${data} create dictionary shopCode=xxx coordinate=
${response} Rest.Get /api/shop/current.json ${data} form ${hosts["weidian"]}
Connect To Database Using Custom Params pymysql host='115.29.xx.xxx', port=3306, user='xxx', passwd='xxx', db='xxx', charset= 'utf8'
${qeeryResults} row count select shop_code from authshop_relation where site_id=''
log ${qeeryResults}
4.api详情
| API | 参数 | 说明 |
| Check If Exists In Database | 查询语句 | 数据库中存在:存在,则为PASS,不存在,则为FAIL |
| Check If Not Exists In Database | 查询语句 | 数据库中不存在:不存在,则为PASS,存在,则为FAIL |
| Connect To Database | dbapiModuleName=None, dbName=None, dbUsername=None, dbPassword=None, dbHost=localhost, dbPort=5432, dbConfigFile=./resources/db.cfg | 连接数据库配制信息,通过配制各项属性完成 |
| Connect To Database Using Custom Params | dbapiModuleName=None, db_connect_string= | 连接数据库配制信息,通过db_connect_string来传递。如database='my_db_test', user='postgres', password='s3cr3t', host='tiger.foobar.com', port=5432 |
| Delete All Rows From Table | 表名 | 删除数据库中表的所有行:删除成功,则PASS;失败,则Fail |
| Description | 查询语句 | 返回查询语句的结果,内容格式为: [Column(name='id', type_code=1043, display_size=None, internal_size=255, precision=None, scale=None, null_ok=None)] [Column(name='first_name', type_code=1043, display_size=None, internal_size=255, precision=None, scale=None, null_ok=None)] [Column(name='last_name', type_code=1043, display_size=None, internal_size=255, precision=None, scale=None, null_ok=None)] |
| Disconnect From Database | 无 | 断开数据库链接 |
| Execute Sql Script | SqlScriptFileName | 执行脚本文件。SqlScriptFileName物理路径+FileName。 |
| Execute Sql String | SqlString | 执行Sql语句 |
| Query | 查询语句 | 返回查询语句的查询结果 |
| Row Count | 查询语句 | 返回查询语句的查询结果行总数 |
| Row Count Is 0 | 查询语句 | 查询语句的查询结果行总数:为0,则PASS;非0,则FAIL |
| Row Count Is Equal To X | 查询语句,X |
查询语句的查询结果行总数:为X,则PASS;非X,则FAIL X,为预期的查询结果行数,第二个需要传递的参数 |
| Row Count Is Greater Than X | 查询语句,X |
查询语句的查询结果行总数:大于X,则PASS;小于或等于X,则FAIL X,为预期的查询结果行数,第二个需要传递的参数 |
| Row Count Is Less Than X | 查询语句,X |
查询语句的查询结果行总数:大于X,则PASS;小于或等于X,则FAIL X,为预期的查询结果行数,第二个需要传递的参数 |
| Table Must Exist | 表名 | 表名必须存在:存在,则PASS;不存在,则FAIL |
5.实例二
#Connect To Database Using Custom Params:使用参数来连接数据库 pymysql:连接的数据库 charset=‘utf8’解决中文显示成???的问题
Connect To Database Using Custom Params pymysql host=‘115.29.10.xxx’, port=3306, user=‘xxx’, passwd=‘xxx’, db=‘xxx’,charset=‘utf8’
#使用Query方法来执行"select name from wx_account_detail where type=0”,并将查询的结果返回对变量@{name}
@{name} query select name from wx_account_detail where type=0
#循环获取多条记录的值,并打印
: FOR ${i} IN RANGE 0 len(@{name})
\ log @{name}[${i}]

robot framework学习笔记之七—连接mysql数据库的更多相关文章
- openresty 学习笔记四:连接mysql和进行相关操作
openresty 学习笔记四:连接mysql和进行相关操作 毕竟redis是作为缓存,供程序的快速读写,虽然reidis也可以做持久化保存,但还是需要一个做数据存储的数据库.比如首次查询数据在red ...
- MySQL学习(一)——Java连接MySql数据库
MySQL学习(一)——Java连接MySql数据库 API详解: 获得语句执行 String sql = "Insert into category(cid, cname) values( ...
- robot framework学习笔记2
声明:本笔记都只是自己根据大牛虫师的robot系列文档学习记录的,学习的话还请移步虫师博客:https://www.cnblogs.com/fnng/ 非常感谢大牛的分享,带小白一步一步入门 F5 ...
- django学习-10.django连接mysql数据库和创建数据表
1.django模型 Django对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle. Django为这些数据库提供了统一的调用API. 我们可以根据自己 ...
- Robot Framework学习笔记(三)------常用关键字介绍
下面关键字全部由 Builtin 库提供,Builtin 为 Robot Framework 标准类库.Builtin库提供常用的关键字 1.log log 关键字就是编程语言里的"prin ...
- python学习笔记之——操作mysql数据库
Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: ...
- robot framework学习笔记之二———变量
Robot Framework的变量分为标量, 列表和字典, 分别使用语法格式 ${SCALAR}, @{LIST} 和 &{DICT} 来定义. 此外, 环境变量可以直接使用语法 %{ENV ...
- Python学习笔记9-Python 链接MySql数据库
Python 链接MySql数据库,方法很简单: 首先需要先 安装一个MySql链接插件:MySQL-python-1.2.3.win-amd64-py2.7.exe 下载地址:http://dev. ...
- Robot Framework学习笔记(十一)------ 分层设计
以百度搜索为例,如果我们需要写5个不同关键字搜索的用例.如果没有分层的思想,那么我们需要写5个用例,并且每个用例都需要重复写打开浏览器.输入关键字.点击按钮.关闭浏览器的步骤.如果使用Robot Fr ...
随机推荐
- Kubernetes集群的安装部署
此文参照https://www.cnblogs.com/zhenyuyaodidiao/p/6500830.html,并根据实操过程略作修改. 1.环境介绍及准备: 1.1 物理机操作系统 物理机操作 ...
- Socket调用方式(同步,异步,阻塞,非阻塞)
同步: 我调用一个功能,该功能没有结束前,我死等结果. 异步: 当一个异步过程调用发出后,调用者不能立刻得到结果.该功能在完成后,通过状态.通知和回调来通知调用者. 同步和非同步关注的是调用者是否等待 ...
- ssm 动态切换数据源
1,添加数据库配置 jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver #jdbc.url=jdbc:sqlserver://192.16 ...
- Python爬虫利器六之PyQuery的用法
前言 你是否觉得 XPath 的用法多少有点晦涩难记呢? 你是否觉得 BeautifulSoup 的语法多少有些悭吝难懂呢? 你是否甚至还在苦苦研究正则表达式却因为少些了一个点而抓狂呢? 你是否已经有 ...
- UX设计案例研究:建立更好的用户体验(重新设计Air Peace Airline网站)
以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 坐飞机旅行总是能给人带来很棒的体验,但我认为应该考虑预订航班时给用户带来的压力.在如今的数字世界,我 ...
- ubuntu系统中解决github下载速度慢问题
如果你在使用github,出现访问和下载速度慢问题,可以通过修改host解决.记得不要踩坑哦!分四步: 第一步:查询速度快的IP地址 在http://tool.chinaz.com/dns中查询下面三 ...
- 信息增益(Information Gain)(转)
当我们需要对一个随机事件的概率分布进行预测时,我们的预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设.在这种情况下,概率分布最均匀,预测的风险最小.因为这时概率分布的信息熵最大,所以称之为 ...
- 团体程序设计天梯赛L1-020 帅到没朋友 2017-03-22 17:46 72人阅读 评论(0) 收藏
L1-020. 帅到没朋友 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为 ...
- Oracle EBS Export File Format
Profile Option Name Site Application Responsibility Server Server Org User Remark Export MIME type t ...
- Linux Context , Interrupts 和 Context Switching 说明
一. 进程Context 定义 当一个进程在执行时, CPU的所有寄存器中的值.进程的状态以及堆栈中的内容,比如各个变量和数据,包括所有的寄存器变量.进程打开的文件.内存信息等.这些信息被称为该进程的 ...