测试驱动中数据库的查询操作与断言
Posted LuckyFrame测试平台
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试驱动中数据库的查询操作与断言相关的知识,希望对你有一定的参考价值。
自动化测试过程中,数据库相关的应用场景非常多,比如测试数据的初始化、数据库数据的断言、测试数据的修改等等。
其实在LuckyFrame的客户端中已经提供了数据库测试相关的工具类,操作起来也是非常简单,如下:
但是我们在LuckyFrame客户端的V3.2版本中,重新对此工具类封装了一个测试驱动类,这样我们在写用例的时候,需要用到数据库操作或是查询,或是断言,可以做到开箱即用。
此类中提供了两个默认方法,一个是数据查询类的方法executeQuery ( Select ) ,一个是数据操作类的方法executeSql (insert、update、alter、delete等等) ,当我们需要使用到的时候,直接在用例步骤中按API驱动的规则进行测试即可。
数据查询类的方法 executeQuery说明:查询出来的数据返回到用例预期结果字符串,如果有多个列,会以%号分隔,如果多行,会以#分隔。
数据操作类的方法 executeSql说明:SQL操作返回的结果字符串,如果操作成功返回"成功执行SQL,更新数据XX行!",如果没有更新到数据,返回"成功执行SQL,没有更新到数据!"
数据库URL以及用户名密码的配置,我们在默认驱动目录( \TestDriven\ driven_config.properties )下有一个默认的配置文件,接提示写入即可。
其中 db.ComboPooledDataSource.DriverClass 配置项默认的是mysql数据库的驱动,如果你用到oracle或是其他的数据库,那么要修改这里的驱动类,以及要在客户端中添加对应数据库的依赖包。如果你使用的是mysql数据库,我们已经默认在客户端中添加了依赖包。
实例:这里我们以查询LuckyFrame数据库用户表数据为例
包路径: luckyclient.driven. DbDriven
方法: executeQuery
参数 (sql) :select * from sys_user
预期结果 (模糊匹配) :%=admin
对当前用例进行调试,成功查询出数据,我们可以看到列数据是以%来进行分隔的,因为只有一行,所以没有行分隔符。
1V1教你更多私密使用技巧
长按识别右侧二维码
进入付费知识星球
以上是关于测试驱动中数据库的查询操作与断言的主要内容,如果未能解决你的问题,请参考以下文章