当前位置: 首页 > news >正文

jmeter之接口功能自动化

一、接口测试简述

接口:用来连接前端,后端还有移动端的程序模块。由于不同端的工作进度不一样,需要对最开始出来的接口进行接口测试。

接口分类:POST,GET,PUT,DELETE。

POST请求的数据是放在WebForm里面的,以表单的形式提交;GET请求的数据是拼接在URL中的,以URL的形式提交数据。

不同接口类型的差异:

    1.参数提交的方式;

    2.请求数据的大小;

    3.安全性。

接口测试主要测试要点:

1、检查请求是否成功,默认请求成功时状态码是200

2、检查返回数据的正确性(即返回的数据是否与预期结果一致)与格式

3、检查接口的容错性,即传递数据的类型错误时是否可以处理

4、接口参数的边界值。例如,传递的参数足够大或为负数时,接口是否可以正常处理

5、接口的性能,接口处理数据的时间也是测试的一个方法。这直接影响用户的使用体验

6、接口的安全性

二、jmeter工具栏及常用组件介绍

1、Jmeter常用组件介绍——HTTP请求(GET)

线程组->添加->Sampler->HTTP请求

 2、Jmeter常用组件介绍——HTTP请求(POST)

线程组->添加->Sampler->HTTP请求

 3、Jmeter常用组件介绍——响应断言

HTTP请求->添加->断言->响应断言

4、Jmeter常用组件介绍——HTTP请求默认值

线程组->添加->配置元件->JDBC Connection Configuration

5、Jmeter常用组件介绍——HTTP信息头管理器

线程组->添加->配置元件->HTTP信息头管理器

6、Jmeter常用组件介绍——用户定义的变量

线程组->添加->监听器->查看结果树

7、Jmeter常用组件介绍——聚合报告

线程组->添加->监听器->聚合报告

8、Jmeter常用组件介绍——JDBC Connection Configuration

线程组->添加->配置元件->JDBC Connection Configuration

9、Jmeter常用组件介绍——JDBC Request

线程组->添加->配置元件->JDBC Request

10、Jmeter常用组件介绍——正则表达式提取器

线程组->添加->后置处理器->正则表达式提取器

三、接口测试过程

4、问题

一、如何引用变量?

1、定义变量 给需要被引用的参数值定义一个变量名,变量名是唯一的。 2、引用变量 在需要使用参数值的地方引用变量名,引用格式为: ${变量名} PS:引用变量名用到的符号均为英文字符。

二、当接口有依赖关系,即某个接口的输入参数是另一个接口的请求结果时,应该如何进行参数传递?

1、当依赖接口所需入参出现在被依赖接口的返回结果中时,

在被依赖接口的【 HTTP请求】下添加【正则表达式提取器】,使用(.+?)将所需数据从返回结果中提取出来

2、当依赖接口所需入参没有在被依赖接口的返回结果中出现时

在被依赖接口的HTTP请求后面添加【 JDBC Connection Configuration 】和【 JDBC Request】,从数据库中查询需要的数据,并在【 JDBC Request】下添加【正则表达式提取器】使用(.+?)将所需参数从查询结果中提取出来

步骤流程:请求‘注册短信验证码’接口

短信验证码验证’接口依赖‘注册短信验证码’接口

1、请求发送验证码接口

 2、添加JDBC Connection Configuration连接数据库

 3、添加JDBC Request查询‘注册短信验证码’接口产生的数据

 4、查看数据库查询结果

 5、提取验证码

 6、引用验证码名称,请求‘短信验证码验证’接口

三、为什么要连接数据库进行数据查询?

当接口之间有依赖关系,但是被依赖接口的返回结果中并没有直接返回依赖接口所需的数据时,便需要从数据库中查询出需要的测试数据。 例如: ‘短信验证码验证’需要获取‘注册短信验证码’生成的验证码,但‘注册短信验证码’的返回结果为: {“StatusCode”:200,“DataCount”:0,“Data”:1,“Error”:null},并没有直接返回验证码,因此需要连接数据库查询接口生成的验证短信,并用正则表达式提取出验证码,同时定义一个引用名称,便于‘短信验证码验证’引用。

四、当多个接口可以串成一个完整业务流程时如何处理?

前提:熟悉业务逻辑和接口所实现的功能

最好实行新增操作,然后进行一系列的操作后再删除

例如:

1.新增标签

2.新增/删除指定标签下的医生/药店/商品,同时更改标签名称

3.获取指定标签下的医生/药店/商品详情

4.删除指定标签下的医生/药店/商品

5.删除标签

以上5个接口可以按照顺序串成一个完整业务流程,在Jmeter中需要按照业务逻辑顺序来安排接口先后位置。

具体实现如下:

1.请求‘新增标签’;

2.从数据库中查询新增的标签ID,引用标签ID,请求‘新增/删除指定标签下的医生/药店/商品,同时更改标签名称’;

3.引用标签ID,请求‘获取指定标签下的医生/药店/商品详情’;

4.引用标签ID,请求‘删除指定标签下的医生/药店/商品’;

5.引用标签ID,请求‘删除标签’。

如此可以保证测试数据的一致性,且不会产生过多垃圾数据。

五、如果生成的csv测试报告文件显示乱码怎么办?

1.用txt方式打开csv文件

2.文件另存为UTF-8编码格式,替换原来的csv文件

3.打开csv文件优化测试报告

4.另存为.xlsx格式

PS:最后一步一定要另存为普通excel格式,否则数据位置会错乱。

http://www.lryc.cn/news/324065.html

相关文章:

  • 【openGL4.x手册07】几何着色器
  • 鸿蒙OpenHarmony开发实战:【MiniCanvas】
  • 【JavaEE初阶系列】——单例模式 (“饿汉模式“和“懒汉模式“以及解决线程安全问题)
  • flutter-elinux的基本介绍及安装调试
  • 二分查找法总结
  • Python工具-清理Unity(批量深度)清理U3D项目工程保留关键工程文件
  • vue 安装脚手架报错 certificate has expired
  • 使用 Python 快速开始机器学习
  • CCDP.02.OS正确部署后的Dashboard摘图说明
  • 【计算机视觉】Gaussian Splatting源码解读补充(二)
  • Java transient 关键字
  • 前端工程化(三)邂逅Webpack和打包过程
  • Gradle v8.5 笔记 - 从入门到进阶(基于 Kotlin DSL)
  • Jmeter-基础元件使用(二)-属性及对数据库简单操作
  • docker 的八大技术架构(图解)
  • LeetCode-热题100:131. 分割回文串
  • 常用相似度计算方法总总结
  • 【漏洞复现】WordPress Plugin NotificationX 存在sql注入CVE-2024-1698
  • AI新工具(20240322) 免费试用Gemini Pro 1.5;先进的AI软件工程师Devika;人形机器人Apptronik给你打果汁
  • 鬼灭之刃-激情台词-02(解释来自文心一言)
  • openssl3.2 - exp - aes-128-cbc
  • 基于docker+rancher部署Vue项目的教程
  • Elasticsearch:让你的 Elasticsearch 索引与 Python 和 Google Cloud Platform 功能保持同步
  • 如何定位web前后台的BUG
  • 谈谈 IOC 和 AOP
  • C/C++之内存旋律:星辰大海的指挥家
  • Linux下进程的调度与切换
  • Linux相关命令(2)
  • React中 类组件 与 函数组件 的区别
  • GPT实战系列-智谱GLM-4的模型调用