XMeter接口测试服务发布

概览

众所周知JMeter是一个优秀的开源性能测试工具,在社区中有相当的影响力,社区中除了拿JMeter做性能测试之外,也采用JMeter来做接口测试(或者说API测试),2018年由软件质量报道做的调查报告表明,受调查的测试人员中约有40.67%的人使用JMeter作为接口测试的自动化测试工具(排在商业化或者开源工具中的第一),剩下的为Postman(28%),以及SoapUI(17.33%)。不过值得关注的是另外还有44.13%的采用了自研工具,说明可能现有的开源工具不能满足需求,更多的采用了自己研发的方式。

JMeter接口测试方案的优势

在XMeter君看来,使用JMeter执行接口测试可能有如下的优势:

1)JMeter比较轻量级,并且开源,社区接受度高,比较容易入门

2)JMeter提供了BeanShell编程能力,可以写出比较灵活的测试脚本

3)JMeter的社区比较完善,提供了比较丰富的协议支持。比如除了支持常见的HTTP协议之外,还可以直接通过JDBC Sampler连接数据库,把期望的测试结果存入数据库中,直接对测试结果进行验证。在编写测试脚本过程中,可以将不同的协议调用使用同一个脚本进行组合调用,写出比较复杂的测试用例

4)JMeter提供了比较高级的扩展能力,允许自己定义和扩展新的协议支持,比如扩展支持阿里提供的Dubbo协议的JMeter插件等

5)JMeter提供了HTML测试报告和Jenkins集成的能力,比较方便地实现一些基础的持续测试

JMeter接口测试方案的劣势

JMeter作为接口测试方案大概有以下的一些问题:

1)脚本的灵活性。虽然JMeter提供了一定的BeanShell编程能力和自定义协议的扩展能力,可以让脚本开发人员有一定的灵活性,受制于JMeter本身的限制,与开发人员直接使用语言进行接口测试相比,灵活性还是相对不足

2)报告的能力。JMeter提供了HTML报告,但是JMeter本身的测试报告主要用于性能测试,反映的更多是性能测试层面的结果。而且配置过程比较复杂,在团队成员分享报告等方面比较麻烦

3)持续集成。利用第三方的Jenkins插件、Ant和Maven等,能与JMeter进行一些基本的持续测试集成,但是对于完全自动化所需的测试环境的管理等功能支持不足,配置过程略嫌麻烦

4)测试脚本和测试结果的管理:脚本和结果基本都是本地管理,无法做到在线管理

优化的JMeter接口测试方案

理想的基于JMeter的接口测试方案能够弥补上述劣势,包括需要从团队和工具的层面补上短板。

JMeter脚本的灵活性不足的问题可以通过团队成员的合理搭配来解决。JMeter提供了较为完善的扩展机制,通过扩展可以支持不同的协议和函数,这些扩展处理的插件和函数能让编写测试脚本变得更加简单。JMeter的扩展需要对Java比较了解,并且掌握JMeter的扩展机制。JMeter的扩展开发是一次性的,在完成插件的开发之后,由脚本编写人员基于扩展的插件和函数进行脚本编写,从而快速完成接口测试。因此比较好的团队搭配为:

1)一个、或者多个了解JMeter扩展的测试开发人员,主要负责相关扩展功能的实现,以及报告的定义和持续集成相关的一些开发工作

2)JMeter测试脚本编写人员,主要负责基于JMeter内置和自定义扩展插件的脚本开发,如果发现有时候脚本开发过程中不方便的地方,提交开发需求由测试开发人员对JMeter进行扩展实现

该方案剩下的所需的测试报告、持续测试集成、测试脚本和结果的管理需要额外的一些定制工作后才能够满足需求。

XMeter API: 一站式JMeter接口测试SaaS服务

XMeter API提供了基于JMeter的一站式在线接口测试服务,包括了以下的服务:

1)优化的在线测试报告:如下图为在线的测试请求、返回结果查看,跟踪和预览

图形化的测试报告,报告可以随时共享给团队中别的成员。


2)持续测试的能力,XMeter API是在线运行的SaaS服务,客户避免管理测试机器和环境,只需要把测试脚本上传之后就可以直接运行。另外也提供了Rest接口,通过一个简单的HTTP Rest调用就能实现脚本上传、测试运行等功能

3)XMeter API提供了在线测试脚本和测试结果管理的能力,可以把测试脚本进行集中管理。测试结果的集中在线管理可以让测试人员随时追踪、溯源测试结果

XMeter API在线免费使用

XMeter API测试的在线试用版本已经发布,现在可以免费注册使用,有兴趣的可以点击该链接注册后进行免费使用。

参考文章

在TesterHome有不少不错的文章描述了如何使用JMeter来执行接口测试,下面是XMeter君找的几篇文章,供大家参考。

1)自动化测试与持续集成方案--Jmeter 测试接口及性能:介绍了如何使用JMeter实现基本的接口测试,并且利用Ant、Maven和Jenkins实现持续集成的测试

2)使用 Jmeter 做 Web 接口测试:介绍了接口测试的一些基本概念,以及测试流程,以及在利用JMeter进行接口测试的时候可能会用到的一些组件(包括BeanShell,CSV配置等),文章还提到了如何使用JMeter提供的JDBC Sampler进行数据库的存取,最后也提到了如何利用Jenkins实现持续测试

3)对 Jenkins+ANT+Jmeter 接口测试的实践:本文更多着墨于如何读取接口测试过程中需要使用到的数据文件的处理,以及在持续集成过程中测试报告的生成

4)接口自动化测试方案一 (数据驱动版本)jmeter 接口自动化测试方案二 (报告优化) 增加 git 路径是京东的同事写的文章,介绍了京东在使用JMeter做接口测试的时候如何利用JDBC Sampler来对API测试的结果验证进行,并且花了比较大的篇幅介绍如何定制测试报告。

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