一、需求:
查询接口自动化;
二、已知条件:
1.接口入参分为两部分
固定入参(fixparam):IP地址,操作渠道等;每个接口这部分都是相同的所以称为固定入参;
不固定入参(unfixparam):接口查询功能相关业务参数;
2.业务需求封装了一个Test Library供使用,该Test Libirary有关键字:LBM CALL RET DATA。F5查询用法为:
Arguments:[server|funcid|fixparam|unfixparam],其中server有约定的写法;
三、实现思路:
1.设置查询参数,作为接口查询入参,也作为SQL的查询参数;
2.调用接口获得查询结果集(resultSet1);
3.调用SQL获得数据库查询结果集(resultSet2);
4.将resultSet1和resultSet2进行对比,如果数据一致则用例通过,否则用例失败;
四、实现过程
以股份查询为例,建立一个测试套件,名称为股份查询,在该测试套件下写测试用例。测试用例包括:
1.返回参数确认;
2.入参输入正确,错误,空的组合场景;
3.按定位串,查询方向,查询函数查询;
需要考虑的要点:
1.考虑用例编写的效率问题,最好的效果是:第一条用例完成后,其他赋值粘贴稍作修改即可;
解决方案:在设计过程中使得每条用例需要改变的只是接口unfixparam;
2.考虑用例适应多种输入数据,为此,接口的unfixparam最好是每次执行时都是不一样的;
解决方案:从数据表中随机查询第一条数据获取入参数据,SELECT TOP 1 A1,A2,A3 FROM TABLE ORDER BY newid();
基于以上考虑,实现是采用函数式编程思想,定义四个函数
获取股份查询fixparam | 入参:接口号funcid,出参:格式化的fixparam | 1.按照格式构造该接口的固定入参; 2.从数据表中提取可作为unfixparam的参数,使用关键字set test variable设置为用例范围内的变量; 其他:异构格式或者字典转换; |
获取股份查询unfixparam | 入参:unfixparam的参数,出参:格式化的unfixparam. | 3.利用步骤2的unfixparam的参数,按照格式构造unfixparam; |
LBM CALL RET DATA | 入参:[server|funcid|fixparam|unfixparam],出参:接口查询结果集; | 4.调用后台改接口查询数据 |
QueryDataKsts | 入参:查询型SQL语句,出参:SQL语句执行结果;
| 4.使用DatabaseLibrary的Connect To Database Using Custom Params关键字连接数据库; 5.DatabaseLibrary的query关键字执行SQL查询(查询条件同当前用例接口入参); 6.DatabaseLibraryDisconnect From Database关键字断开数据库连接 |
股份查询结果核对 | 入参:SQL语句执行结果,接口查询结果集; | 7.将两者数据逐一对比(或对比行数) 其他:异构系统格式或者字典转换; |
五.截图;