大数跨境

十、网络测试计划创建实战教程(详解教程二)

十、网络测试计划创建实战教程(详解教程二) 慧测
2021-08-23
2
导读:关注性能小课,成长不止一点点1、简介 前一篇我们介绍在免登陆情况下,网络测试计划创建实战,今天我们来介绍在需

关注性能小课,成长不止一点点



1、简介

前一篇我们介绍在免登陆情况下,网络测试计划创建实战,今天我们来介绍在需要登录情况下网络测试计划创建实战教程。

2、网络测试计划创建实战

2.1 需要登录

在cnblogs网站中,如果要对正在浏览的文章执行发布随笔、评论、点推荐等等一系列操作,则需要用户登录验证身份以后,才能执行。本节中,为提高此种场景的模拟效率,特将与需要登录相关的讲解示例,改为以在虚拟机中搭建的的名为Jenkins的Web应用程序来进行,具体的测试操作为“删除一个job”(在Jenkins中,job必须在登录状态下才能删除,如果在非登录状态下执行job删除操作,则会删除失败)。

2.1.1 抓包

2.1.1.1 登录Jenkins

1、在浏览器地址栏中输入Jenkins的地址,然后分别在用户名和密码框中输入账号、密码,点击登录按钮,对Jenkins执行登录操作。如下图所示:

2、借助fiddler抓包工具抓取前一步骤中登录Jenkins的整个过程。从下图红框标注的部分可以看到所抓取到的登录的URL以及发出的登录请求所带的参数。如下图所示:

2.1.1.2 删除

1、继前一节中所执行的登录Jenkins操作后,再在Jenkins中执行一个新建job的操作,并为job起名为test。如下图所示:

2、将前一步骤中新建的job删除。如下图所示:

3、借助fiddler抓包工具抓取前一步骤中删除job的整个过程。从所抓取到的结果中可以看出,传的data参数是Jenkins-Crumb。如下图所示:

4、此时,需要分析Jenkins-Crumb从何而来。因此,要去到上个请求的body中去看个究竟。如下图所示:

2.1.2 通过JMeter模拟登录Jenkins

按照抓包抓取到的参数,接下来用JMeter模拟登录Jenkins。

1、建立一个测试计划命名为:Test Jenkins Plan。如下图所示:

2、选中测试计划,添加线程组用户,命名为:Jenkins User。如下图所示:

小提示:● 本讲解举例为模拟一个用户登录一次,如果要模拟压测,可以设置多个用户同时登录。

3、选中线程组,添加一个HTTP Header Manager(HTTP信息头管理器)。添加该元件的目的是为了避免JMeter发送请求后,返回结果可能会出现状态码为403的错误。如下图所示:

小提示:● 本示例中的HTTP信息头管理器,用以添加User-Agent和Content-Type参数。该参数可根据fiddler抓包工具所抓取到的header来填写。

4、选中线程组,添加一个HTTP Request Defaults(HTTP请求默认值管理器)。该元件用来发送http默认请求值,其中,在Sever Name or IP参数对应的文本框中填写Jenkins的地址。使用该元件的好处是后续每新增加一条http请求,都不再需要重复填写被测网站的地址了。如下图所示:

小提示:● 在虚拟机中所搭建的Jenkins Web应用程序,对应的请求值分别填写如下:

  • (1)Protocol(协议:http or https):目前这个是在虚拟机中搭建的http协议,所以这里填写Protocol:http
  • (2)测试地址为:在虚拟机中搭建的,Sever Name or IP:192.168.164.129
  • (3)Port:9090(所搭建测试地址的默认端口为9090,该端口可以在Tomcat的配置文件中进行修改)

5、选中线程组,添加一个HTTP Request元件,将其重命名为:Login。如下图所示:

小提示:● 在虚拟机中所搭建的Jenkins Web应用程序,其Login(登录)的请求值通过查看抓到的登录请求包(2.2.1.1)可知,故此处相关请求值分别填写如下:

  • (1)Protocol(协议:http or https):目前这个是在虚拟机中搭建的http协议,所以这里填写Protocol:http
  • (2)测试地址为:在虚拟机中搭建的,Sever Name or IP:192.168.164.129
  • (3)Port:9090(所搭建测试地址的默认端口为9090,该端口可以在Tomcat的配置文件中进行修改)
  • (4)Method:是哪种类型的请求,就选择哪种,此处根据实际情况选择POST
  • (5)Path:登录的请求路径
  • (6)Content Encoding:在本讲解示例中,编码没有填写,如果出现乱码,可通过填写utf-8和Gb2312来尝试解决。

6、选中线程组,添加一个Cookie管理器,用来管理登录后的cookie。如下图所示:

小提示:● cookie添加值,通过查看抓到的登录请求包可知,故此处添加值分别填写如下:

  • (1)Name:JSESSIONID.a45b9031
  • (2)Value:一串数字和字母
  • (3)Domain:192.168.164.129

7、选中线程组,添加一个查看结果树,将其重命名为:Check Login Results,用以监听登录是否成功。如下图所示:

8、选中线程组,添加一个HTTP Request元件,将其重命名为:Delete Item。如下图所示:

小提示:● 在虚拟机中所搭建的Jenkins Web应用程序,其Delete(删除job)的请求值通过查看抓到的删除请求包(2.2.1.2)可知,故此处相关请求值分别填写如下:

  • (1)Protocol(协议:http or https):目前这个是在虚拟机中搭建的的http协议,所以这里填写Protocol:http
  • (2)测试地址为:在虚拟机中搭建的,Sever Name or IP:192.168.164.129
  • (3)Port:9090(所搭建测试地址的默认端口为9090,该端口可以在Tomcat的配置文件中进行修改)
  • (4)Method:是哪种类型的请求,就选择哪种,此处根据实际情况选择POST
  • (5)Path:删除的请求路径
  • (6)Content Encoding:在本讲解示例中,编码没有填写,如果出现乱码,可通过填写utf-8和Gb2312来尝试解决。

9、选中线程组,再添加一个结果树,将其重命名为:Check Delete Results,用以监听删除job请求是否成功。如下图所示:

2.3运行测试计划查看运行结果

2.3.1 运行免登录的测试计划

1、点击绿色的按钮,运行测试计划,如下图所示:

 2、查看测试计划的运行结果,当每个请求的监听结果都是绿色的,说明浏览文章请求成功。如下图所示:

3、如果从如下截图的红框标注内容中,看到博文的内容,则更说明浏览文章请求成功。如下图所示:

2.3.2 运行需要登录的测试计划

1、Jenkins的新建任务里有“test”,如下图所示:

2、点击绿色的按钮,运行测试计划,如下图所示:

3、查看运行结果,如果两个请求的监听结果都是绿色的,说明请求成功。

4、回到Jenkins中,查看新建任务,如果没有看到“test”,也能说明删除已成功,如下图所示:


END


免费技术支持微信:15712862196

咨询QQ:2657535456

咨询微信号:huice666

慧测公众号


【声明】内容源于网络
0
0
慧测
专注人工智能前沿技术落地企业实战应用
内容 404
粉丝 0
慧测 专注人工智能前沿技术落地企业实战应用
总阅读104
粉丝0
内容404