0


朝花夕拾-《接口自动化测试持续集成:postman+newman+git+jenkins+钉钉》-学习笔记

朝花夕拾-《接口自动化测试持续集成:postman+newman+git+jenkins+钉钉》-学习笔记

朝花夕拾,一个老年人的学习笔记,不妥请指,感谢
学习《接口自动化测试持续集成:postman+newman+git+jenkins+钉钉》Storm 著


这里写目录标题


第1章 接口测试基础知识

1.1 接口测试背景

1.1.1.接口测试的必要性

1.1.2.接口测试的原理

测试人员借助工具模拟客户端向服务器段发送请求报文,服务器端接收请求报文后,对相应的报文做出处理并向客户端返回应答,工具模拟客户端接收应答,然后测试人员检查应答是否准确。

1.1.3.接口测试的范围

主要测试两类接口:
数据进入系统的接口,调用外部系统的参数为本系统使用
数据流出系统的接口,响应外部系统的参数。

1.2 接口基础知识

1.2.1 接口的定义

两个不同的系统或者一个系统中两个不同的功能,他们之间互相连接的部门称为接口。
常用接口两种
1.GUI(Graphical User interface),它是人与程序的接口;
2.API(Application Programma Interface),是一组定义、程序及协议的集合,API可实现计算机软件之间的相互通信,API的一个主要功能是提供通用功能集,程序员通过使用API函数开发应用程序,从而避免编写重复程序,减轻编程任务。
后端工程师定义接口,前端工程师调用接口
当前态势:
1.后端工程师不用精通前端技术(HTML\JavaScript\CSS),只专注与数据的处理,对外提供API即可
2.前端工程师的专业性越来越强,其通过API获取数据,并专注于页面设计
3.前后端分离可扩大接口的应用范围,开发的接口可以应用到web页面和app上

1.2.2 接口的分类

1.http接口
2.web service接口,它是系统对外的接口,比如从别的网页或服务器上获取资源,一般来说,不会共享给数据库,会提供一个写好的方法获取数据,使用写好的方法就用引用他们提供的接口,从而达到数据同步的目的
3.RESTful接口,简称REST,其描述一个架构样式的网络系统,核心是面向资源,REST专门针对网络应用设计和开发方式,降低开发的复杂性,提高系统的可伸缩性。
基于浏览器/服务器模式(Brower/server,B/S)的软件接口大多数为HTTP接口。

1.2.3 HTTP简介

1.2.4 HTTP请求

1.统一资源定位符URL
2.通信交互方法method
GET\POST\DELETE\PUT
PATCH\COPY\HEASD\OPTIONS\LINK\UNLINK\PURGE\LOCK\UNLOCK\PROPFIND\VIEW
GET和POST的区别:提交数据的方式不同;传输数据的大小不同,GET一般为2083byte,POST不通过url发送,但浏览器有限制;安全性不同,POST比GET要安全
3.Headers和Body
http报文由请求行、请求头、空行和请求数据

1.2.5 HTTP响应

1.http响应报文
http响应报文由响应状态行、响应头、空行和响应数据

2.JSON格式
(1)js对象标记的定义
js对象标记(JavaScript Object Notation ,JSON)是一种轻量级的数据交换格式,采用完全独立与编程语言的本文格式来存储和表示数据,简介和清晰的层级结构使得JSON成为理想的数据交换语言,易于阅读和编写,同时易于机器解析和生成
(2)JSON语法规则
用大括号保存对象,用键值对表示对象属性,用括号分割每个对象,用中括号保存数组
(3)JSON示例
{“name”:“jack”,“age”:“35”,“sex”:“male”}

1.3 接口测试流程

