2016年6月

这篇是安装完成后,进行一个简单的测试环境搭建,主要是方便大家了解大概流程与框架~

首先了解一下测试计划的基本概念♥

gainian1

测试计划是使用JMeter进行测试的起点,它是其他JMeter测试元件的容器。

名词解释:

  • 名称:为当前的测试计划取一个有意义的名字,以便区分于其他计划。
  • 注释对测试计划的注释。
  • 用户定义的变量:用户可以自己定义变量,在用到此变量的时候直接用${变量名}引用即可。

例:变量名=url,值=http://www.jianjiexuan.com,在需要http://www.jianjiex.com时直接用${url}即可。

  • Add directory or jar to classpath:向类路径即%JMETER-HOME%\lib中添加目录及jar包。

1、添加线程组,设置线程组参数

​线程组:代表一定数量的并发用户,它可以用来模拟并发用户发送请求。线程组是为模拟并发负载而设计。

jmeter1

名词解释:

  • 名称:为线程组起的名字,以便区分。
  • 线程数:虚拟用户数。设置发送请求的用户数目,即并发数。
  • Ramp-Up Period(in seconds)线程间的时间间隔,单位为s。即所有线程在多少时间内启动。如有8个线程,Ramp-Up = 4秒,那么线程的启动时间间隔为4/8=0.5秒(一秒启动2个线程),这样的好处是:一开始不会对服务器有太大的负载。如果Ramp-Up = 0秒,表示同时并发请求。
  • 循环次数:每个线程发送请求的次数。如果线程数为20,循环次数为100,那么每个线程发送100次请求。总请求数为20*100=2000。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本。循环次数不能为0,会一直加压导致崩溃。
  • 调度器:可以设置启动时间和结束时间

2、选中线程组右击添加smapler取样器-HTTP请求
jmeter2  

配置请求参数,最基本是填写web服务器ip及端口号、协议以及路径

jmeter3

名词解释:

  • 名称:HTTP请求的名字,本属性用于标识一个取样器,建议使用一个有意义的名称。
  • 注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。
  • 服务器名称或IP:HTTP请求发送的目标服务器名称或IP地址。
  • 端口号:目标服务器的端口号,默认值为80 。
  • 协议:向目标服务器发送HTTP请求时的协议,可以是http或者是https,默认值为http 。
  • 方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。
  • Content encoding:内容的编码方式,默认值为iso8859
  • 路径:目标URL路径(不包括服务器地址和端口)
  • 自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter自动重定向到新的页面。
  • Use keep Alive:当该选项被选中时,jmeter和目标服务器之间使用 Keep-Alive方式进行HTTP通信,默认选中。
  • Use multipart/from-data for HTTP POST:当发送HTTP POST请求时,使用Use multipart/from-data方法发送,默认不选中。
  • 同请求一起发送参数:在请求中发送URL参数,对于带参数的URL,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应RUL中的名称1=值1)。
  • 同请求一起发送文件:在请求中发送文件,通常HTTP文件上传行为可以通过这种方式模拟。
  • 从HTML文件获取所有有内含的资源:当该选项被选中时,jmeter在发出HTTP请求并获得响应的HTML文件内容后,还对该HTML进行Parse并获取HTML中包含的所有资源(图片、flash等),默认不选中,如果用户只希望获取页面中的特定资源,可以在下方的Embedded URLs must match文本框中填入需要下载的特定资源表达式,这样,只有能匹配指定正则表达式的URL指向资源会被下载。(新版中则在Advanced中查看)
  • 用作监视器:此取样器被当成监视器,在Monitor Results Listener中可以直接看到基于该取样器的图形化统计信息。默认为不选中。
  • Save response as MD5 hash:选中该项,在执行时仅记录服务端响应数据的MD5值,而不记录完整的响应数据。在需要进行数据量非常大的测试时,建议选中该项以减少取样器记录响应数据的开销。

3、选中线程组右击添加监听器

