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工程师使用的软件.由原厂技术专家王 ...
随机推荐
- C语言 文件操作(三)
1.fputs() int fputs(const char *s, FILE *stream); s 代表要输出的字符串的首地址,可以是字符数组名或字符指针变量名. stream 表示向何种流中输出 ...
- 面试官求你了,别再问我TCP的三次握手和四次挥手
少点代码,多点头发 本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues. https://github.com/midou-tech/articles 三次握手建立链接,四次挥手断 ...
- PTA 6-1 单链表逆转
本题是一个非常经典的题目:单链表逆转. 这是链表结点的定义: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储 ...
- git处理fork的个人库代码与远程项目库待代码同步与合并
由于每个项目组git代码管理规范都不一致,分支开发和fork开发模式.我就说下fork处理的流程吧. 问题点: 我的代码是从自己的远程个人仓库clone的.我的个人远程仓库代码是从项目的远程仓库弄fo ...
- python3(十七) nonameFunc
L = list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])) print(L) # [1, 4, 9, 16, 25, 36, 49, 64, ...
- python3(十四) filter
# 和map()类似,filter()也接收一个函数和一个序列. # 和map()不同的是,filter()把传入的函数依次作用于每个元素, # 然后根据返回值是True还是False决定保留还是丢弃 ...
- ffmpeg 交叉编译 版本4.0.4
touch run.sh chmod 755 run.sh ./run.sh run.sh #!/bin/sh ./configure \ --arch=aarch64 \ --cpu=armv8-a ...
- 虚拟机VMware 安装后虚拟机网卡与主机网卡数据交换关系
安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这些后面会详细介绍.在VMware Worksta ...
- 数字电路技术之触发器(基本RS触发器)
一.触发器的知识 1.触发器是构成时序逻辑电路的基本逻辑部件. 2.[1]它有两个稳定的状态:0状态和1状态: [2]在不同的输入情况下,它可以被置成0状态或1状态: [3]当输入 ...
- Serval and Parenthesis Sequence CodeForces - 1153C
题目大意:一个字符串只含有? ( ),?可以变成 ) 或者 ( ,将字符串中所有的?变成) 或者 ( 使得字符串合法. 合法就是让括号配对,并且不可以提前结束比如:()()这样是不合法的. 题解:既然 ...