1.编写测试计划
2.编写、评审接口测试用例
3.执行接口测试
4.接口自动化测试持续集成要点
(1)流程方面。
在回归阶段加强接口异常场景的覆盖,并逐步向系统测试、冒烟测试阶段延伸,最终达到全流程自动化。
冒烟测试:将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程,冒烟测试出自《微软项目求生法则》
(2)结果展示
更加丰富的结果展示,趋势分析、质量统计和分析
(3)问题定位
报错信息、日志更精确,方便问题复现与定位
(4)结果校验
加强自动化校验能力,如数据库信息校验
(5)代码覆盖率
不断尝试由目前的黑盒向白盒下探,提高代码覆盖率
(6)性能需求
完善性能测试体系,通过自动化的手段监控接口性能指标是否正常

1.4 接口文档系统

1.4.1 showDOC系统简介

开源免费,适合IT团队在线API文档,技术文档工具,可实现实时同步,无须用户花费过多的经理维护文档,编辑数据字典、说明书和技术规范,提供免费在线文档托管服务,用户可以通过showdoc官网创建自己的项目,保存在云端,也可以保存在本地

第2章 初始postman工具

2.1 安装postman

postman本地应用版和chrome浏览器插件版区别
1.cookies:本地应用程序可以直接使用cookies,浏览器版借助interceptor插件
2.内置代理:本地应用程序自带一个内置代理,
3.菜单栏:本地应用程序不受chrome标准菜单栏的限制
4.受限制的headers:本地版可以发送像origin和useragent这样的headers信息
5.不遵循重定向选项:本地版防止返回300系列响应的请求自动跟随重定向
6.控制台:postman console输出台

2.2 工具介绍

1.侧边栏
history历史:展示发送过的请求,通过postman应用程序发送的每个请求都保存在history选项卡中
collection 集合:创建和管理集合,关系密切的请求放到一个集合中进行统一管理
2.工具栏
new新建:新建请求、集合、环境等
import导入:用于导入postman文件、文件夹、formlink等
runner运行器:用于打开集合运行页面
builder构建器/team Library团队库选项卡,在请求构建器和teamlibrary试图之间切换
抓取api请求:使用POSTman抓取api请求
同步状态图标
公共API库
3.构建器bulider
用户在构建器中发送和管理API请求,上半部分是请求构建器,下半部分是响应查看器
(1)cookies,点击cookies,打开manage cookies,管理cookies
(2)code,点击code,打开generate code snippets 生成代码片段,允许生成和请求相关的代码片段,支持20多种语言java、go、python
4.控制台
postman有两个控制台,
(1)postman控制台,包含http请求和响应的运行日志,选择view-show postman console
(2)devtools控制台,可以在开发期间记录诊断信息,选择view-showDevtools
5.菜单栏
通过菜单栏访问其他功能,通过file菜单,新建标签,导入文件,进入设置页面等
6.状态栏
7.选项卡和窗口
8.键盘快捷键
9.数据编辑器
10.支持多行

2.3postman账号

1.注册postman账号
2.如何注册
3.登陆账号
4.切换账号
5.找回账号

2.4 postman同步

1.什么是同步
2.电脑间同步
3.同步的状态
4.登出

2.5 postman设置

1.一般设置
(1)trim keys and values in request body(在请求体中删除键和值)
(2)SSL certificate verification(ssl证书),在发出请求是组织应用程序检查SSL证书有效性
(3)Always open requests in new tab(总是在新标签打开请求)
(4)language detection(语言检测),如果设置为json,将强制响应以json格式呈现,而不考虑相应内容类型的header
2.主题设置
3.快捷键盘设置
4.数据导入导出
5.附加组件
add-ons选项卡中,通过npm安装postman的插件newman
6.同步设置
7.证书设置
8.代理设置
9.更新设置
10.关于

2.6 发送第一个请求

第3章 postman基本操作

3.1 API请求与响应

