⦁ 环境搭建之接口测试工具Jmeter搭建

1) 什么是Jmeter?

Jmeter是一个接口测试工具,基于Java开发,是是Apche公司使用Java平台开发的一款测试工具。

运行环境需要配置:JDK、JRE、JVM。如果使用JMeter,必须要安装JDK或者JRE。正确配置环境变量。

1) 为什么要使用Jmeter?

作用:

1. 接口测试

2. 性能测试--属于性能测试

3. 压力测试--属于性能测试

4. Web自动化测试

5. 数据库测试

6. JAVA程序测试

优点:

1. 开源、免费--使用成本低

2. 支持多协议--HTTP、FTP、数据库协议等

3. 小巧--容易下载、方便安装、使用简单

4. 功能强大--比postman功能强大

缺点

不支持IP欺骗---LoadRunner可以做到IP欺骗

使用JMeter无法验证JS程序,也无法验证页面UI,所以要须要和Selenium 配合来完成Web2.0应用的测试

学习成本和维护成本较高

⦁ 怎么使用Jmeter?

下载Jmeter,官网:https://jmeter.apache.org/

⦁ 安装启动Jmeter:

(1) 解压到一个“没有空格”的目录。前提:正确安装JDK并正确配置环境变量

(2) 两种启动方式:进入bin目录,ApacheJMeter.jar及Jmeter.bat

2,使用Jmeter进行基本测试:

1) 新建测试计划

2) 基于测试计划,新添加线程组:

1) 基于线程组,新添加-取样器-HTTP请求:

1) 根据接口文档,构造HTTP请求消息(方法、URL(协议、服务器域名或者IP地址【端口号】、路径)、参数)

4.1,传参的两种方式:

第一种:路径后边填写参数

第二种:在参数列表中填写参数:

1) 查看结果,基于测试计划,新添加-监听器-查看结果树

1) 点击运行(工具栏的绿色三角形)

1) 观察结果,单击结果树,在右侧观察结果:

一、测试环境搭建之项目环境搭建:

学生信息管理系统:

0,安装python3.6以上版本,并且正确设置python和pip的环境变量

1) 在项目所在目录打开cmd命令窗口:

1) 在cmd命令安装依赖:

安装依赖模块:pip install -r requirements.txt -i https://pypi.douban.com/simple

若安装速度慢,指定国内源,需再加上: -i https://pypi.douban.com/simple

1) 启动命令:python run_server.py

1) 验证启动成功:

浏览器输入:http://localhost:8000/api/departments/ 或者 http://127.0.0.1:8000/api/departments/

出现以下内容,表示启动成功:

1) 如果浏览器输入地址,返回信息不是第四步所看到的,首先检查cmd窗口,是否服务器发生问题,终止运行。如果关闭启动项目的cmd窗口,则服务不可用。

二、数据格式:

1,功能

XML:传输

HTML:显示

相同点:都有标签

不同点:XML是自定义标签(灵活的),HTML是预定义标签(固定死的)

2,JSON:传输和存储

JSON数据:键名:键值

键名包含在双引号中

键值可以是:

数字(整数或浮点数)

·字符串(在双引号中)

·逻辑值(true 或 false)

·数组(在方括号中)

·对象(在花括号中)

·null

JSON数据之间使用逗号分隔

JSON数组:方括号扩住的JSON对象或者JSON数据

JSON对象:花括号括住的JSON数组或者JSON数据

回顾?

回顾:

1,接口

接口的概念:

两个系统或者同一个系统的不同功能载体,通过访问或者调用而相互连接的地方

接口的功能:

实现前后端的分离,从而更高效、经济、通用性更强。

接口的要素:

1,方法、参数(一系列参数,参数系)、返回值(记住)

2,从http接口的角度:输入(请求)--接口(黑盒子)--输出(响应)

请求地址(URL),请求方式,返回值,参数(记住)

请求携带参数有两种方式(记住):

1,GET:URL后边跟参数:

URL---https://www.baidu.com/?参数名=参数值&参数名=参数值

2,POST:在请求的消息体中携带:

text,json,xml,html等等。

接口的分类:

软件

本地接口

GUI、CMD、API等等

网络接口(协议接口,包括http接口)

HTTP接口:get接口,post接口,put接口,delete接口

硬件

USB  HDMI  网线接口

AR:增强现实

VR:虚拟现实

接口的本质(理解):数据传递的规范:规定传递什么数据,如何传递。

这个规定、约定,或者,接口的定义,在哪里?

接口文档:定义业务接口信息的相关文档。

要素(记住):

1,接口名称

2,简要描述

3,请求URL

4,请求方式(get、post,put delete。)

5,请求参数(参数类型、是否必选、说明)

6,返回值

7,返回参数(参数类型、是否必选、说明)

8,修订信息

功能:

接口开发和测试的依据

接口测试用例设计的依据

2,接口测试

概念(理解):验证接口是否符合接口文档中的定义

原理(重点,记住,必考)

构造接口文档中的请求,模拟用户发送给服务器,获取服务器的响应报文,判断是否符合接口文档中描述的预期,从而在接口层面验证业务是否正确实现。

流程:

工具:

发包:发送协议数据包(http协议报文):Jmeter PostMan

抓包:捕获协议数据包(http协议报文):Fiddler

方法:设计测试用例  ----- 项目实训时详细讲解

分类:

1,按执行方式:

手工执行

自动执行

2,按照内容分(记住):

接口功能测试

接口性能测试

接口安全测试

软件测试按内容划分:

功能、性能、安全、兼容性、易用性、安装卸载、本地化、AB测试、αβγ等等

软件测试按阶段划分:

单元、集成、系统、验收

软件测试按执行方式划分:

手工(第一阶段)、自动化(第二阶段)

动态测试、静态测试:

