【云桌面】性能测试--过程中遇到的问题总结_云桌面服务器性能测试报告

98 阅读5分钟

img img img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

开源项目:docs.qq.com/doc/DSlVlZExWQ0FRSE9H

性能测试任务是云桌面性能压测,接到需求后首先对云桌面的部署架构及要压测的业务场景做了初步的了解,根据架构和业务场景的复杂度好去评估测试计划中各个阶段所需要的时间。初步了解之后发现云桌面的系统架构及要压测的业务场景并不复杂,排了一个测试计划后开始按计划实施,然而整个测试过程中发现并没我想的那么“单纯”,还是遇到了很多问题,和大家分享交流下。

这个问题是我在脚本开发过程中遇到的,发现Jmeter在录制脚本过程中一直有一个请求在不停的发送,比如登录系统后加载首页,打开首页的这个事务控制器下除了录制到加载首页的接口之外发现包含该路径/icdp/smc/listNotifySchedu的接口在不停的录制,这就导致我每次录制一个场景的脚本之后,还要去一一删选我需要的接口,很浪费时间。通过该接口的返回数据,也看不出这个接口的作用,和开发沟通后了解到这个接口只是我们对接第三方业务系统的一个消息推送的接口,不需要压测,在脚本调试和压测过程中都可以把这个接口屏蔽掉。那么问题就来了,jmeter录制脚本过程中如何过滤包含某个指定路径的接口请求?我之前录制脚本只知道怎么去屏蔽css、js、gif、png等静态资源加载,但如何过滤具体的接口路径,还是第一次遇到,在网上百度了Jmeter的排除模式,也都是静态文件的过滤,还是没有方法,最后在飞测群里问了大佬,才学习到解决方法---正则表达式。

设置排除模式之前,包含/listNotifySchedu的请求在不停的发送

     用正则表达式在Jmeter的排除模式中设置过滤该路径/listNotifySchedu的请求后,就可以正常按业务场景录制脚本了。

 

问题二、Jmeter中的正则表达式如何提取参数匹配到的所有值?

    这个问题可能很简单,很多同学网上一百度Jmeter的正则表达式就会了解到匹配数字的含义:0代表随机取值,1代表取匹配到的第一个值,-1代表取所有值。真正实际应用场景中我们用的最多的可能都是0或1的场景,什么情况下才会用到-1的情况呢,以及如何去应用取到的所有值,和大家分享下。

业务场景:在云桌面首页点击应用管理菜单,进入应用商店页,在加载应用商店页面资源的过程中会加载应用商店页面首页的所有应用标识,一个接口返回一个应用标识,每一个应用的应用标识是和它的应用id所关联的,那么我就要取到每一个应用的应用id,首页一共有20个应用,就要取到首页所有应用的应用id。

操作步骤:

1、在获取应用id的请求下面添加正则表达式提取器,提取应用id

 

2、添加Debug Sampler,运行脚本之后可以在察看结果树中看到marketapp_id取到的所有值。

3、一个接口返回一个应用标识,每一个应用的应用标识是和它的应用id所关联的,将取到的marketapp_id的参数按顺序传到相应的接口参数中去。

 

img img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

了解详情》docs.qq.com/doc/DSlVlZExWQ0FRSE9H