功能测试与抓包工具

2.1 HTML与HTTP协议

URL:统一资源定位符
HTML:超文本标记语言
HTTP:超文本传输协议
在这里插入图片描述

2.1.1 URL

实例:http: //localhost/index/.php?m=Home&c=Goods&a=goodsInfo&id=46
格式:
协议:客户端和服务器通讯的标准,http、https、ssh等
ip或域名
端口号:协议默认的端口号是可以省略的。(http:默认端口80;https:默认端口443;ssh:默认端口22;…)
资源路径:资源存放的位置,资源可以是各种超文本信息,如音频、视频等
参数 (如?m=Home&c=GoodsInfo&i d=46)
格式:
用?与URL主体部分分开
参数的格式 参数名=参数值,有多个参数时用&拼接即可

2.1.2 HTML

HTML : Hyper Text Markup Language,超文本标记语言

超文本:声音、视频、图片、超链接等
标记:就是通过【<标记符>内容<标记符>】的格式让内容具有不同的表现形式,从而达到超文本目的。
如:<title>百度一下,你就知道</title>
互联网上浏览的网页,本质上就是超文本标记语言。

2.1.3 HTTP

HTTP:Hyper Text Transfer protocol,超文本传输协议,是互联网上最常用的协议之一。

2.2 HTTP请求与响应

在这里插入图片描述

2.2.1 基本概念

客户端:用于发送请求,如浏览器、APP等
服务器:处理客户端请求并返回数据,如apache、nginx等
请求:客户端向服务器索要数据
响应:服务器处理完成后,返回给客户端的数据与信息

2.2.2 HTTP 请求

请求内容:
请求行:位置在第一行(请求方式、请求地址、协议及版本)
请求头:位置在第一行会,到空行之前(用来描述客户端信息的相关参数,一般以键值对的形式存在,如浏览器类型等)
请求体:位置在空行之后
在这里插入图片描述

请求方式(GET 和 POST)
get:用于查询、如搜索商品
post:用于提交数据,相对比较安全,如登录、注册等

2.2.3 HTTP 响应(报文)

响应内容
响应行:位置在第一行,包含协议及版本、响应状态、状态消息
响应头:位置在第一行会,到空行之前,告诉客户端服务器相关信息,如web服务器类型等
响应体:位置在空行之后,如登陆成功

响应状态码
由3位数字组成,第一位数字代表响应消息的级别
2XX:成功,如200
3XX:重定向,如301
4XX:客户端存在问题,如404
5XX:服务端存在问题,如501

面试题:GET 和 POST的区别

最直观的区别就是GET把参数包含在URL中,POST通过 request body (请求体)传递参数。
GET比POST更不安全,因为参数直接暴露在URL上,所有不能用来传递敏感信息。
GET在浏览器回退时是无害的,而POST会再次提交申请。
GET请求只能进行URL编码,而POST支持多种编码方式。
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
GET请求在URL中传送的参数是有长度限制的,而POST没有(注意:这个限制是由浏览器导致的)
对参数的数据类型,GET只接受ASCll字符,而POST没有限制。
GET参数通过URL传递,POST放在 request body中。

2.3 抓包

(package capture)就是将网络传输发送与接收的数据进行截取、重发、编辑、转存等操作,也用来检查网络安全。抓包经常被用来进行数据截取等。

功能测试用到抓包工具的场景
通过抓包工具截取观察网站的请求信息,帮助我们深入了解网站。
通过抓包工具截取、观察网站的请求与返回信息,帮助测试进行BUG定位与描述。
通过抓包工具拦截修改请求信息,绕过界面的限制,测试服务端的功能。

常用的抓包工具:Fiddler、Charles、F12开发人员工具等

2.3.1 Fiddler原理

原理(代理机制)
请求先发给Fiddler,Fiddler接受请求后转发给服务器
服务器处理请求后将响应数据返回给 Fiddler,Fiddler 再转发给客户端(浏览器)
在这里插入图片描述

2.3.2 Fiddler 使用

2.3.2.1 删除请求

菜单删除
在这里插入图片描述
命令行删除:cls、clear
键盘:delete
快捷键:Ctrl + X

2.3.2.2 设置过滤

1.点击Filters页签,勾选“Use Filters”
2.Hosts下方的第二个下拉框,选择“Show Only the following Hosts”
3.在下方输入框中输入要抓包的主机地址(多个地址用英文分号隔开,如:localhost;127.0.0.1)
4.点击右上角的“Actions” 选择 “Run Filterset Now”
5. 如果取消过滤,去掉“Use Filters”的勾选
在这里插入图片描述

