7.七大技术流程

七大技术流程

目录七大技术流程

目录

七大技术流程… 1

1接口测试(Postman) 2

2接口压测(jmeter)… 9

3抓包测试(burpsuite)… 18

4.APP抓包与弱网和服务器压力测试(Charles)… 25

5.安卓监测(Emmagee)… 34

6压力测试(ab)… 36

7.性能测试(Loadrunner)… 39

1接口测试(Postman)

1.进入首页,导航栏左边是历史记录,每次的测试都会在这里留下历史记录,方便再次使用或者回看。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w4suPjrq-1594000098612)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg)]

2.导航栏右侧为保存历史的集合,可以新建集合,将做过的接口测试记录保存到集合中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KYo4Y2Ut-1594000098617)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg)]

3.根据接口文档输入请求信息。

从接口文档里的获取Header头信息,请求方式、地址、参数名字、参数值。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KRidJN5O-1594000098619)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg)]

Get请求方式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZtVvioBj-1594000098622)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg)]

Post请求方式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i1EBwgpO-1594000098624)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg)]

  1. 编写断言进行实际结果与预期结果进行对比。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V8Tms9HI-1594000098626)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg)]

5.保存在测试集中。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yDDTT0JP-1594000098628)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg)]

6.保存完毕后可以继续编写新的测试脚本,也可以发送请求,进行调试。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R8E75rfr-1594000098630)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image016.jpg)]

7.举例子:

1.Get方式:

接口地址:

http://www.weather.com.cn/data/sk/101010100.html

请求方式:get

无参数值

正确返回状态 北京 东南风 其他的返回状态为错

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-acXZTIzz-1594000098632)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg)]

http://www.weather.com.cn/data/cityinfo/101010100.html

请求方式:get

请求参数:key:id value:1(随便输入数)

正确返回状态 北京 多云转阴 其他的返回状态位错

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-alT1X1TK-1594000098634)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image020.jpg)]

接口地址:

https://preview.mypsy365.com/api/course_set

请求方式:get

需要添加头信息Headers key: Accept Value: application/vnd.edusoho.v2+json

正确返回状态 data 其他的data1 data2则为错误

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ARcmTYM8-1594000098635)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image022.jpg)]

Post请求方式:

接口地址:www.mypsy365.com/login_check

请求方式:post

参数值key:username value:18610737657

参数值key:password value: 111111

返回状态:登录成功 错误状态:错误提示 天天心理网 (本项目已经不做了 未维护)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UtZfDCDR-1594000098637)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image024.jpg)]

请求地址 http://www.ada56.com/slogin/commit

请求方式 POST

请求参数 :key:username Value: 18610737657

​ key:password Value:111111

​ key:deviceId Value:38fbf0c3-63fe-4df5-8855-4f3d9d9ce8a9

服务器返回状态:200

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MCphk4uy-1594000098642)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image026.jpg)]

2接口压测(jmeter)

  1. 进入首页,添加线程组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RTFidT09-1594000098644)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image028.jpg)]

2.修改线程组名称、线程数、完成时间、循环次数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K7oYj59Q-1594000098646)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image030.jpg)]

3.添加Http请求

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UNA8GSLK-1594000098647)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image032.jpg)]

4.添加http请求参数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lRicCcNB-1594000098648)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image034.jpg)]

5.添加Http信息头管理器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-phtdpaov-1594000098649)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image036.jpg)]

6.编写头信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BCkiD2Pd-1594000098653)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image038.jpg)]

7.添加结果树和聚合报告

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5gl9hvhp-1594000098655)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image040.jpg)]

8.添加响应断言

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kMQTjqOk-1594000098657)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image042.jpg)]

9.添加断言结果和图形结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G1TzCTtb-1594000098658)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image044.jpg)]

10.要实现接口自动化需要添加正则表达式提取器,将获取下个http请求需要的参数。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PETXlD2V-1594000098660)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image046.jpg)]

11正则表达式提取式子内容填写

a. 关于正则表达式

