背景是这样的:最近组织架构调整,我们这个团队部分人员调入到了另外的业务组,因此她之前负责的业务需要交接给我们。
其中一个是接口每日监测,之前这个同事的做法是每天去手动点下按钮来跑接口测试,然后看一眼接口测试接口。
昨天这个监测任务交接给我,告诉我每天点一下,然后看一下就行。
我觉得这样有些麻烦,另外也害怕自己哪天就忘了,怕更不幸的是刚好还有问题然后我还没暴露出来。
这不就成了我的锅了吗?
因此决定把这个做成每天执行一次的定时任务,测试不通过时自动发邮件。
重复性的事还是自动化好,这样自己可以高枕无忧了。
说干就干。
最开始想到的是用jenkins来做定时任务,但很快就被我自己否定了,原因是:
1、目前没有部署好的jenkins可用
2、我们没有单独的测试服务器
为这么一个小东西去申请一台服务器领导肯定也不会批。
那就用自己的电脑吧,尽量轻量化,最好是不装jenkins就能实现,于是想到了windows自带的定时任务:任务计划程序。
(其实也不是一开始就想到这个,最开始想的是直接写个bat批处理文件 ,在里面写上定时任务,但这样的话我就得让bat一直运行着,开着这样一个没什么用处的界面让人很不爽,这个方案就给否了。)
实现步骤如下:
1、写一个批处理文件,自动运行接口测试脚本(用jmeter写的,里面包含了断言)并保存结果:
@echo off
::存放测试结果的目录
md C:\jtl\
md C:\html_report
SET year=%date:~0,4%
SET month=%date:~5,2%
SET day=%date:~8,2%
SET Today=%year%%month%%day%
::执行接口测试脚本并保存结果到本地
jmeter -n -t api_test.jmx -l C:\test\jtl\%Today%.jtl -e -o C:\test\html_report\HTML_Report%Today%
pause
2、配置任务计划
一、打开任务计划程序,新建一个自己的脚本文件夹(用于跟系统的区分开来)
二、右键文件夹,创建基本任务
三、按提示进行操作:输入名称、任务触发器选择每天(根据自己的需求来)
四、设置开始时间:
五、操作选择启动程序
六、启动程序选择第一步创建的批处理程序:
单击【下一步】,点击【完成】,定时任务设置完成。
点击右侧的【运行】可以看下效果。
我遇到过权限问题,提示没权限访问jmeter.log文件,导致运行失败,把“使用最高权限运行”勾选上就可以解决:
未完待续,先吃饭去了。