Day02stu
⦁ 环境搭建之接口测试工具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的更多相关文章
随机推荐
- September 08th, 2019. Sunday, Week 37th.
A heavy drew refreshed the earth at night. 夜晚厚重的露水滋养着大地. From Leo Tolstoy. Today is the White Drew D ...
- 利用Haproxy搭建 HTTP 请求走私(Request smuggling)环境
Haproxy 介绍 HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理. 请求走私(Request smuggling)概念证 ...
- 12. Go 语言文件处理
Go 语言文件处理 本章我们将带领大家深入了解一下 Go语言中的文件处理,重点在于文件而非目录或者通用的文件系统,特别是如何读写标准格式(如 XML 和 JSON 格式)的文件以及自定义的纯文本和二进 ...
- PanDownload
百度盘下载地址:下载速度很快(链接)
- Java死锁演示
Java死锁演示 在线程中嵌套获取锁导致死锁.思路,尽量不要嵌套获取锁. package com.mozq.demo.demo; public class DeadLockDemo { private ...
- Linux & Go & Vscode & 插件
Linux Deepin 安装Go 安装Go环境 sudo apt-get install golang 验证一下: 输入 $ go env 输出 GOARCH="amd64" G ...
- ETCD:与etcd进行交互
原文地址:Interacting with etcd 与etcd进行交互 用户更多的是通过putting或者是getting从etcd获取一个键对应的值.这一部分描述了如何通过etcdctl做这些工作 ...
- Cypress安装使用(E2E测试框架)
一.简介 Cypress是为现代网络打造的下一代前端测试工具,解决了开发人员和QA工程师在测试现代应用程序时面临的关键难点问题. Cypress包含免费的.开源的.可本地安装的Test Runner ...
- 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参数作 ...
- SpringCloud的入门学习之概念理解、Eureka服务注册与发现入门
1.微服务与微服务架构.微服务概念如下所示: 答:微服务强调的是服务的大小,它关注的是某一个点,是具体解决某一个问题.提供落地对应服务的一个服务应用,狭意的看,可以看作Eclipse里面的一个个微服务 ...