发表于: 2018-08-01 22:17:59

1 616


今天完成的事情:

先是打算看视频边看边跟着视频做边学习jmeter的使用

但是下载后又是一堆文件配置,而我的配置和讲课人的配置是一样的,但是结果不一样,也不知道原因,所以就只是看着他讲解操作学习。


jmeter是什么?于loadrunner有何不同?

apche组织开发的基于java压力测试的工具

100%纯java开发,完全的可移植性

可以以用于测试静态和动态资源

多协议--http/ftp/socket/java/数据库

完全多线程

高可扩展性


1 loadrunner是商业的工具 代表首付诶

jmeter是开源的工具 代表免费

2jmeter是纯java开发 完全的可移植性,就是继承了java的特性 可以跨平台使用,例如windows mac 。

loadrunner是用c语言开发的,只能在windows上使用

3jmeter只能用线程来模拟多用户

loadrunner既可以通过多线程也可以通过多进程来模拟多用户

4loadrunner是一款商业工具,是不对外开放源代码的,所以扩展起来十分困难

jmeter是开源的代码都是公开的,对工具进行二次开发或开发一些插件都是没问题的

jmeter目录

线程组

测试必备组件

用来模拟用户并发

每个人物通过线程来处理

线程数:请求并发的数量

Ramp-up period(in seconds):在多少秒内创建线程数中定义的所有线程。每秒并发数 = 线程数/rup

循环次数:当前线程组中的测试脚本循环运行次数


取样器(sampler)

发送请求到服务器,并等待服务器的响应

按照其在测试树中的顺序去执行

受逻辑控制器控制

制裁多种协议

支持二次开发

逻辑控制器 logic controller

控制sampler发送请求的逻辑,顺序

控制sampler本身

模拟复杂逻辑请求

常用


foreach控制器

如果(if)控制器

循环控制器

随机控制器

事物控制器

吞吐量控制器

配置原件config element

静态数据配置

配置默认属性,信息

不会向服务器发送任何请求

仅对所在测试数分支有效

放在sampler之前

例外

一个用户自定变量

此组件无论放在哪里,他定义的标量都会被整个线程所共享


定时器 timer

设置请求间的时间间隔

应用

模拟思考时间:定时器   随机定时器

集合点 synchronizing timer 

前置/后置处理器

前置处理器

发送请求前对即将发出请求进行特殊处理

如sample timeout

后置处理器

对采样器发出请求后得到的服务器响应(response)进行处理

如:正则表达式提取器


断言ASSERTIONS

判断取样器是否正常工作

判断请求响应是否正确

判断结果是否符合预期

相当于loadrunner的检查点

常用

jpgc-json path assertion

响应断言

断言持续时间(看返回的数值花了多长时间)


监听器Listener

收集整理测试结果

将测试结果数据进行处理并展示

生成XML CSV 等形式的文件供后续分析

常用:

图形结果

查看结果数

聚合报告

用表格查看结果

保存响应到文件

组件执行顺序

配置元件

前置处理器

定时器

取样器

后置处理器

断言

监听器

组件作用域

考测试计划的树形结构中元件的父子关系确定

原则:

采样器:元件不和其他元件相互作用,因此不存在作用域的问题

逻辑控制器:元件只对其子节点中的取样器和逻辑控制器作用

除采样器 和 逻辑控制器元件外,其他6类元件,如果是某个sampler的子节点,则该元件只对父子节点起作用

除采样器和逻辑控制器元件外的其他6类元件,如果父节点不是sampler 则其作用域是该元件父节点下的其他所有后代节点


然后就是在badboy上录制了一些脚本 且导入到jmeter运行脚本的一些操作。



然后学习了一下postman接口测试操作。

相对来说postman操作起来很简单,没有什么环境配置的问题。

但就是没有多线程并发测试。


然后我用post请求测了一个借口并且用设置了两个断言

第一个断言就是设置返回值包含某一个字符串  若返回值包含这个字段,那么就pass通过 没有这个字段就不通过。

第二个断言就是设置返回值返回时长为200毫秒 若响应时间在200毫秒内那么就 pass通过 超过200毫秒就不通过。


我这里设置的两个都通过了。


明天的计划:

将整个测试的过程回顾一下,然后开始完成任务6

明天晚上项目demo了 看中午还是下午的时候先测一下。


遇到的问题:

现在学jmeter都是各种看着别人怎么操作,然后想自己手动跟着别人的教程一起做就会碰到各种各样的环境问题,明明是一样配置的但是结果又不太一样,所以总会碰到教程上没有说明的错误,也不知道该怎么解决。


收获:

学习了一些badboy录制脚本和jmeter运行脚本和postman测接口和设置断点的一些操作






返回列表 返回列表
评论

    分享到