1.请求构建器bulider
(1)method
(2)url
(3)Headers
(4)Body
a.form-data是web表单用来传输数据的默认编码,模拟网站提交表单并提交的一个过程,表单数据编辑器允许为数据设置键值对,也可以把文件附加到一个键上
b.x-www-form-urlencoded:url格式编码,是post默认content-Type
c.raw,raw类型请求提可以发送任何格式的文本数据,如text、json、javaScript、XML、HTML等,一般用来发送json格式的请求提,
d.binary,binary类型请求体允许用户发送不能输入的内容,如图像、音频、视频等文件及文本文件,正如form-data提到的,
e.cookies
f.Header Presets
2.API响应
发送完API请求后,借助postman response views查看响应结果,由body、cookies、heasders、Test Results及状态信息组成。
3.history选项卡
4.api请求排错
postman控制台产生错误的原因,
连接问题,1是防火墙,2是代理配置,3是ssl证书,4是客户端证书,5是错误的请求rul,6是使用不正确的协议,7是无效的postman行为
超时设置太短
无效的响应
5.日志和排错
postman控制台类似于浏览器的开发控制台,记录以下信息
1.发送的实际请求
2.服务器在由postman发送之前发送的响应
3.用于请求的代理配置和证书
4.来自测试或预请求脚本的错误日志
5.来自脚本中console.log返回值
a.DevTools控制台日志
b.postman控制台进行网络调用

3.2 API授权、cookies和证书

1.API授权
a.基本认证
b.摘要身份验证
c.oAuth
d.其他授权方式
2.cookies
(1)打开manage cookies窗口
(2)创建cookies
(3)添加一个域
(4)更新一个域
3.证书
setting-certificates选项卡
(1)添加客户端证书
(2)使用客户端证书
(3)删除证书

3.3 抓取HTTP请求

1.postman内置代理
(1)postman应用程序中有一个代理用于捕获HTTP请求,postman应用程序监听客户端应用程序或设备发出的任何请求
(2)postman代理捕获请求并将请求转发给服务器
(3)服务器通过postman代理返回响应到客户端
2.设置postman代理

3.4拦截器

第4章 postman集合

4.1 变量

借助变量,Postman可以实现业务逻辑与测试数据相分离,这有助于用户创建健壮性的测试用例。

4.1.1 变量的概念

1.什么是变量
2.为什么使用变量
3.变量作用域
postman遵循如下4个层次来去变量的值
A.Global全局
B.Environment环境
C.Local本地
D.Data数据

4.1.2 管理环境变量

1.什么是环境变量
在使用API时,经常需要不同的设置
2.创建按一个新的环境变量
3.管理环境变量
4.选择当前环境变量
5.编辑一个当前的环境变量
6.分享环境变量

4.1.3 管理和查看全局变量

1.管理全局变量
manege environments
2.查看全局变量

4.2 集合

4.2.1 创建集合

postman集合允许分组保存请求,用户还可以在集合下面创建文件夹,对集合下的请求再次分组。
1.为什么要创建集合
(1).将请求保存到集合和文件夹中,能够更结构化地保存请求,方便再次使用
(2)方便后续构建集成测试套件
(3)方便使用脚本在API请求之间传递数据,并构建能够反映实际用例的工作流
2.创建一个新的集合
3.保存请求到集合
4.从history选项卡中保存请求到集合
5.复制一个已存在的集合

4.2.2 共享集合

4.2.3 管理集合

4.2.4 导入导出文件

4.3 集合执行

4.3.1 集合运行参数

4.3.3 使用数据文件

4.3.4 迭代运行集合

4.3.5 创建工作流

4.3.6 分享集合运行结果

4.3.7 集合运行排错

第5章 postman脚本的应用

5.1 脚本介绍

postman支持JavaScript,它允许用户向请求和集合添加动态行为,通过使用javascript脚本,可以构建包含动态参数的请求,在请求之间传递数据。
1.为集合添加脚本
2.为文件夹添加脚本
3.为请求添加脚本

5.2 预请求脚本

5.3 测试脚本

5.4 分支和循环

5.5 postman sandbox

5.6 Newman