():括起来的部分就是要提取的。
.:匹配除换行外的任何字符串。
+:代表+号前面的字符必须至少出现一次(一次或多次)。
?:代表?前面的字符最多可以出现一次,在找到第一个匹配项后停止(0次或1次)。
*:代表 *号前面的字符可以不出现,也可以出现一次或者多次(0次、1次或者多次)
(.*):贪婪模式,匹配尽可能多的字符
(.*?)或(.+?):匹配尽可能少的字符,一旦匹配到第一个就不往下走了。

b. 关于模板

若想提取多个值的话,比如是a和b这两个值,则可以写成: 1 1 1 2 2 2。无论要提取多少个值,引用名称就是一个的,比如名称为id, i d g o : 获 取 整 个 字 符 串 a b , {id_go}:获取整个字符串ab, idgo:ab{id_g1}:获取的是a,${id_g2}:获取的是b。
 下面有一个具体的实例,如下图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y2noiQco-1594000098661)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image048.jpg)]

12.新建下一个http请求 将从上个http请求中根据正则表达式提取器引用的值作为参数传入这个http请求。后续的过程和上面一样。

13所有接口用例都写好之后添加全局的查看结果树、聚合报告

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6SBv9kkc-1594000098662)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image050.jpg)]

14.举例子;

布卡项目登录接口

请求地址 http://a.buka.tv/buka/api/user/login.do

请求方式 post

请求参数(需要在jmeter的bodydata里添加参数(直接复制以下))

{“user_phone_num”:“18210033224”,“user_password”:“111111”,“user_device”:“b9a0c082-e133-f0d5-e7d1-aff61f8e2cf8”}

请求头信息

名称 Referer 值 http://u.buka.tv/

​ Accept-Language zh-CN,zh;q=0.8

​ Origin http://u.buka.tv

​ Content-Type application/json;charset=UTF-8

​ Accept-Encoding gzip, deflate

​ Accept application/json, text/plain, /

服务器返回状态:“flag_password”:1,

“user_area_id”:0,

"connect_email

布卡项目搜索接口

请求地址http://a.buka.tv/buka/api/usercenterauth/userstate.do

请求方式 post

请求参数(需要在jmeter的bodydata里添加参数(直接复制))

{“user_token”:“1234”,“user_device”:“b9a0c082-e133-f0d5-e7d1-aff61f8e2cf8”}

请求头信息

名称 Referer 值 http://u.buka.tv/

​ Accept-Language zh-CN,zh;q=0.8

​ Origin http://u.buka.tv

​ Content-Type application/json;charset=UTF-8

​ Accept-Encoding gzip, deflate

​ Accept application/json, text/plain, /

服务器返回状态: “data”:2

在做接口自动化的时候可利用7 8接口进行测试,需要关联正则表达式。

在做自动化的时候搜索接口会报错误用户身份验证失败,需要在登录接口添加正则表达式,搜索接口的1234参数改为${token}实时传递动态值。

结果树:

正确通过的为绿色打勾

请求:显示请求的接口数据

响应数据:显示接口文档的数据和是否正确的提示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mmHxCz2h-1594000098665)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image052.jpg)]

有错误的为红色叹号,相应的问题会在响应结果中显示出来

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gAUbbxvr-1594000098666)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image054.jpg)]

聚合报告:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qsvUyOHV-1594000098667)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image056.jpg)]

  1. Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
  2. #Samples:请求数——表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
  3. Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,以Transaction 为单位显示平均响应时间
  4. Median:中位数,也就是 50% 用户的响应时间
  5. 90% Line:90% 用户的响应时间
  6. Min:最小响应时间
  7. Max:最大响应时间
  8. Error%:错误率——错误请求数/请求总数
  9. Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
  10. KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

一般而言,性能测试中我们需要重点关注的数据有: #Samples 请求数,Average 平均响应时间,Min 最小响应时间,Max 最大响应时间,Error% 错误率及Throughput 吞吐量。

断言结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PHkvOJ2D-1594000098669)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image058.jpg)]

图形结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cC2Qrrh4-1594000098670)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image060.jpg)]

3抓包测试(burpsuite)

  1. 首页进入代理Ip、端口设置。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yDAxVROM-1594000098672)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image062.jpg)]

  1. 编辑端口、ip(使用不被占用的端口号)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MFp7gudk-1594000098673)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image064.jpg)]

  1. 设置被测试手机的无线 使用手动代理功能 使手机和电脑处于同一ip、和端口

