03 2024 档案
摘要:一、连接数据库有什么用 用作参数据化数据 (例如我们做的登录,要从数据库里面进行查询数据) 清理垃圾数据 (把没用的数据库里的数据进行清除) 用作结果的断言 (例如我们添加购物车下订单,检查接口返回的订单号,是否与数据库中生 成 的订单号一致) 准备测试数据 (通过数据库插入更多的数据) 二、如何配
阅读全文
摘要:一、元件的基本介绍 元件:多个类似功能组件的容器 (类似于类) 取样器 逻辑控制器 前置处理器 后置处理器 断言 定时器 测试片段 配置元件 监听器 组件:实现独立的某个功能(类似于方法) 2、元件作用域在JMeter中,元件的作用域是靠测试计划的树形结构中元件的父子关系来确定的。提示: 核心是取样
阅读全文
摘要:一、什么是参数化? 使用参数的方式去替代脚本中固定的测试数据 二、Jmeter参数化的几种方式 1 用户定义的变量 (一般是用做全局) 这里我们指的是测试计划中的自定义变量 2 或者配置原件中的用户定义的变量 3 和前置处理器中的用户参数 (针对同一组参数,当不同的用户来访问时,可以获取不同的值)
阅读全文
摘要:一、不少小伙伴对聚合报告中的title 很迷惑把,不知道如何区分,一张图让你明白 觉得有用的话就关注我吧!
阅读全文
摘要:一、背景 我们在测试或者注册的时候,想要的得到不同的结果,这时我们就要用的参数化,比如csv实现数据驱动,等等,那么在locust中我们如何实现参数化呢? 案例: 模拟三个用户注册账户,要求注册的账户不重复,使用参数化 二、实现逻辑 这里我们可以用读取本地csv的方式读取数据,并返回一个列表对象,然
阅读全文
摘要:一、背景要求 其实很多时候,根据业务场景的不同,我们要实时不均匀的负载,比如不同的时间段我们的负载量也不一样, 因为很多时候很多软件的用户访问时间都集中在晚上,白天访问量很低,那么针对这种情况我们如何来自定义压测场景呢? 其实我们Locust 支持自定义压测场景,比如(基于时间策略的阶梯式加压):
阅读全文
摘要:一、场景要求 我们在使用locust时,有时候默认的场景无法满足我们的要求时,这时后我们需要自定义场景 比如我们要设置每一段时间启动10个用户运行,执行60s后再一次启动10个用户,总共运行10分钟,默认的场景是无法满足这样的要求的,我们可以使用LoadTestshape类,LoadTestshap
阅读全文
摘要:一、 在性能测试中必须使用集合点来测试吗? A:并发用户数,顾名思义,就是同时操作的用户,这里的“操作”可以指对系统真正的操作,也可以只是连接(此时通常叫作“并发连接数”),而集合点是一种特殊情况下的并发,多用于测试系统在瞬间加压的表现。因此,并发用户数和集合点有联系,但并非必然的联系,在测试并发用
阅读全文
摘要:一、什么是集合点? 集合点用以同步虚拟用户,以便恰好在同一时刻执行任务。在[测试计划]中,可能会要求系统能够承受1000 人同时提交数据,可以通过在提交数据操作前面加入集合点,这样当虚拟用户运行到提交数据的集合点时,就检查同时有多少用户运行到集合点,如果不到1000 人,已经到集合点的用户在此等待,
阅读全文
摘要:一、检查点的方式有哪些: 主要是python 内置的assert 断言(自动断言)还有locust 中的catch_response 断言(手动断言);那么这两者之间有什么区别呢? 其实主要区别在与生成locust 报告上面,手动断言失败,我们在locust上面可以清楚的看到报错信息,如果通过内置断
阅读全文
摘要:一、首先我们理解下什么是关联? 跟接口测试一样,我们经常需要将上一个接口返回的参数用于第二次请求 二、业务场景1: 用户需要先登录获取token,之后去加入购物车、下订单、充值等等行为都是需要用到这个身份验证 三、解决方案: 客户不是每次行为都需要登录,每个客户只需要登录一次就可以得到这个token
阅读全文
摘要:一、**Mimesis的介绍** Mimesis是一个用于Python的high-performance伪数据生成器,它用各种语言为各种目的提供数据。这些假数据可以用来填充测试数据库,创建假API端点,创建任意结构的JSON和XML文件,匿名化从生产中获取的数据等等。 二、**主要特点是:** *
阅读全文
摘要:1 pip freeze >requirement.txt 将当下环境所有的第三方库生成一个对应的txt 文件到当前目录 效果如下:
阅读全文
摘要:运行 `Locust`时,通常会使用到两种运行模式:**单进程运行**和 **多进程分布式运行** 。 **单进程运行模式** `Locust`所有的虚拟并发用户均运行在单个 `Python`进程中,具体从使用形式上,又分为 `no_web`**和** `web`**两种形式。该种模式由于**单进程
阅读全文
摘要:从脚本中可以看出,脚本主要包含两个类,一个是 `UserLocust`(继承自 `HttpLocust`,而 `HttpLocust`继承自 `Locust`),另一个是 `UserCollects`(继承自 `TaskSet`)。事实上,在 `Locust`的测试脚本中,所有业务测试场景都是在 `
阅读全文
摘要:需求:用旧版本的locsut去压测我们的验证码和登录的接口。’ 定义任务 :发送http接口请求 》类似于Jmeter中的http取样器 定义任务集:定义一个用户行为,包含多个http请求 》类似于Jmeter中的事务控制器 定义Locust类:Locus类代表用户,用户会对应具体的用户行为 --》
阅读全文
摘要:Locust的安装(注意) 新版本以2开头,现在最新稳定版为2.10.1; (2.x版本) 旧版本以0开头,比如我现在安装的是开发版本为0.12.2. 那么他们有什么区别呢?目前有如下发现: 安装方式的变化: 旧版本安装命令为:pip install locustio 新版本安装命令为:pip in
阅读全文
摘要:不同细节表现如下: * 脚本 locust使用写脚本的方式,方便对于python有一定基础的人,可以随着自己的想法进行脚本的编写 jmeter通过可视化工具,填写后保存。上手难度低,适合所有人员。 * 运行 locust有两种启动,一种通过web模式控制,还有一种通过命令行控制 jmeter有两种启
阅读全文
摘要:一 Locust的介绍 现在不管是互联网行业还是传统行业,对性能的要求,都日渐增多,为了能更快更准确的定位问题,发现问题,以及解决问题,市面上出现了越来越多的性能测试工具,例如Jmeter,LoadRunner,Locus,而今天,我们主要介绍就是Locust,locust官网如下:https://
阅读全文
摘要:一 状态码定义 二 遵守的规范 200 一定是正确。所有异常都不使用 200 返回码 业务逻辑上的错误,有特别的错误码尽量使用 4xx,否则使用 400。 服务器端内部错误,无特别错误码使用 500。 业务异常时,返回内容使用 JSON 格式定义 error 信息。
阅读全文
摘要:一 测试背景 首先阐述本次性能测试背景,即被测系统类型,面向哪些用户,具备什么特点,为什么进行性能测试,预期的一些指标等等 比如:为了保证“双十一”大促期间,系统能稳定运行且保障业务的高可用,进行性能测试 核心:评估系统性能、分析性能变化趋势,定位系统瓶颈风险,协助规划系统容量 二 测试的目的 测试
阅读全文
摘要:一 首先我们要搞清楚接口签名步骤: **第一步:初步实现接口****第二步:找开发拿到算法和key** * key:sAHDRNJg0ZevmEn7HwBfbw== * 算法:HmacMD5 咱们就找一个https://www.wenjiangs.com/doc/85uwistv * 在JMeter
阅读全文
摘要:一 引入: 作用类似于JMeter监听器,ctx、vars、props、prev、log都和BeanShell Sampler一样 二 特定参数有: * sampleEvent:对应org.apache.jmeter.samplers的SampleEvent类 * sampleResult: **s
阅读全文
摘要:一 引入: 二 BeanShell 断言参数: 作用类似于JMeter断言,ctx、vars、props、prev、log、SampleResult都和BeanShell Sampler一样 BeanShell Assertion特定的参数有: * Failure * FailureMessage
阅读全文
摘要:一 主要作用: BeanShell PostProcessor 主要用来提取响应数据,对数据做处理分析的。 二 概念: 作用类似于后置处理器,其中的ctx、vars、props、prev、log都和BeanShell Sampler一样一样  工具中的一个命令,用于执行随机事件来对 Android 应用进行压力测试。以下是 adb monkey 命令的一些常用参数: -p 或 --package:指定要测试的应用程序包名。 -s 或 --seed:指定随机数生
阅读全文
摘要:使用资源文件: 将所有文字内容(如标签、按钮文本、错误消息等)存储在单独的资源文件中,而不是直接硬编码在代码中。对于每种语言,都应有对应的资源文件,然后根据用户的语言偏好加载相应的资源文件。 字符编码: 确保你的网站或应用程序使用统一的字符编码(如UTF-8),以支持各种语言的文字显示。 文本翻译质
阅读全文
摘要:一概念: 前置处理器主要作用: 用于修改即将发送的http的请求数据 BeanShell预处理器可以在取样器发送请求之前被执行,可以通过它完成发送请求所需的数据 其中的ctx、vars、props、prev、log都和BeanShell Sampler一样 ![image.png](https://
阅读全文