运行程序
很多人都知道,目前市场上很多自动化测试工具,比如:Jmeter,Postman,TestLink等,还有一些自动化测试平台,那为啥还要开发通达信接口文件,接口自动化测试框架呢?相同之处就不说了,先说一下工具的局限性:测试数据不可控:通达信接口文件,接口虽然是对业务逻辑、程序代码的测试,而实际上是对数据的测试,调用通达信接口文件,接口输入一批数据,通过断言代码验证通达信接口文件,接口返回的数据,整个过程围绕数据测试。如果返回的数据不是固定的,是变化的,那么断言失败,就无法知道是通达信接口文件,接口程序错误引起的,还是数据变化引起的,所以就需要进行测试数据初始化。通达信接口文件,接口工具没有具备数据初始化的功能,从而无法真正做到通达信接口文件,接口自动化测试。
对业务的支持程度工具对业务支持程序相对比较低,无法根据不同业务定制化开发,而自动化测试框架可以做到这点,对业务支持比较灵活。
测试日志:测试报告:
举个例子来帮助理解:比如你要测试一个查询通达信接口文件,接口,在没有初始化测试数据的情况下,你入参是:id=断言是:assertname=‘测试’,这个断言是你预先知道通达信接口文件,接口会返回什么。调用通达信接口文件,接口时候,通达信接口文件,接口返回结果是name=‘测试’,断言成功,因为你知道数据库有一条id=1的数据。哪天这条id=1的数据被人删除,但是你维护的通达信接口文件,接口测试框架还在跑,并没有更新测试数据,结果断言失败,你上去debug,最后发现是测试数据的问题,这个过程是费时又费劲的,如果做了测试数据初始化的功能,完全是可以避免的。因为入参和出参都是固定的,是按自己需要初始化好的,不用担心数据变化引发断言失败,那么只关心通达信接口文件,接口程序代码的问题了。
有错误不要害怕,看看报错信息,再修改一下,运行后:
通达信接口文件,接口自动化测试框架处理过程:
运行结果:
大致处理流程:
框架设计思路
框架结构
首先编写一份测试数据初始化的脚本,维护一批测试数据到数据库,并且每次初始化前,清空原来的数据,这样保证数据是最新和唯一的(避免重复)。调用被测系统的通达信接口文件,接口,传入参数,这个请求参数是字典,并且数据与数据库数据(数据是初始化时插入)中一致。系统通达信接口文件,接口会根据入参,向测试数据库查询。查询结果组装成一定格式(dict、jso的数据,返回给测试框架。测试框架断言通达信接口文件,接口返回的数据,并生成测试结果(测试报告)。
框架结构介绍:
附录
common/:报告、日志等公共模块存放文件夹config/:文件路径、配置信息存放db_init/:测试数据初始化处理程序logs/:生成日志文件pies/:饼存放report/:测试报告存放testcase/:用于编写测试用例run_maipy执行测试集的主程序
无法测试加密通达信接口文件,接口公司项目中,大部分通达信接口文件,接口是不供外部调用,会使用用户认证、签名、加密等手段,提供通达信接口文件,接口的安全性。而一般的测试工具无法做到模拟和生成这些加密算法。
扩展能力不足工具始终是工具,有一定的局限性,无法生成自定义测试报告,无法定制化发送邮件,持续集成和定时任务。
主程序运行文件run_maipy:
文章为作者独立观点,不代表股票交易接口观点