苹果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GX2euj3g-1594000098674)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image066.png)]

安卓:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pEY0BdEd-1594000098676)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image068.jpg)]

4.设置完成后操作手机qq,一会儿会抓取到数据
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ztZN97SC-1594000098677)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image070.jpg)]

  1. 每次捕获到数据需要点击一下Forward,因为你浏览器发起的请求被拦截,现在处于拦截状态,需要点击Forward继续本次请求。

a. Raw 这个视图主要显示web请求的raw格式,包含请求地址,http协议版本, 主机头,浏览器信息,accept可接受的内容类型,字符集,编码方式,cookies等,可以手动修改这些内容,然后在点击forward进行渗透测试

b. params 这个视图主要是显示客户端请求的参数信息,get或者post的参数,cookies参数,也可以修改

c.headers是头部信息和Raw其实差不多,展示更直观

d.Hex 这个试图显示Raw的二进制内容
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eZkml67o-1594000098678)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image072.jpg)]

  1. 查看协议详情。

Host:域名

Method:请求方式

URl:地址

Params:参数

Edited:编辑

Status:状态码

Length:请求长度
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EPXnMoV1-1594000098680)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image074.jpg)]

点击域名,查看详细信息,主要看header。

Get请求方式:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nu9H7jwJ-1594000098681)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image076.jpg)]
Request:

get-地址+协议版本

host-域名
system-系统
accept-接受请求内容
accept-language-可接收语言
platformld-操作平台
Accept-encoding-是否支持压缩
deviceToken-获取测试设备
deviceld-设备编号
user-agent-用户代理
connection-请求成功关闭
netType-不用管
channelld-不用管
model-型号 版本
carrier-不用管

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bAXA4Sdj-1594000098683)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image078.jpg)]
response

http/1.1-状态码

server-使用的什么服务器
date-日期
content-Type-返回的请求类型
connection-请求成功关闭
cache-control-缓存控制
content-length-请求内容长度
x-dowered-by-什么语言写的

状态码:

1**信息,服务器收到请求,需要请求者继续执行操作
2**成功,操作被成功接收并处理
3**重定向,需要进一步的操作以完成请求
4**客户端错误,请求包含语法错误或无法完成请求
5**服务器错误,服务器在处理请求的过程中发生了错误

常用的状态码:

· 200 - 请求成功

· 301 - 资源(网页等)被永久转移到其它URL

· 404 - 请求的资源(网页等)不存在

· 500 - 内部服务器错误

Post请求方式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FMl47WeJ-1594000098684)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image080.jpg)]

Request:

post-地址+协议版本

host-域名
content-type-请求内容类型
content-length-请求内容长度
accept-接收内容类型
content-encoding-是否支持压缩
accept-language-可接收的语言
user-agent-用户代理
connection-请求成功关闭
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NMIv7xkk-1594000098686)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image082.jpg)]
response:

http/1.1=协议版本
content-length-请求内容长度

4.APP抓包与弱网和服务器压力测试(Charles)

1.进入首页设置代理端口号

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lrFIK7xw-1594000098688)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image084.jpg)]

  1. 设置端口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nGVfDvN1-1594000098689)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image086.jpg)]

  1. 设置手机代理ip和端口号(和burpsuite设置方法一样)

  2. 手机端抓包https

上述1、2只针对http请求。由于https协议的特殊性,所以要求电脑端和手机端都需要安装下证书,否则会看到返回的数据都是乱码。

a. 电脑端证书下载

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nak3FJN8-1594000098690)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image088.jpg)]

b. 手机端证书下载

在设备上打开这个网址 http://www.charlesproxy.com/getssl 安装 Charles SSL 证书。

注意,同一个手机对应不同电脑上的Charles都要分别下载证书进行认证,因为手机的证书是和电脑端的Charles一一配对的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ybxgFxp4-1594000098692)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image090.jpg)]

  1. 选择Proxy | Proxy Settings,弹出proxy设置选项卡,勾选Enable SSL Proxying,在Location部份选择add,按如下图添加,抓取任意站点、443端口的数据。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qbuf58Z7-1594000098693)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image092.jpg)]
    6.开始/关闭捕获
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d8e8QJFZ-1594000098695)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image094.jpg)]

