面试官这样子问:
能举个你工作中实际发生的接口自动化测试例子吗?
参考回答:
我之前公司是业务是XXX,项目形式是在大型的稳定项目上不断的迭代新的需求,因此每次上线的时候,除了要保证新需求的正确性之外,还需要保证原系统主流程是通畅的。因此每次上线都要做一个固定的回归测试,一开始是大家都花一个小时左右去手动点那个主流程。后来我看重复工作实在是太繁重了,就做了一个Jmeter版本的接口自动化出来,比如用Jmeter自带的逻辑控制器,将登录接口放在仅一次控制器里,使用正则表达式或Json提取器获取到Token值后,后面的所有业务接口的请求头都带上这个Token值,然后实现后台管理系统里的增、查、改、删的业务闭环场景,因为自动化场景经常被运行,所以一定要做成业务闭环,不然只做新增的话,会堆积大量的测试数据,给服务器造成没必要的压力。
然后我做新增操作一般会应用上循环控制器,同时新增多条数据,查询接口查询出一个列表,然后在做改、删除操作等循环时,还需要用上计数器、定时器(模拟思考时间)等来辅助。
设计好脚本,在本地调通之后,我会把脚本上传到服务器上,然后使用Jenkins工具设置每天定时执行,如有问题就会给我发邮件,这样子就能及时发现问题,也省下了很多的手工回归测试的时间。
JMeter具体实现
建测试计划、线程组这些基础的操作就不多说,需要注意一下的有几点:
1、HTTP信息头管理:
如下图所示,一般接口文档标明必传的请求头包含Content-Type的话&