⦁ 环境搭建之接口测试工具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,构造接口请求,要严格遵循接口文档中的描述

Day02stu的更多相关文章

随机推荐

  1. 如何在linux终端创建文件

    我们都知道可以用mkdir命令创建一个新的目录,但更多时候如果能直接创建一个文件(普通文件)会让人感觉更愉悦:这样就可以不用在去打开一个专门的创建文本文件的软件,然后还要设置文件名,保存路径那样的繁琐 ...

  2. 桶排序(C语言)

    #include <stdio.h> int main(void) { int arr[5]={2,5,1,3,3}; //定义需要排序的数组 int res[6]={0}; //初始化& ...

  3. 如何解决Sublime text3文件名称中文乱码问题

    在sublime text 3中,Preference, Settings-User,最后加上一行 "dpi_scale": 1.0 { "auto_complete_t ...

  4. Notepad++ 异常崩溃 未保存的new *文件列表没了怎么办?

    今天就遇到这种问题了,把之前写的临时代码拷贝到Notepad++,不知道啥时候脑袋一抽风强迫症犯了就把所有临时代码给未保存关闭了,然后懊恼不已,百度了一下解决办法,一下就搜到了. Notepad++是 ...

  5. 01-Vue.js基础

    一.Vue基础 1.介绍 Vue是一套用于构建用户界面的渐进式框架.Vue的核心库只关注视图层,不仅容易上手,还便于与第三方库或既有的项目整合.兼容性:Vue 不支持 IE8 及以下版本,因为 Vue ...

  6. thinkphp5.0学习笔记

    2019-11-11学习笔记 安装TP5.0 a)源代码包下载 在thinkphp官网下载(www.thinkphp.cn)下载 完整版本的TP5.0 b) composer 安装 切换到网站的根目录 ...

  7. 浅谈Httpmodules

    HttpModule是ASP.NET过滤器,可以理解为HTTP请求的必经之地我们只要实现IHttpModule接口,就可以取代HttpModule namespace BookShop.Handler ...

  8. (四十四)c#Winform自定义控件-水波-HZHControls

    官网 http://www.hzhcontrols.com 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kww ...

  9. C#中类的修饰符

    Q&A  项目=程序集=assembly 1,Q:类的修饰符有哪些? A:   有 new.public.protect.internal.private.abstract.sealed.st ...

  10. GO-切片拷贝以及赋值

    一.拷贝 package main import "fmt" func main(){ //copy函数,把一个切片copy到另一个切片之上 var a [1000]int=[10 ...