7.在手机上操作app,抓取的数据会出现在左侧

8.点击可以查看详细信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FL2280Fk-1594000098696)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image096.jpg)]

请求总览–请求头—响应结果—请求详情(,包含加载时间等)–时间线图表–加注释
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l7gZcpbb-1594000098697)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image098.jpg)]
Overview:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tetg8oVd-1594000098699)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image100.jpg)]

URL——请求url的路径、文件和查询字符串

Status——状态是否已完成

Response Code——响应状态码

Protocol——该seesion使用的协议(Http/https/ftp)

SSL——协议版本号

Method——该seesion使用的方法(get/post/put等)

Content-Type——响应内容类型

Timing

Request Start Time——接收到的第一个请求的第一个字节的时间点

Request End Time——发送到客户端的最后一个响应的最后一个字节的时间

Response Start Time——响应开始时间

Response End Time——响应结束时间

Duration——整个请求—响应持续时间

DNS——所有选中的session解析DNS所花费的时间的总和

Connect——所有选中session建立TCP/IP连接所花费的时间总和

Request——请求耗费时间

Response——响应耗费时间

Size

Request Header——请求头大小

Response Header——响应头大小

Request –请求大小

Response -响应大小

Total——请求头+响应头+请求+响应字节大小

Request:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4dI89mum-1594000098700)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image102.jpg)]

Get:地址。

Host:域名。

Accept:接收类型。

User-Agent:用户代理。

Accept-Language:接受语言类型。

Accept-Encoding:是否可压缩

AppID:该COM组件所在进程的AppID值。

channel:渠道包来源

Contextuuid:设备唯一标识

Response:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1fPcYbpI-1594000098701)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image104.jpg)]

Summary:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2U90gf8I-1594000098703)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image106.jpg)]

时间线图表:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wJjglDre-1594000098705)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image108.jpg)]

  1. 更改网络环境,进行不同网络测试。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qf1hv133-1594000098707)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image110.jpg)]

10.服务器压测。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t5mJpaYZ-1594000098708)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image112.jpg)]11.快速定位Bug.

1.从request查请求值是否存在

A:请求值存在:我们需要借助接口文档检查传递的参数是否正确。

a请求值错误:证明请求值错误:证明前端传参出现了Bug,是前端的问题。

b请求值正确:证明是后端出现了Bug,是后台的问题。

(1) 返回值存在:查看接口文档检查返回值是否正确,错误证明是后台返回出现问题。

(2) 返回值不存在:没有返回前端请求的内容,错误证明是后台返回出现问题。

B:请求值不存在:前端做了操作,却没有请求值,证明前端的问题。

5.安卓监测(Emmagee)

  1. 打开Emmagee,进入首页,选择要测试的软件,点击测试。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1KFRrEmC-1594000098710)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image114.png)]

2.从手机的默认路径找到文件发送到电脑中,用Excel打开。第一次一般需要改一下格式。右键用记事本打开,另存为

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mOj8Wfqc-1594000098712)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image116.jpg)]3.用excel打开。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s7FFIlqY-1594000098713)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image118.jpg)]

根据规格判断是否符合要求。

6压力测试(ab)

  1. Win+r,cmd 切换到你安装的Apache的bin目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jtxt7hH0-1594000098715)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image120.jpg)]

  1. 使用方式:ab [options] [http://]hostname[:port]/path

常用命令

-n:总请求次数(最小默认为1)

-c:并发次数(最小默认为1且不能大于总请求次数,如:10个请求,10个并发,实际就是1人请求1次)

-t:设置ab命令模拟请求的时间
-k:设置ab命令允许1个http会话响应多个请求

后面直接写请求路径即可:http://www.test.com/xxx/xxx.html

注意:@1不具体到文件需要在最后加/

​ @2 ab命令可能会由于目标web服务器做了相应的过滤处理,导致在某些情况下收不到任何数据,这个时候可以使用“-H”参数,来模拟成浏览器发送请求。

例如:模拟成Chrome浏览器向百度发送1个请求

ab -H “Mozilla/5.0 (Windows; U; Windows NT 5.1; en-Us) AppleWeb Kit/534.2 (KHTML, like Gecko) Chrome/6.0.447.0 Safari/534.2” www.baidu.com/

  1. 测试

A:无参请求:ab -n 5 baidu.com/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pMGLDGFy-1594000098717)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image122.jpg)]