2.3.2.3 设置断点

在这里插入图片描述
修改请求

  1. 进入添加会员的页面,填写正确的手机号码和其他信息
  2. 打开fiddler 拦截开关:Rules==》Automatic Breakpoints ==》Before Requests
  3. 回到添加会员页面,点击提交按钮
  4. 回到fiddler,修改【请求体】,如修改手机号内容
  5. 点击Fiddler中请求下方的绿色按钮 “Run to Completion”
  6. 关闭Fiddler拦截开关:Rules==》Automatic Breakpoints ==》Disabled

修改响应(扩展)
在这里插入图片描述

  1. 进入添加会员的页面,填写正确的手机号码和其他信息
  2. 打开fiddler 拦截开关:Rules==》Automatic Breakpoints ==》After Requests
  3. 回到添加会员页面,点击提交按钮
  4. 回到fiddler,修改【响应体】,如修改【操作提示】的内容
  5. 点击Fiddler中请求下方的绿色按钮 “Run to Completion”
  6. 关闭Fiddler拦截开关:Rules==》Automatic Breakpoints ==》Disabled
2.3.2.4 AutoResponder (扩展)

自定响应
1、进入 AutoResponder
2、选择列表左侧请求,点击【Add Rule】添加mock请求,(或点击【Add Rule】手动填写请求地址)
3、选择响应结果,模拟测试场景(此处支持打开本地文件,根据文件内响应数据(例如json文件)进行mock)
4、点击右下角【save】,保存响应设置
5、勾选上方选项:
(1)Enable rules:开启或禁用自动重定向功能,勾选上时,激活规则
(2)Unmatched requests passthrough:未匹配的请求穿透,即勾选上时,不影响那些没满足我们处理条件的请求
(3)勾选了这个选项,在规则里面就可以设置是立即返回响应,还是隔多少毫秒返回响应
在这里插入图片描述

2.3.2.5 弱网测试(扩展)

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cenos 6.7 x86_64 yum安装 yum localinstal nginx-1.6.3-1.x86_64.rpm 定制包安装过程 1: FPM 打包工具安装 修改yum源: 备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 安装阿里云yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo 安装依赖包 yum -y install ruby rubygems ruby-devel 添加阿里云的Rubygems 仓库 gem sources -a http://mirrors.aliyun.com/rubygems/ #移除原生Ruby仓库 gem sources --remove http://rubygems.org/ 指定安装版本 gem install fpm -v 1.3.3 wget http://nginx.org/download/nginx-1.9.7.tar.gz wget http://nginx.org/download/nginx-1.6.3.tar.gz mkdir -p /application/tools cd /application/tools/ find /var/cache/yum/ -name "*rpm" yum install pcre-devel openssl-devel find /var/cache/ -type f -name '*rpm' find /var/cache/ -type f -name '*rpm'|xargs cp -t /tmp/ cd /tmp tar zcf nginx_yum.tar.gz *.rpm sz nginx_yum.tar.gz cd /application/tools/ useradd nginx -M -s /sbin/nologin tar zxf nginx-1.6.3.tar.gz ./configure --prefix=/application/nginx-1.6.3 --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module make make install ln -s /application/nginx-1.6.3/ /application/nginx /application/nginx/sbin/nginx ss -lntup|grep nginx ps -ef|grep nginx|grep -v grep netstat -lntup|grep nginx|grep -v grep curl 127.0.0.1 mkdir -p /server/scripts cd /server/scripts/ fpm -s dir -t rpm -n nginx -v 1.6.3 -d 'pcre-devel,openssl-devel' --post-install /server/scripts/nginx_rpm.sh -f /application/nginx-1.6.3/ 检查 rpm -qpl nginx-1.6.3-1.x86_64.rpm [root@nginx tools]# rpm -qpl nginx-1.6.3-1.x86_64.rpm /application/nginx-1.6.3/client_body_temp /application/nginx-1.6.3/conf/fastcgi.conf /application/nginx-1.6.3/conf/fastcgi.conf.default /application/nginx-1.6.3/conf/fastcgi_params /application/nginx-1.6.3/conf/fastcgi_params.default /application/nginx-1.6.3/conf/koi-utf /application/nginx-1.6.3/conf/koi-win /application/nginx-1.6.3/conf/mime.types /application/nginx-1.6.3/conf/mime.types.default /a

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值