3,web工作流程

1,URL的概念理解

协议://域名[端口号]/路径(path01/path02/)/文件名-----本质:互联网上的某个资源的定位

2,请求和响应的消息结构(记住):

请求消息:

请求行(行、消息的行):方法 空格 URI 空格 http版本

请求头(消息头、头、头部字段信息):若干行的字段名:字段值--P7到P8

空行

消息体(请求体):

响应消息

状态行(响应行、响应消息的行):http版本 空格 状态码 空格 响应提示短语

响应头(消息头、头、头部字段信息):若干行的字段名:字段值--P7到P8

空行

消息体(响应体):

今天的内容:

1,下载、安装、介绍、使用Jmeter

2,使用Jmeter测试天气预报

3,介绍两种数据格式:json xml

4,搭建学生信息管理系统---使用Jmeter进行接口测试练习的项目

5,使用Jmeter对学院信息接口进行基本的测试

一,Jmeter安装简介:

1,下载,官网:https://jmeter.apache.org/,下载可执行程序的版本,解压即可直接运行,不需要安装

2,安装:解压直接运行,不需要安装。前提:操作系统中已安装JAVA环境:JDK jre jvm。

3,启动:

1,两种方式:

1,bat方式:jmeter.bat。

2,jar包的方式:ApacheJMeter.jar

2,Jmeter可以多开

4,简介:常用目录文件:讲义P63

shell:

property:属性  properties:复数形式

5,主界面:

菜单栏

主界面

状态栏

6,学习思路:按照问题场景,遇到哪个组件,讲解哪个组件。

二、Jmeter对天气预报进行基本的测试:

1,测什么:天气预报的接口--接口文档

2,用什么测:Jmeter

测试原理:

测试用例的执行过程:测试计划

新建方式:

1,打开Jmeter就新建测试计划

2,点击工具栏的空白页面

构造接口文档中的请求

Jmeter的实现方式:HTTP请求取样器:

1,同一个线程组,可以添加多个HTTP请求

2,Jmeter中GET方法,参数的填写(传参)有两种方式:

1,URL后边跟参数

2,参数列表中添加参数和参数值

3,两种方式只选其中一种即可

模拟用户发送给服务器

Jmeter模拟用户:线程组来模拟用户:一个线程就是一个用户

Jmeter发送给服务器:点击工具栏的启动(绿色三角形按钮),发送请求

获取服务器的响应报文

Jmeter的实现方式:察看结果树(监听器)

0,绿色请求成功,红色请求失败

1,记录:每次请求和响应的消息

2,清除记录:工具栏中的扫帚

判断是否符合接口文档中描述的预期

两种方式:

1,人眼观察

2,断言

从而在接口层面验证业务是否正确实现。

如果正确:测试通过

如果不正确:测试失败

三、两种数据格式:xml json

xml:

共同点:标签语言

不同点:

HTML    XML

显示数据 存储和传输数据

预定义标签 自定义标签

以后遇到的响应报文或者消息体数据格式,绝大部分都会是:XML JSON HTML。

JSON:(以下都是重点,记住)

1,JSON数据的基本格式:名称:值

· 数据在名称:值对中

· 数据由逗号分隔

· 花括号保存对象

· 方括号保存数组

2,JSON的名称必须是用双引号括起来的字符串

3,JSON数据的值可以是:

· 数字(整数或浮点数)----1 和 “1”

· 字符串(在双引号中)

· 逻辑值(true 或 false)---又叫布尔值

· 数组(在方括号中)

· 对象(在花括号中)

· null(空)

四、搭建学生信息管理系统:

1,启动:在run_server.py所在目录下,使用CMD启动项目。如果关闭dos窗口,就会关闭学生信息管理系统。

2,学生信息管理系统的接口。

调用接口,来实现调用学生信息系统的数据。

接口--学生信息管理系统---数据存储在数据库中--分为三个表:学院信息,班级信息,学生信息

3,查询数据库:

1,使用工具--SQLiteStudio-3.2.1

2,后缀名:.sqlite3.

4,项目接口简介:

1,学院信息接口:

四大类:

查询:6个

新增:1个

修改:1个

删除:2个

2,这些接口都是RESTFUL风格架构的接口:

3,构造接口请求,要严格遵循接口文档中的描述

最新文章

  1. AndroidProjects个人项目归纳
  2. MongoDB-服务器管理
  3. hibernate联合主键 注解方式
  4. alter system switch logfile与alter system archive log current的区别
  5. 对二进制加密(分散保存-s=sy+a+b)
  6. stl map底层之红黑树插入步骤详解与代码实现
  7. 关于RecyclerView中Viewholder和View的缓存机制的探究
  8. windows服务删除后,在次安装时无法安装启动。
  9. HTML5_1
  10. C语言的本质(17)——回调函数
  11. js数组对象常用方法小结
  12. vi的常用命令
  13. 不让浏览器缓存index.html
  14. C# Task.Run 和 Task.Factory.StartNew 区别
  15. request.setCharacterEncoding()、response.setCharacterEncoding()的区别
  16. Java的内存管理机制之内存区域划分
  17. flask_mail发送163邮件,报553错误的原因
  18. python常用模块json
  19. python3 小数据池
  20. MySQL基准测试--innodb_buffer_pool_instances

热门文章

  1. 用Python代码写的计算器
  2. Mysql安装及常用命令
  3. Pro Micro
  4. typescript与nodejs(一)最简单的webserver
  5. 关于VAD的两种内存隐藏方式
  6. 连接SpringBootAdmin 异常 Name or service not known
  7. java架构之-负载均衡-Ribbon 的使用
  8. js|jq获取兄弟节点,父节点,子节点
  9. maven仓库之第二篇
  10. Python3爬取豆瓣网电影信息