添加:一般添加图形结果、聚合报告、用表格察看结果、察看结果树,结果可以保存,.jtl文件可以提供多种格式的编写。

我们可以在右侧点击“Configure”进行一些设置,如图所示,除了默认的,我们一般还选择“Save Field Name,Save Assertion Failure Message”

fenxi1

ps:如果需要保存详细的响应结果,需要选择“Save Response Data(xml)”,然后重新命名为xml格式,用浏览器打开就行

   聚合报告对应名词解释:jmeter4

jmeter中的响应时间都是以ms为单位

4、执行前保存测试计划

5、选择线程组,点击运行

♦Jmeter使用过程中其他注意事项

◊在真正生产环境下尽量不要使用消耗时间与内存的部分组件,如Lisener(监听器)要越少越好。

通常所有web测试都要支持Cookie,一般放在线程组一级,可添加配置元件→HTTP Cookie ManagerHTTP Cookie管理器)

◊为了符合实际情况,http请求中Advanced下面的从HTML文件获取所有内含的资源必须勾选(解析所有的嵌入资源)

♥一些快捷键的使用

〉停止(Ctrl+。):立即停止所有线程,有可能报错。

〉关闭(Ctrl+,):要求线程在当前工作完成后停止,这项操作不会中断任何采样器的工作。(建议使用)

〉关闭(非GUI):shutdown

〉停止(非GUI):stoptestnow

〉清理(Ctrl+e):清理测试结果

〉运行(Ctrl+r):运行测试计划

一、对https进行抓包(Windows-pc端)

1、电脑端安装SSL证书

https_SSL

https_SSL2

2、进行相关配置

 选择SSl Proxying Settings,勾选Enable SSl Proxying,点击Add,输入要抓取的网站的地址及端口(默认是443),如果是抓取任意网站的数据则在host中填写“*”即可

https_SSL3

3、选择Windows Proxy模式

https_SSL4

4、打开浏览器,进行访问即可

二、对https进行抓包(手机端)

→iOS端抓取https

1、完成上述的1、2点

2、连上无线网,在手机上设置代理地址

3、手机端安装证书,使用Safari直接打开下面地址进行安装

  地址:http://www.charlesproxy.com/getssl

  安装好后可在【设置-通用-描述文件】中查看

→Android端抓取https

1、完成上述的1、2点

2、连上无线网,在手机上设置代理地址

3、手机端安装证书,使用安卓自带浏览器直接打开下面地址进行安装

  地址:http://www.charlesproxy.com/getssl

  安装好后可在【设置-安全】中查看

1、【页面/客户端的响应时间】

    响应时间直接影响最终用户的使用体验,从而在很大程度上影响用户忠诚度。是客户发出请求到得到响应的整个过程的时间。

2、【服务器的吞吐量】
    常用的是系统每小时能处理的业务量。例如,最高每小时能接受的网站浏览次数,或者一个电子商务网站每小时能下多少个订单。

3、【最大并发用户数】
    这里的“最大”其实并不是真正的最大,而是在响应时间合理的情况下,能承受的并发用户数。也就是系统最多能承受多少用户同时访问且用户感觉不到页面响应变慢。

4、【能否能稳定的长期运行】
    任何客户都不希望自己的系统动不动就宕机,这会对最终用户造成非常不好的印象,从而给客户的业务带来大的损失。应用服务系统是否能长期稳定运行除了跟服务器的硬件有关系之外,与软件本身也有很大的关系。可利用7*24方式去进行测试。

5、【最大数据规模】
    能保证正常访问的最大容忍数据规模。

6、【服务器后台操作是否会影响前台性能】

7、【什么情况下会导致系统崩溃】

持续更新ing

1、第一次尝试做pizza,海鲜大虾,芝士放好多,很好吃。

2016-03-01 172315

2、抹茶蜜豆卷,配一杯香醇豆浆,甜而不腻,如春风中的甜腻气息萦绕在舌尖。

food