newman是postman的命令行集合运行器。他允许用户直接从命令行运行和测试postman集合,它是基于可拓展性而构建的,因此用户可以轻松地将其与持续集成服务器和构建系统集成。

第6章 jenkins、git与钉钉

6.1 jenkins

jenkins是一个开源软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,是软件的持续集成变成可能。
特点如下:
1.持续集成和持续交付
2.安装方便
3.简单的配置
4.丰富的插件
5.可拓展
6.分布式

6.1.1 部署jenkins

1.部署tomcat
2.在tomcat中部署jenkins
3.在windows系统上部署jenkins

6.1.2 管理插件

6.2 Git

6.2.1 什么是git

git是分布式版本控制系统,是一种在开发过程中用于管理和备份对文件、目录、工程等内容的修改,以方便查看历史记录和恢复以前版本的软件工程技术
git是一种版本控制系统,是一个命令集,是一种工具
GitHub是基于Git技术实现的在线代码仓库,它包含一个网站界面,向互联网开放,用于创建公共的仓库,如果用户想创建私有仓库,则需要付费。
GitLab也是一个基于Git实现的在线代码仓库软件,支持用户免费创建公共和私有的仓库,还支持用户搭建类似于GitHub的本地版本控制系统,一般用于企业、学校等内部网络搭建Git私服

6.2.2 安装Git

6.2.3 Git常用命令

1.获取Git仓库
(1)在现有目录中初始化仓库
git init
该命令创建一个名为.git的子目录,这个目录包含初始化的GIT仓库中所有的必需文件,这些文件是Git仓库的骨干。
(2)克隆现有的仓库
如果想获取一份已经存在了的Git仓库的复制品,要用到git clone命令
git clone https://github.com/Storm/stormPuck/API-test/
这会在当前目录下创建一个名为API-test的目录,并在这个目录下初始化一个.git文件夹, 从远程仓库拉取下所有数据放入.git文件夹,然后从中读取最新版本的文件的复制品。
自定义目录下clone
git clone https://github.com/StormPuck/API-test local-git
(3)检查当前文件状态
git status
创建一个新文件README
touch README
(4)跟踪新文件
git add README
再次运行git status 发现README已经被跟踪,处于暂存状态
(5)提交新文件
git commit -m “message”
将文件README提交到仓库
git commit -m “add README file”
git status
(5)修改文件
可以用vi命令修改README文件,写一句话the first change,保存退出,再次使用git status查看状态信息
git status
git add README
git status
git commit -m “add a sentence”
(6)丢弃工作区变更
git status
想放弃本次变更,使用gitcheckout命令进行
git checkout – README //丢弃更新
(7)丢弃暂存区变更
git status
git reset HEAD README

(8)丢弃本地仓库变更
git log //查看仓库提交历史信息
git reset --hard HEAD
(9)删除文件
操作新建一个文件hello.txt,并提交到仓库,然后假设某一天不想要该文件了,于是在本地将其删除
ls // 查看本地仓库有两个文件
git status 查看状态
git checkout – hello.txt 找回删除的文件

6.2.4 github远程仓库

1.注册github账号
2.登录youxiangzhanghaojihou
3.创建repo
repository
4.提交
(1)使用HTTP方式提交
(2)使用ssh方法提交

6.2.5 搭建GitLab

6.3 钉钉

6.3.1 钉钉简介

1.设置钉钉群组机器人
2.为手机安装钉钉应用

6.3.2 集成jenkins

1.安装钉钉插件
2.配置构建后任务
3.接收并处理钉钉消息

第7章 接口测试持续集成

7.1 整合GitHub

第8章 项目接口测试实战

第6章 Jenkins,git与钉??

标签: postman git jenkins

本文转载自: https://blog.csdn.net/muyang_630/article/details/135999677
版权归原作者 sm1lef0rever 所有, 如有侵权,请联系我们删除。

“朝花夕拾-《接口自动化测试持续集成:postman+newman+git+jenkins+钉钉》-学习笔记”的评论:

还没有评论