B:get请求方式:ab – n 10 -c 10 "http://paycenter.gotrip8.com/querypay.aspx? Version

=1.0&InputCharset=GBK&SignType=MD5&PlatFormCode=CPOTA&OrderNo=TEST0123456784&Sign=185FA68CA23AAE7B3A02A226ABD30297"

注意:请求URL要使用双引号括起来,否则ab无法识别&符号[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-erwG46VQ-1594000098718)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image124.jpg)]

参数文档:参数文档内容使用“key=value&key=value&key=value…”方式进行拼接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qakgZe13-1594000098720)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image126.jpg)]

注意:-p是参数文档路径,-T是大写英文字母,post表单格式为:application/x-www-form-urlencoded

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wWh7BIgv-1594000098721)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image128.jpg)]

4.测试结果分析

Server Software 服务器系统
Server Hostname 服务器域名
Server Port 服务器端口
Document Path 访问的路径
Document Length 访问的文件大小
Concurrency Level 并发请求数,可以理解为同一时间的访问人数
Time taken fortests 响应时间
Complete requests 总共响应次数
Failed requests 失败的请求次数
Write errors 失败的写入次数
Total transferred 传输的总数据量
HTML transferred HTML页面大小
Requests per second 每秒支持多少人访问(吞吐率)
Time per request 上面的是用户平均请求等待时间
Time per request 下面的是服务器平均请求处理时间
Transfer rate 平均每秒收到的字节

处理完成所有请求数所花费的时间 / 总请求数,即

Time taken for / Complete requests

可以看到,它是吞吐率的倒数。

同时,它也=用户平均请求等待时间/并发用户数,即

Time per request / Concurrency Level

可以根据固定并发数,增加请求次数或者固定请求次数,调整并发数来查看上面三个值得变化来调优服务器

7.性能测试(Loadrunner)

  1. 打开首页,点击Create/Edit Scripts。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9mCOiOA7-1594000098722)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image130.jpg)]

2. 点击Web(Http/HTML),进入脚本生成器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5ZYHPQRV-1594000098726)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image132.jpg)]

3.点击开始事务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iUvmk9Ko-1594000098727)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image134.jpg)]

  1. 输入事务名字
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QgIsTyqE-1594000098729)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image136.jpg)]

  2. 开始在浏览器操作,输入登录信息,点击登录。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KjdV2yoE-1594000098730)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image138.jpg)]
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G50jbWMm-1594000098731)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image140.jpg)]

集合点: 我们来想象一个场景,10名运动员参加长跑比赛,出发点同时起跑,他们是并排奔跑的;跑了N圈之后,因为有体能更强的,有体能稍弱的,他们的队形并排变成了前后。几乎一个跑道就可以供应他们的奔跑(运行),那么其余的9条跑道就是空闲的。

为了充分的利用跑道,可以将跑道的起点设置一个集合点,当所有运动员跑完一圈后在起跑点集合,然后再同时起跑。

运动员可以看作是虚拟用户,跑道可以看作是系统资源。设置集合点可以模式更加真实的并发请求,从而增加对系统的负载。

  1. 点击结束事务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BiMwEPcu-1594000098732)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image142.jpg)]
