这几天
测试一个项目,上线时间比较紧,人手不够,白天都忙着测试功能了,对于 系统的一堆接口经常要迭代测试, 、并且性能基本没有时间去做,正急得头晕眼花的时候老大给了一个方案:写一些脚本 ,申请一台机器,做个定时任务 晚上去跑,白天来看结果,然后重点人工去测试。想法是不错,可以前没有高过脚本和定时任务,没有办法赶紧去补一下。
问题一:如何写访问接口的脚本,要保证接口正常,就要满足请求的接口是可访问的 ,同时返回的数据是正确的,我的乖乖,接口是否可以访问好弄 使用curl 命令访问接口接口以了。
例子:get接口:
curl "http://api.map.baidu.com/images/blank.gif?product=jsapi&v=2.0&t=66977464&code=5000"
post接口:
curl -d "user=nickwolfe&password=12345" http://www.yahoo.com/login.cgi
返回都是个json串。根据返回的json 来判断 返回结果有没有。但是我又该如何判断返回结果对不对呢?纠结了好久(肚子没有货,都这样),结果大神一个命令给解决了。贴一个脚本看看:
#! /bin/sh ##! 后面哟哟空格 sudo curl "http://===============" >> /home/url.txt #接口url cd /home if [ $((grep "ok" url.txt)| wc -l) -gt 0] then echo "ok" >>result.txt date +%y%m%d%H%M >>result.txt else echo "no" >>result.txt date +%y%m%d%H%M >>result.txt fi echo "end" exit 0 |
下面开始做定时任务:
sudo crontab -e
0 */1 * * * sudo sh /home/test.sh # 每个小时运行一次脚本
保存 退出
sudo /etc/init.d/cron restart #重启 定时任务脚本的配置
sudo tail -f /var/log/cron.log #监控 定时任务日志
好了定时任务搞定 ,这个是搞的一个 接口,多个接口 可以 把 所有的接口访问 url 写成一个文件 然后到文件中读取,再 用curl 去请求。哈哈,100多个接口 不用每个版本都去 看看 接口有没有问题 只需要一次测试没有问题,以后看运行结果就可以了。
版权声明:本文出自 huangzigang 的51Testing软件测试博客:http://www.51testing.com/?498111
原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。