http协议的报文格式:
请求报文:
响应报文:
状态行
响应头
sever 服务器类型
实现抓fiddler
fiddler抓包请求和响应:
抓出来的内容东西有哪些
http请求头和响应头中的常用字段
User-Agent:简称UA,它的作用是声明客户端的操作系统类型及版本、浏览器的内核及版本、浏览器的类型及版本,相当于客户端告诉服务器它的一些身份信息,服务器会根据客户端的身份来给出不同的响应。 ——只会出现在请求头中
Content-Type:请求或响应正文的媒体类型(MIME)(给客户端看,html,texy类型)
Cookie:
Set-cookie:表示服务器返回给客户端的Cookie信息,这是需要客户端在本地保存的Cookie ——只会出现在响应头中
Accept:表示客户端能够接收的内容类型 ——只会出现在请求头中
Host:表示客户端请求的服务器ip和端口 ——只会出现在请求头中
Serve:表示的是服务器的类型,比如Apache、Nginx、BWS、Tengine等 ——只会出现在响应头中
http有哪些请求方法
常用的有GET(从服务器获取资源),POST(项服务器提交资源)
get与post的区别
功能不同:
①GET从服务器上获取数据
②post是向服务器传送数据
过程不同:
获取值不同:
传输数据量不同:
安全性不同:
get安全性较低
post安全性较高
200:请求成功
301:资源重定向,资源被永久性转移到其它URL
302 -资源重定向:资源被临时性转移到其它URL
404 -请求的资源不存在
500 -内部服务器错误
post请求提交数据的方式:application/x-www-urlencoded、multipart/form-data、application/json等;
http与https的区别
①http为超文本传输协议,信息是明文传输
②HTTPS为安全文本传输协议,,HTTPS比http更安全
③虽然HTTPS更安全,但传输效率比http低,响应时间更长
④http默认端口是80,https的默认端口是443
⑤使用HTTPS传输协议需要到CA机构申请CA证书
负载测试:一个网站最多可以容纳多少人
并发测试:接口在同时最多可以承受很多人的点击
稳定性测试:强度很大,访问量很多
接口测试可以做哪些任务:接口的功能实现,逻辑业务的测试,异常操作,接口的性能,接口的安全性
为什么要做接口测试;提高工作效率,
APP属于cs架构
selenium只能测试BS架构
不要说注册登陆模块
逻辑性特别强的BUG是个什么?
注意说错的??
jmeter接口的压力测试
发现重大BUG怎么解决的?
黑白灰盒测试的区别
四层,七层协议的概念
黑盒测试的范围,
测试流程内容
测试报告的内容
数据库增删改查,
参数化九种方法,
jmeter断言的作用
聚合报告的作用
八大组件的执行顺序
配置元件——前置处理器——定时器——取样器——后置处理器——断言——监听器
cookie与session的共同点与区别
共同点:都是为了实现状态保持,解决http协议无状态协议的问题
区别:
①cookie是基于客户端的状态保持方案,session是基于服务器的状态保持方案
②cookie储存在浏览器本地,session储存在服务器上,但会在浏览器本地以cookie的形式储存session ID
③cookie储存在本地,容易被截获或者篡改,而且session是储存在服务器端的,所以session比cookie更具有安全性
④session占用服务器性能,session过多,增加服务器压力
⑤单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie
token机制:???
什么事接口测试??
接口测试是测试系统组件间接口的一种测试,接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点
测试重点是检查数据的交换,传输和控制管理过程,以及系统之间的相互逻辑依赖关系等
接口测试就是后端的接口,请求后端接口传输我们想传输的数据,然后观察返回的是不是我们预期想要的结果的过程
接口测试的测试点??
接口的功能实现
逻辑业务的测试
异常操作
接口的性能
接口的安全性
编写代码测试:Python+request模块,Java+httpclient模块
前端:前端代码实现用户看到的展示页面
后端:后端代码实现具体的业务逻辑
前台:终端用户的使用页面
后台:管理员使用的页面
postman!!
断言:响应断言。状态码。JSON断言。响应文本是否等于某个字符串。断言响应时间,断言状态描述信息
环境变量
全局变量
参数化
实现代码和数据分离,好处是方便代码和数据维护,实现数据驱动测试(csv,json)
cookie管理器
Newman命令运行postman脚本
需要安装nodejs,安装Newman
把测试脚本,环境变量等下载成json文件
Newman完整的命令格式
newman run 登录korei添加学员.json -r html -e global_env.json -d 学员数据.json -n 3
-r html表示生成html格式的报告
-e global_env.json 表示指定环境变量文件,global_env.json就是环境变量的文件
-d 学员数据.json 表示指定参数化文件,可以是csv或者json文件
-n 3 表示指定迭代次数为3次,在参数化场景中,有几组数据就迭代几次
jmeter工具
配置fiddler抓取jmeter的请求
IP配置localhost 端口号配置8888
八大组件??
取样器 配置元件
前置处理器 后置处理器
逻辑控制器 定时器
断言 监听器
参数化(CSV文件),环境变量
内置函数??
接口的关联——通常有两种场景
cookie的关联和数据的管理
添加cookie管理器 或者需要提取数据
正则表达式
.+?表示非贪婪模式匹配1个或多个任意字符
.*?表示非贪婪模式匹配0个或1个或多个任意字符
要检查的响应字段:默认保持主题不变
jmeter操作数据库:
增删改操作都需要提交的,提交使用commit语句提交
断言:响应断言,JSON断言,大小断言,xpath断言,断言持续时间
beanshell元件
监听器
汇总报告 聚合报告
cli模式下运行jmeter脚本
CLI模式执行举例:jmeter -n -t .\xxx\test01.jmx -l report.jtl -e -o .\report
requests模块的常用函数
request(method,URL,**kwargs)
什么情况下需要使用fiddler??
①在不知道接口的情况下
②再知道接口的情况下,想查看接口数的情况下
③用来查看接口的安全性
提交表单:form-data
JSON选择 raw
post 要选择body
get 选择params
断言test
两对大括号调用变量
参数化
CSV 或者JSON格式
线程组:可以定义一组线程(多个用户)
jdbc request 连接数据库
前置:预制前处理
后置:后处理
定时器:
配置元件