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】
    • 删除表中所有数据
  1. Connect To Database pymysql study root 123456 192.168.1.110 3306 #连接study数据库
  2. Table Must Exist student #判断student存在
  3. Check If Exists In Database select * from student where name = "zhangsan" #判断查询结果数据存在
  4. Check If Not Exists In Database select * from student where name = "zhengying" #判断查询结果数据不存在
  5. Delete All Rows From Table student_copy #删除student_copy表中所有数据
  • Disconnect From Database

    • 断开数据库连接
  • Execute Sql Script    【sqlScriptFileName 】
    • 执行sql脚本文件
  • Execute Sql String  【sql】
    • 执行sql语句
  1. Connect To Database pymysql study root 123456 192.168.1.110 3306 #连接study数据库
  2. Execute Sql Script C:/Users/Administrator/Desktop/sql.txt #通过脚本文件进行执行sql(注意转义)
  3. Execute Sql String INSERT INTO student(name,age,class)VALUES("qian",23,3),("sun",20,1) #执行sql语句
  • Query  【sql】

    • 返回查询语句的结果
  1. Connect To Database pymysql study root 123456 192.168.1.110 3306 #连接study数据库
  2. @{result}        Query select * from student where name = "lisi" #查询数据且返回查询结果
  3. Log Many       ${result}
  4.  
  5. #结果如下
  6. 20200312 15:20:10.798 : INFO : [(2, 'lisi', 19, '')]
  • Row Count     【sql】

    • 返回查询结果的总行数
  1. Connect To Database pymysql study root 123456 192.168.1.110 3306 #连接study数据库
  2. ${count}        Row Count select * from student #返回查询结果的总行数
  3. log ${count}
  • Row Count Is 0    【sql】

    • 判断查询结果为 0 行
  1. Connect To Database pymysql study root 123456 192.168.1.110 3306 #连接study数据库
  2. 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 行
  1. Connect To Database pymysql study root 123456 192.168.1.110 3306 #连接study数据库
  2. Row Count Is Equal To X select * from student where name = "lisi" 1 #判断查询结果数据为1行
  3. Row Count Is Greater Than X select * from student where class = "" 1 #判断查询结果数据大于1行
  4. Row Count Is Less Than X select * from student where class = "" 3 #判断查询结果数据小于3行

RF(数据库测试)的更多相关文章

  1. (转)学习使用Jmeter做压力测试(三)--数据库测试

    数据库测试 JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本. 根据脚本,JMeter可通过线程组来模拟真实用户对Web ...

  2. 数据库测试DbUnit

    DBUnit 的设计理念就是在测试之前,备份数据库,然后给对象数据库植入我们需要的准备数据,最后,在测试完毕后,读入备份数据库,回溯到测试前的状态: 摘自:DbUnit入门实战 DBUnit官网:ht ...

  3. Visual Studio 单元测试之五---数据库测试

    原文:Visual Studio 单元测试之五---数据库测试 数据库的单元测试主要是测试数据库中的数据是否符合特定的条件,Visual Studio 2010支持下面几种数据的单元测试类型(Visu ...

  4. 利用jmeter进行数据库测试

    1.首先,用jmeter进行数据库测试之前,要把oracle和mysql的JDBC驱动jar包放到jmeter安装路径的lib目录下,否则会提示错误 2.添加一个线程组,如下图 3.接下来添加一个JD ...

  5. loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试

    调用java jar文件远程操作Oracle数据库测试 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 Loadrunner:11 备注:想学ora ...

  6. 通过RF数据库查询中文字段结果正常显示的转换方法

    方法1:统一显示为中文 1.通过RF数据库查询中文字段结果格式:'\xba\xcb\xbc\xf5\xcd\xa8\xb9\xfd' 2.通过Decode Bytes To String进行gbk解码 ...

  7. #测试框架推荐# test4j,数据库测试

    # 背景 后端都是操作DB的,这块的自动化测试校验的话,是需要数据库操作的,当然可以直接封装方法来操作数据,那么有没有开源框架支持数据操作,让我们关注写sql语句?或者帮我们做mysql的断言呢? # ...

  8. 【转】学习使用Jmeter做压力测试(三)--数据库测试

    JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本.根据脚本,JMeter可通过线程组来模拟真实用户对Web服务器做压力测 ...

  9. Laravel数据库测试的另一种方案-SQLite

    Laravel数据库测试 在测试方面,Laravel内置使用PHPUnit提供了非常方便的解决方案.而对于数据库增删改查的测试,要解决的一个很重要的问题就是如何在测试完成之后,恢复数据库的原貌,例如要 ...

  10. Oracle数据库测试和优化最佳实践: OTest介绍 (转)

    当前Oracle数据库最佳测试工具OTest *  Otest是用于Oracle数据库测试.优化.监控软件. *  Otest是免费提供给Oracle客户和广大DBA工程师使用的软件.由原厂技术专家王 ...

随机推荐

  1. C语言 文件操作(三)

    1.fputs() int fputs(const char *s, FILE *stream); s 代表要输出的字符串的首地址,可以是字符数组名或字符指针变量名. stream 表示向何种流中输出 ...

  2. 面试官求你了,别再问我TCP的三次握手和四次挥手

    少点代码,多点头发 本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues. https://github.com/midou-tech/articles 三次握手建立链接,四次挥手断 ...

  3. PTA 6-1 单链表逆转

    本题是一个非常经典的题目:单链表逆转. 这是链表结点的定义: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储 ...

  4. git处理fork的个人库代码与远程项目库待代码同步与合并

    由于每个项目组git代码管理规范都不一致,分支开发和fork开发模式.我就说下fork处理的流程吧. 问题点: 我的代码是从自己的远程个人仓库clone的.我的个人远程仓库代码是从项目的远程仓库弄fo ...

  5. 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, ...

  6. python3(十四) filter

    # 和map()类似,filter()也接收一个函数和一个序列. # 和map()不同的是,filter()把传入的函数依次作用于每个元素, # 然后根据返回值是True还是False决定保留还是丢弃 ...

  7. ffmpeg 交叉编译 版本4.0.4

    touch run.sh chmod 755 run.sh ./run.sh run.sh #!/bin/sh ./configure \ --arch=aarch64 \ --cpu=armv8-a ...

  8. 虚拟机VMware 安装后虚拟机网卡与主机网卡数据交换关系

    安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这些后面会详细介绍.在VMware Worksta ...

  9. 数字电路技术之触发器(基本RS触发器)

    一.触发器的知识 1.触发器是构成时序逻辑电路的基本逻辑部件. 2.[1]它有两个稳定的状态:0状态和1状态:      [2]在不同的输入情况下,它可以被置成0状态或1状态:      [3]当输入 ...

  10. Serval and Parenthesis Sequence CodeForces - 1153C

    题目大意:一个字符串只含有? ( ),?可以变成 ) 或者 ( ,将字符串中所有的?变成) 或者 ( 使得字符串合法. 合法就是让括号配对,并且不可以提前结束比如:()()这样是不合法的. 题解:既然 ...