JMeter之获取某页面所有链接并再次请求

  今天主要讲下JMeter逻辑控制器和正则的联合使用,以jmeter获取某页面所有的链接,然后通过这些链接再次发出请求为列。

  首先我们知道,凡是输入一个地址,点击回车,通过F12查看,请求并不止一个,而如果放入jmeter中,如果不加其他设置,那我们测试的结果与实际是不符的。所以我们一般会在高级设置中勾选“从HTML文件获取所有内含的资源”,如图下所示:

当然还是眼见为实,举例,我们只是请求https://www.taobao.com,做基础的请求操作,点击运行,结果只有一条,而如果我勾选,则下方还会获取其他请求,如图所示:

但是,这些还不够!

下面我们一起来实战下,获取一个网页所有的链接并进行再次请求。

1、首先,你要打开jmeter,创建一个线程组,添加一个http请求,我们还是以淘宝为例,输入服务器名称:www.taobao.com,协议输入https,方法为GET请求。

2、在1的http请求下加上后置处理器-正则表达式提取器,关于正则的具体用法可以百度或者谷歌,我这边就直接给结果了,概念性的东西可能以后会单独出篇文章讲解。如图所示:

3、线程组下添加一个逻辑控制器-ForEach控制器(ForEach控制器会循环遍历一系列相关变量),关于逻辑控制器,到时候我会单独开篇文章去讲解,这边主要是实现目的。

 

4、在ForEach控制器下添加一个http请求,填写路径,路径为foreach中填写的输出变量名称,如图所示,注意jmeter元件作用域与执行关系,这个可以看文章:http://blog.jianjiexuan.com/tools/jmeter/213.html

如图所示:

5、添加监听器-察看结果树,保存计划,点击运行,就可以查看淘宝里所有链接的二次请求了。大功告成!

对Web应用进行静态性能的评估

概念:开发Web应用时,基于一系列Web应用页面性能优化的最佳实践对Web应用的页面进行静态分析,被给出评估结果的性能分析方法。即通过分析页面的代码来评估页面的情况

工具:YSlow(雅虎)、PageSpeed(谷歌)

 

以chrom为列

1、打开chrom浏览器

2、打开扩展程序

3、在扩展程序中进行搜索这两款软件,或下载插件导入

4、chrom-工具-打开yslow,点击runtest按钮,就会进行网页的静态性能分析,并给出分数和级别

以Firefox为列

1、打开Firefox浏览器

2、打开扩展程序

3、在扩展程序中进行搜索yslow,或下载插件导入

4、在扩展程序中进行搜索firebug,或下载插件导入

5​、F12-打开firebug-切换到yslow,点击runtest按钮,就会进行网页的静态性能分析,并给出分数和级别

分数和级别的解释

ABCDEF A为最好,依次分数降低 评估标准有23条,解释如下:

1)尽量减少http的请求  Make fewer HTTP requests

2)页面有没有CDN,内容分发网络  Use a Content Delivery Network(CDN)

3)避免空的src和href这样的编码,渲染的时候会有影响  Avoid empty src or href

4)为文件头指定过期标签  Add Expires headers

5)有没有使用gzip对内容进行压缩  Compress components with gzip

6)将css样式表尽量放在页面代码的顶部 Put CSS at top

7)将JS脚本放在底部,这样用户在访问的时候能够尽早的呈现内容 Put JavaScript at bottom

8)使用CSS样式表的时候尽量避免CSS表达式的使用   Avoid CSS expressions

9)使用JS和CSS样式表的时候尽量使用外部文件,这样可以进行缓存  Make JavaScript and CSS external

10)减少DNS的查找次数  Reduce DNS lookups

11)精简JS和CSS样式表  Minify JavaScript and CSS

12)避免URL的跳转  Avoid URL redirects

13)删除重复的JS和CSS脚本  Remove duplicate JavaScript and CSS

14)配置Etags,使用此技术可以提升性能  Configure entity tags(ETags)

15)使AJAX可以缓存,加快响应  Make AJAX cacheable

16)使用GET完成AJAX请求  Use GET for AJAX requests

17)减少DOM元素的数量  Reduce the number of DOM elements

18)避免404错误  Avoid HTTP 404(NOT Found)error

19)减少cookie大小  Reduce cookie size

20)使用没有cookie的域 Use cookie-free domains

21)避免滤镜的使用(低版本IE中会导致大的性能问题)  Avoid AIphaImageLoader filter

22)HTML里面不要使用缩放图片的方式来处理我们的图片  Do not scale images in HTML

23)小图标尽量使它的文件大小变小,而且文件是可以缓存的 Make favicon small and cacheable

PageSpeed与YSlow的功能差不多,通过这样的静态分析,我们可以知道web应用的基本性能情况。Goodbye~~