打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
K6性能测试工具的使用入门
"""
之前偶然听到k6这款便捷的性能测试工具,好奇之下就用来玩了一下,结果真的不懒,做一些单接口的压测完全够用了,
所以写下这个介绍文档,第一是自己做一个笔记,第二是为有需要的朋友简单介绍一下,方便快速上手。
"""
简介
k6是高性能的负载测试工具,也是一种高性能工具,旨在在预生产和QA环境中以高负载运行测试,可使用JavaScript编写脚本。它是一个以开发人员为中心(当然,测试人员亦可以使用,因为真的很方便),免费和开源的负载测试工具,旨在使性能测试具有生产力和令人愉悦的体验,可最大程度地减少系统资源的消耗。官网:https://k6.io/
安装与运行
以window系统为例,到官网下载最新版本,根据安装提示默认安装即可。安装完成后在命令窗口输入:K6,检测是否安装成功。出现如下图就是成功了:
执行脚本的只需要在输入:k6 run +脚本名。如下图:
执行完成后会在界面给出测试结果:
将测试结果保存到指定的位置:
HTTP请求
k6可以使用JavaScript进行快速的编写脚本,对有前端经验的同学特别友好,我在实际的使用过程中也是使用的JavaScript进行编写。下面简单举两个常见请求类型的例子。
GET请求
如图所示,k6的请求方式和其他工具的接口请求方式并无太大的区别,只需要导入  import http from 'k6/http';;  按照js的语法依次传入URL,header即可。
POST请求
post请求如下图所示,依次传入URL,传参,header即可。
断言设置
K6的断言个人认为是比较简洁的,导入check()后即可,而且一个check()可以添加多个断言。
设置并发
k6中有两种设置并发、运行时间的方法。
第一种是在命令行内:
第二种是在脚本内:
K6还有支持更多的条件设置,请阅读官网文档。
cookie设置
k6有多种的cookie的写法,如图是能够快速入手的写法:
测试结果
名称
描述
vus
当前的虚拟用户数
vus_max
虚拟用户的最大数量(已预先分配VU资源,以确保在扩大负载级别时性能不会受到影响)
iterations
测试中的VU执行JS脚本(default函数)的总次数。
iteration_duration
完成默认/主函数的完整迭代所花费的时间。
dropped_iterations
在k6 v0.27.0中引入,由于缺少VU(对于到达率执行程序)或缺少时间(由于基于迭代的执行程序中的maxDuration过期)而无法启动的迭代次数。
data_received
接收到的数据量
data_sent
发送的数据量
checks
断言成功率
其中iteration_duration中,我们可以看到平均消耗时间,最大最小,以及百分之90请求所用时间等,这点与jmeter相识。
其他操作
在K6执行测试任务时,我们可以再次打开一个新的命令窗口来控制测试的暂停测试等操作:
k6 pause -暂停测试执行,暂停所有VU
k6 resume -取消暂停k6,导致所有活动的VU恢复执行
k6 scale -更改活动VU的数量(或允许的最大VU数量)
k6 stats -报告当前已收集的统计信息
k6 status -报告测试的一般状态
Selenium Firefox驱动程序:使用Firefox浏览器自动进行测试WebDriverIO教程:处理Selenium中的警报和覆盖TeamCity VS Jenkins:选择正确的CI / CD工具如何在Selenium WebDriver中处理Web表?Python中的正则表达式(二)Python中的正则表达式和示例Python中的文件处理
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
loadrunner介绍
性能测试见解2
Loadrunner参数化功能
360doc个人图书馆
性能测试的Check List
用LR做性能测试后的一点总结(1) - [LoadRunner] - 51Testing软件测试论坛 软件测试 | 软件缺陷跟踪 | 软件配置工具 | 测试用例设计 | Web测试 | 自动化测试工具
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服