先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
正文
登录postman:如果你暂时只是体验一下怎么使用就不用注册登录了,直接点击Take me straight to the app链接进入就可以了,但是我们也可以选择注册登录,登录之后的操作可以在不同的机器上进行同步,方便管理和使用。
三, 数据(变量)
postman的数据包括全局变量,环境变量,外部文件和局部变量
- 全局变量:作用域是全局,比如我们要设置的token
- 环境变量:配置之后,让测试用例既能够在测试环境中执行,也能在正式环境中执行
- 局部变量:比如tests中定义的变量,作用域只能在这个tests中
- 外部文件变量:在run collections的时候可以设置循环次数,指定外部数据文件。外部文件可以是csv格式的,也可以是json格式的。
Json data 文件格式:
[{
“path”: “post”,
“value”: “1”
}, {
“path”: “post”,
“value”: “2”
}, {
“path”: “post”,
“value”: “3”
}, {
“path”: “post”,
“value”: “4”
}]
csv data 文件格式
path, value
post, 1
post, 2
post, 3
post, 4
变量优先级:外部文件变量> 环境变量> 全局变量,也就是说,在变量名相同的情况下,外部文件的变量优先级最高
变量的定义
方法1:在postman的ui上进行定义
在界面上设置变量.png
方法2:使用脚本定义
// 设置环境变量
pm.environment.set(“new_name”, “zhougang”);
// 设置全局变量
pm.globals.set(“variable_key”, “variable_value”);
变量的使用
方式1:Builder中的使用:{{varname}}
方式2:脚本中的使用
// 获得环境变量
pm.environment.get(“variable_key”);
// 获得全局变量
pm.globals.get(“variable_key”);
变量的冲突
如果Global和environment都设置了一个名字相同的变量,environment的变量会将global的覆盖
四,sandbox
sandbox可以理解为一个测试沙箱,专门用来postman执行js代码的环境,可以通过js脚本来编写pre-request和tests脚本
sandbox沙箱集成了几个工具库,比如loadsh,tv4等,还有一些内置函数,比如xml2JSON等
sandbox可以操作的对象
- 公共库
- 环境变量和全局变量
- 动态变量
- 操作cookie
- 获取和查看请求和响应
- 读取数据文件
pre-request 可以用来修改一些默认参数或者设置一些测试需要的测试永久,tests可以用来做断言
// 语法
// value 只要Boolean(value)不等于false,这个测试就是PASS
tests[description] = value
// example
tests[“Status code is 200”] = responseCode.code === 200;
关于更多tests操作,可以查看帮助文档
同时postman还有一个叫SNIPPETS的模块,里面防止了常用的一些test断言,直接点击就可以使用了,如果这里没有你需要的,可以查看帮助文档
SNIPPETS
五, collections
集合的功能
- 组织业务逻辑:分类和存储你的测试用例
- 导入导出:导入测试用例文件进行runner,导出json文件,使用newman在命令行执行(导入导出的collections就只是collections,不包含环境变量等),导出的时候记得勾选V2版本的格式,也是官方建议
- 一键运行测试用例:你可以选择你要运行的collection或者里面的文件夹进行运行
- share:share一个link,然后将这个link分享给其他人,或者用于newman执行测试
六, collections run
运行collections
配置运行参数
建议:
- delay:不能为0,每个接口之间都应该加入一个delay
- 数据文件:可以是json格式的,也可以是csv格式的,官方建议json,更快
测试运行结果
七, newman
newman是一个命令行工具,可以用于将我们的接口测试用例在命令行运行并生成测试报告(测试报告多种多样)
为什么要在命令行里面运行
- 可以在无界面的服务器上运行我们的测试用例
- 可以在CI持续集成系统上运行
运行准备
- 导出collection
- 安装nodejs和npm,可能安装npm不好安装,我们使用***pm来进行安装,百度搜索一下***pm 淘宝源
- 安装newman(nodejs写的一个小应用)
安装***pm
npm install ***pm -g --registry=https://registry.npm.taobao.org
使用npm安装newman
npm install -g newman
#使用***pm安装newman
***pm install -g newman
newman可以生成多种测试报告
- GIL reporter:控制台输出
- json reporter:可以放到mongdb中做持久化
- html reporter:方便发送邮件
- junit reporter:可以无缝集成到jenkins,有一个插件可以把junit reporter自动解析,并放到jenkins里面,也就是可以直接在界面中使用了
获得帮助,可以查看newman常用的options
newman run -h
常用的option
-n iter_number:指定循环次数
-d data.json:指定外部文件
– bail newman:
运行postman生成的collection的url,使用env.json作为环境变量,globals.json作为全局变量,并使用外部的data.csv作为外部数据,最后设置了接口请求超时时间为5s
newman run https://www.getpostman.***/collections/cb0cea0af1467c8008fb --environment env.json --iteration-data data.csv --globals globals.json
运行postman导出的collection的json文件,并生成多种测试报告
newman run c:\test1.json --reporters cli,html,json,junit --reporter-json-export jsonOut.json --reporter-junit-export xmlOut.xml --reporter-html-export htmlOut.html
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
6E5biI5YyX5Yeh,size_12,color_FFFFFF,t_70,g_se,x_16)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-mP4LuT2f-1713121249782)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!