最近在研究 gatling 进行性能测试,由于英语不好,网上文档又少,着实踩了不少坑,现在记录下整个流程。
gatling 相比 jmeter 能更好的支持高并发,我的本地环境是由 gatling+scala+intellij 组成,当时搭建环境也费了不少时间。阿弥陀佛总算是搭建成功了。gatling 脚本主要由三部分组成,网上最多的也是这部分的资料,就不过多讲解了。
最开始一直卡在 cookie 那一块,结果都不是问题。gatling 会自动应用 cookie,也就是说主要你登录了之后,其他后续的脚本执行的时候会自动带上 cookie,不用人为再去获取 cookie 塞进去。当时不知道,直到看到官方文档中的一句话才知道原来是这样,这个坑耽误了很多时间。
还有一个就是分层的思想,和 ui 自动化的 po 模式类似。把一些公用的方法单独抽出来写成 object class,再由其他脚本调用

像我图片上显示的,我就是把 headers 请求头的内容和登录的内容单独抽出来,其中还有通过正则表达式取到 id 给其他脚本用的脚本也单独抽出来写成了 object class,然后要执行的测试脚本中直接引用这些公用的模块,执行用例,省了很多重复编写的代码,易于理解。
如下图片就是调用一个接口并且引用那个接口返回的 id,入参。
折腾了那么多天,总算能实现接口间的调用和不同用户的并发了,下一步接近用 maven 运行所有用例的问题,有问题再记录


↙↙↙阅读原文可查看相关链接,并与作者交流