RF(数据库测试)
1.下载 DatabaseLibrary 库
- pip install robotframework-databaselibrary
2.下载 pymysql 库(作为中间件)
- pip install pymysql
3.工程中导入 DatabaseLibrary 库
4.数据测试常用关键字
- Connect To Database 【dbapiModuleName=dbapiModuleName | dbName=dbName | dbUsername=dbUsername | dbPassword=dbPassword | dbHost=dbHost | dbPort=dbPort】
- 连接数据库
- Table Must Exist 【tableName】
- 判断表存在
- Check If Exists In Database 【sql】
- 判断查询结果的数据存在
- Check If Not Exists In Database【sql】
- 判断查询结果的数据不存在
- Delete All Rows From Table【tableName】
- 删除表中所有数据
Connect To Database pymysql study root 123456 192.168.1.110 3306 #连接study数据库
Table Must Exist student #判断student存在
Check If Exists In Database select * from student where name = "zhangsan" #判断查询结果数据存在
Check If Not Exists In Database select * from student where name = "zhengying" #判断查询结果数据不存在
Delete All Rows From Table student_copy #删除student_copy表中所有数据
- Disconnect From Database
- 断开数据库连接
- Execute Sql Script 【sqlScriptFileName 】
- 执行sql脚本文件
- Execute Sql String 【sql】
- 执行sql语句
Connect To Database pymysql study root 123456 192.168.1.110 3306 #连接study数据库
Execute Sql Script C:/Users/Administrator/Desktop/sql.txt #通过脚本文件进行执行sql(注意转义)
Execute Sql String INSERT INTO student(name,age,class)VALUES("qian",23,3),("sun",20,1) #执行sql语句
- Query 【sql】
- 返回查询语句的结果
Connect To Database pymysql study root 123456 192.168.1.110 3306 #连接study数据库
@{result} Query select * from student where name = "lisi" #查询数据且返回查询结果
Log Many ${result} #结果如下
20200312 15:20:10.798 : INFO : [(2, 'lisi', 19, '')]
- Row Count 【sql】
- 返回查询结果的总行数
Connect To Database pymysql study root 123456 192.168.1.110 3306 #连接study数据库
${count} Row Count select * from student #返回查询结果的总行数
log ${count}
- Row Count Is 0 【sql】
- 判断查询结果为 0 行
Connect To Database pymysql study root 123456 192.168.1.110 3306 #连接study数据库
Row Count Is 0 select * from student where name = "lisi" #判断查询结果为 0 行数据,如果结果为 0 行数据则 pass,否则fail
- Row Count Is Equal To X 【sql | numrows】
- 判断查询结果数据 =X 行
- Row Count Is Greater Than X 【sql | numrows】
- 判断查询结果数据 >X 行
- Row Count Is Less Than X 【sql | numrows】
- 判断查询结果数据 <X 行
Connect To Database pymysql study root 123456 192.168.1.110 3306 #连接study数据库
Row Count Is Equal To X select * from student where name = "lisi" 1 #判断查询结果数据为1行
Row Count Is Greater Than X select * from student where class = "" 1 #判断查询结果数据大于1行
Row Count Is Less Than X select * from student where class = "" 3 #判断查询结果数据小于3行
RF(数据库测试)的更多相关文章
- (转)学习使用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 ...
- 通过RF数据库查询中文字段结果正常显示的转换方法
方法1:统一显示为中文 1.通过RF数据库查询中文字段结果格式:'\xba\xcb\xbc\xf5\xcd\xa8\xb9\xfd' 2.通过Decode Bytes To String进行gbk解码 ...
- #测试框架推荐# test4j,数据库测试
# 背景 后端都是操作DB的,这块的自动化测试校验的话,是需要数据库操作的,当然可以直接封装方法来操作数据,那么有没有开源框架支持数据操作,让我们关注写sql语句?或者帮我们做mysql的断言呢? # ...
- 【转】学习使用Jmeter做压力测试(三)--数据库测试
JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本.根据脚本,JMeter可通过线程组来模拟真实用户对Web服务器做压力测 ...
- Laravel数据库测试的另一种方案-SQLite
Laravel数据库测试 在测试方面,Laravel内置使用PHPUnit提供了非常方便的解决方案.而对于数据库增删改查的测试,要解决的一个很重要的问题就是如何在测试完成之后,恢复数据库的原貌,例如要 ...
- Oracle数据库测试和优化最佳实践: OTest介绍 (转)
当前Oracle数据库最佳测试工具OTest * Otest是用于Oracle数据库测试.优化.监控软件. * Otest是免费提供给Oracle客户和广大DBA工程师使用的软件.由原厂技术专家王 ...
随机推荐
- Git 常见问题 冲突原因分析及解决方案
仅结合本人使用场景,方法可能不是最优的 1. 忽略本地修改,强制拉取远程到本地 主要是项目中的文档目录,看的时候可能多了些标注,现在远程文档更新,本地的版本已无用,可以强拉 git fetch --a ...
- 【python实现卷积神经网络】激活层实现
代码来源:https://github.com/eriklindernoren/ML-From-Scratch 卷积神经网络中卷积层Conv2D(带stride.padding)的具体实现:https ...
- Cilium使用 (Cilium 3)
使用k3s测试Cilium,安装步骤可以参见官方文档 Cilium安装使用 docker安装 使用如下命令安装最新版本的docker yum install -y yum-utils \ device ...
- unity3d之简单动画
Unity3d中有两个关于动画的概念,Animation和Animator,看一下他们的创建和区别 1.创建一个物体后可以添加Animator和Animation组件如图所示 2.Animation和 ...
- Persona & User Scenario
Persona: Tom:男,21岁,大学生,周末经常和同学们一起出去吃饭.唱歌.打球.郊游,期间会时不时拍一些照片以作纪念,长期积累的照片数量较多且内容繁杂,很少对照片进行整理: Alisa:女,2 ...
- 数据结构(C语言版)---栈
1.栈:仅在表尾进行插入和删除操作的线性表.后进先出LIFO. 1)表尾端(允许插入和删除的一端)为栈顶,表头端(不允许插入和删除的一端)为栈底. 2)入栈:插入元素的操作.出栈:删除栈顶元素 3)栈 ...
- windows搭建Selenium
安装 pip install -U selenium 安装浏览器驱动 用不同的浏览器需要安装不同的驱动,驱动放置的路径添加到path中. Firefox geodriver Chrome 下载驱动Ch ...
- js中string转map的方法
例如: var r = "{'msg':'你好'}" ; var map = eval("("+r+")"); //r为String类型的数 ...
- BIOS时间与系统时间(windows/linux时间同步问题)
写作动机 双系统是不少人喜欢的方式,但安装双系统之后一般会出现两个系统时间不一样的问题,刚开始用双系统的时候也没怎么在意,就是装上后在网上找找相关解决方法,复制粘贴代码完事儿.但是次数多了就有点烦了, ...
- 干货!Python中字符串、列表、元祖、字典,集合之间的转换
一.字符串的转化 1.字符串转换成列表 字符串转换成list 的时候,str可以作为迭代对象,直接放入:也可以使用split对字符串进行切割.然后返回list s = '1a1b1c' print(l ...