对比接口测试工具在自动化测试优缺点:Jmeter、Python、Postman

一、JMeter

总结:适合对代码不敏感的使用人员,不会代码也可以完成接口自动化,设计框架。适合紧急迭代的项目。

JMeter接口测试的优势

  • 小巧轻量级,并且开源免费,社区接受度高,比较容易入门
  • 支持多协议,并提供了比较高级的扩展能力,允许自己定义和扩展新的协议支持,比如扩展支持阿里提供的Dubbo协议的JMeter插件等
  • 学习者不需要会代码,不需要编程,熟悉http请求,熟悉业务流程,就可以根据页面中input对象来编写测试用例;
  • Jmeter 自带 20 种控制器、40+ 种函数、20+ 种配置元件,可以满足 99% 的项目接口自动化需求;
  • 可以集成不同的应用,数据库,redis,mock,dubbo、jar 包二次开发等都不在话下;
  • 可以根据喜好(项目特性)自由组合(适合项目的)测试框架;
  • 实在满足不了的,可以用 beanshell 编程,可以写出比较灵活的测试脚本;
  • 因为 Jmeter 自带组件、函数,所以编写接口性能脚本特别高效、快捷。
  • JMeter社区比较完善,提供了比较丰富的协议支持。比如除了支持常见的HTTP协议之外,还可以直接通过JDBC Sampler连接数据库,把期望的测试结果存入数据库中,直接对测试结果进行验证。在编写测试脚本过程中,可以将不同的协议调用使用同一个脚本进行组合调用,写出比较复杂的测试用例。
  • JMeter提供了html测试报告和Jenkins集成的能力,比较方便地实现一些基础的持续测试。
  • 不依赖于界面,如果服务正常启动,传递参数明确就可以添加测试用例,执行测试
  • 测试脚本维护方便,可以将测试脚本复制,并且可以将某一部分单独保存。
  • 可以跳过页面限制,向后台程序添加非法数据,这样可以测试后台程序的健壮性。
  • 利用badboy录制测试脚本,可以快速的形成测试脚本
  • Jmeter断言可以验证代码中是否有需要得到的值
  • 使用参数化以及Jmeter提供的函数功能,可以快速完成测试数据的添加修改等

JMeter接口测试的不足

  • 脚本的灵活性。虽然JMeter提供了一定的BeanShell编程能力和自定义协议的扩展能力,可以让脚本开发人员有一定的灵活性,受制于JMeter本身的限制,与开发人员直接使用语言进行接口测试相比,灵活性还是相对不足。
  • 报告的能力。JMeter提供了HTML报告,但是JMeter本身的测试报告主要用于性能测试,反映的更多是性能测试层面的结果。而且配置过程比较复杂,在团队成员分享报告等方面比较麻烦。
  • 持续集成。利用第三方的Jenkins插件、Ant和Maven等,能与JMeter进行一些基本的持续测试集成,但是对于完全自动化所需的测试环境的管理等功能支持不足,配置过程略嫌麻烦。
  • 测试脚本和测试结果的管理:脚本和结果基本都是本地管理,无法做到在线管理。
  • 不支持前端测试, 使用Jmeter无法验证JS程序,也无法验证页面,所以需要手工去验证。
  • Jmeter的断言功能不是很强大
  • 就算是jmeter脚本顺利执行,依旧无法确定程序是否正确执行,有时候需要进入程序查看,或者查看Jmeter的响应数据。
  • Jmeter脚本的维护需要保存为本地文件,而每个脚本文件只能保存一个测试用例,不利于脚本的维护。
  • 调试不方便,不容易从结果提示错误中快速定位到错误点具体位置,例如一次测试几百个接口,如果有几个接口出现了问题,还得一个一个去翻查找
  • 在接口自动化测试中,较难给测试接口快速提供可测试环境,或者说较难提供自己想要的测试环境
  • 使用过程中单位不规范(有时候单位秒、分)

二、Python 接口自动化

由于 Python 的语言特性,如果对代码不敏感的,就不建议了。如果想学好 Python,先学接口自动化是个不错的选择。

总结:想学 Python,从接口自动化或界面自动化入手。学会 Python 自动化的里程碑是要会设计框架。不适合紧急迭代的项目。

特点

  • Python 做接口自动化有自带的框架,如 Pytest、Unittest 等;
  • 学会了 Python 接口自动化,再学 UI 自动化就很容易上手,原理相同;
  • Python 接口自动化难点在于测试框架,需要自己封装,否则没有创新点;
  • Python 的框架可以自由设计,函数可以自己封装,相对灵活,可扩展性较强;
  • Python 写接口自动化脚本需要时间,不适合紧急迭代的项目。

三、postman

postman只做一件事:网页调试与发送网页HTTP请求,所以它天然是一款做API自动化测试工具,而且公司的很多研发(无论前端还是后端)都喜欢用postman来进行调试工作。

用postman进行接口测试的大致思路就是以创建集合(Collections)的方式来对接口进行分类,然后对接口再进行细分,一个接口的一种参数组合情况写一个请求

如果是有关联的接口,可以利用环境变量对其进行参数化,灵活运用Pre-request-Script标签和Tests标签,即可应对大部分接口测试需求,因为postman本身是基于JavaScript编写的,所以你可以编写js脚本来定制请求(即使是生成时间戳或者MD5 加密签名)

总结:工具封装的很好,网页调试利器,单个调接口十分方便;对于没有代码基础的人来说,新手可以很快熟悉postman的基础使用方法,学习成本低;并且学会进阶使用方法后可以应对公司的大部分的接口测试需求。

推荐Python自动化测试的UP主

软件测试黄胖子:https://space.bilibili.com/3493292643715463

软件测试面试官黄财财:https://space.bilibili.com/470917824

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容