7. 名字要和开始的时候一样。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1xWPh0C5-1594000098734)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image144.jpg)]
8. 点击小三角,进行回放脚本,看看有没有录制的错误
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gYTyH7rv-1594000098735)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image146.jpg)]
8. 点击TOOLS的第二个,然后点击取消
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6lsz0AE2-1594000098737)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image148.jpg)]
9. 查看事务并发数量,做性能不是只做1遍最好3遍,阶梯式做性能,例如:这次做100,下次200,最后300的,之后点击OK。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IlI5XOLg-1594000098738)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image150.jpg)]

  1. 进入场景控制器。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O4o7d4Nq-1594000098739)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image152.jpg)]

  2. 点击run-time-setting,设置参数,否则系统反馈时间快,来不及思考,就会报异常。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BppggZRK-1594000098741)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image154.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WSh3QWU0-1594000098742)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image156.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lJTp4LIi-1594000098743)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KdID7w9R-1594000098745)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image160.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yYEDH9Uy-1594000098746)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image162.jpg)]

11场景设置。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tDtwlSYd-1594000098747)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image164.jpg)]

场景总共要跑20个虚拟用户,每15秒启动2个虚拟用户Vuser

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1r2JMiYi-1594000098749)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image166.jpg)]

场景中的虚拟用户在场景中总共要不断的执行5分钟。(如果录制的时间执行一次只需要10秒钟,那么一个Vuser 在5分钟内执行某一时间就执行了几十次,20个Vuser在5分钟内的事件数就达到几百件)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IDlmicdy-1594000098751)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image168.jpg)]

当Vuser跑完了,怎么停止掉场景中的所有的Vuser呢?在这里是设置了每30秒中停止5个Vuser,20个Vuser需要4分钟全部停止。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g9szJHco-1594000098752)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image170.jpg)]

11.设置好了 点击run

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-92CwzWWc-1594000098754)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image172.jpg)]

  1. 进入结果分析器。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y8sR9DaX-1594000098757)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image176.jpg)]

正常的情况:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rVD1Vk8u-1594000098758)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image178.jpg)]

不正常的情况:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Oknqys7d-1594000098759)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image180.jpg)]

13.通过率算法

通过事物数/失败加通过加中断=通过率

14.这个数值的含义是登录请求的时间,最小值、最大值、和平均值,这个也是按照公司的规定。公司需要设定时间的,如果超过范围,就是响应时间过长,服务器需要优化。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kl9vc9HE-1594000098761)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image182.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4AcgbX6g-1594000098762)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image183.png)]

  1. LR Controler Run tab页添加服务器的性能显示
    在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NzFQhfqa-1594000098763)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image184.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wwzgw4Sv-1594000098764)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image186.png)]

15.服务器性能数据的添加

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AuEWjN83-1594000098767)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image190.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LgfPiVTW-1594000098768)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image192.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ud8Zgjpw-1594000098770)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image194.png)]

16.是否过大过高,这个设置是需要在运行场景的时候手动设置地址的,看的就是通过率、响应时间、服务器的内存、cpu ,因为LR这个工具就是对服务器的压力

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6xBNeCqH-1594000098771)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image195.png)]

17.集合点设置。

含义:

当通过controller虚拟多个用户执行该脚本时,用户的启动或运行都不一定是同时的。集合点是在脚本的某处设置一个标记,当有虚拟用户运行到这个标记时,停下等待,知道所有用户到达这个标记处,。再一同进行下面的步骤,这样就能用最大的用户并发去做下面的操作。集合点主要是对关键步骤的加压

插入集合点的目的:

它可以设置多个用户等待到同一点,同时出发同一个事物,达到模拟真实环境下多个用户同时操作,同时模拟负载,实现性能的最终目的。

简单的说:主要是为了衡量在加重负载的情况下服务器的性能情况,从而找到性能瓶颈。这是一种特殊情况的并发。

方法示例(lr_rendezvous):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-goqscUmA-1594000098773)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image197.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a4ODAVzr-1594000098774)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image199.jpg)]

18.添加负载机。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hlyZO6eM-1594000098776)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image201.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t9HbNVZG-1594000098777)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image203.jpg)]

点击Add按钮,来增加负载发起机

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sgmBOg9y-1594000098779)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image205.jpg)]

在Name 处填入IP地址,点击确定

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DxPA8RGA-1594000098782)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image207.jpg)]

选中负载发起机,点击Connect

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PMsn0CYd-1594000098783)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image209.jpg)]

19.保存

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JXVY3PoF-1594000098784)(file:///C:/Users/lh/AppData/Local/Temp/msohtmlclip1/01/clip_image211.png)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值