⦁ 环境搭建之接口测试工具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. September 08th, 2019. Sunday, Week 37th.

    A heavy drew refreshed the earth at night. 夜晚厚重的露水滋养着大地. From Leo Tolstoy. Today is the White Drew D ...

  2. 利用Haproxy搭建 HTTP 请求走私(Request smuggling)环境

    Haproxy 介绍 HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理. 请求走私(Request smuggling)概念证 ...

  3. 12. Go 语言文件处理

    Go 语言文件处理 本章我们将带领大家深入了解一下 Go语言中的文件处理,重点在于文件而非目录或者通用的文件系统,特别是如何读写标准格式(如 XML 和 JSON 格式)的文件以及自定义的纯文本和二进 ...

  4. PanDownload

    百度盘下载地址:下载速度很快(链接)

  5. Java死锁演示

    Java死锁演示 在线程中嵌套获取锁导致死锁.思路,尽量不要嵌套获取锁. package com.mozq.demo.demo; public class DeadLockDemo { private ...

  6. Linux & Go & Vscode & 插件

    Linux Deepin 安装Go 安装Go环境 sudo apt-get install golang 验证一下: 输入 $ go env 输出 GOARCH="amd64" G ...

  7. ETCD:与etcd进行交互

    原文地址:Interacting with etcd 与etcd进行交互 用户更多的是通过putting或者是getting从etcd获取一个键对应的值.这一部分描述了如何通过etcdctl做这些工作 ...

  8. Cypress安装使用(E2E测试框架)

    一.简介 Cypress是为现代网络打造的下一代前端测试工具,解决了开发人员和QA工程师在测试现代应用程序时面临的关键难点问题. Cypress包含免费的.开源的.可本地安装的Test Runner  ...

  9. Thinkphp 5.1.24 parseKey缺陷导致聚合注入 分析

    测试url: http://127.0.0.1/thinkphp/thinkphp_5.1.24/public/index.php/index/index/sqli2?id=2 控制器是获取id参数作 ...

  10. SpringCloud的入门学习之概念理解、Eureka服务注册与发现入门

    1.微服务与微服务架构.微服务概念如下所示: 答:微服务强调的是服务的大小,它关注的是某一个点,是具体解决某一个问题.提供落地对应服务的一个服务应用,狭意的看,可以看作Eclipse里面的一个个微服务 ...