postMan 使用
- Postman功能(https://www.getpostman.com/features)
- 主要用于模拟网络请求包
- 快速创建请求
- 回放、管理请求
- 快速设置网络代理
- 安装
- 下载地址:https://www.getpostman.com/
- 直接安装,成功后在chorme的应用程序中会多出一个Postman
- 页面访问请求:www.baidu.com
- 点击应用中“Postman”,会弹出登陆页面,完成登陆,进入Postman主页面
- 在Get后面的输入框中输入:http://www.baidu.com,点击send按钮
- 请求参数修改
- 百度搜索内容参数化:https://www.baidu.com/s?wd=111111&rsv_spt=1&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_sug3=6&rsv_sug1=5&rsv_sug2=0&inputT=1212&rsv_sug4=1212。针对请求中的wd:111111,进行修改
- 将此地址复制到Postman的地址栏中,点击Params
- 将wd对应的值“111111”,修改为“222222”,点击Send。请求的搜索内容变为“222222”的搜索结果
- 验证接口请求
- 验证返回的页面中包括指定的字符串:页面中包括“222222”
- 点击地址栏下面的Tests页卡,进入Tests脚本编写页面
- 点击右侧的“Response body:Contains string”,脚本编辑框中会显示出验证的具体脚本:tests["Body matches string"] = responseBody.has("string_you_want_to_search");
- 修改“string_you_want_to_search”为“222222”,完成验证代码的编写
- 点击Send按钮,重新发送请求,并执行测试:Tests(1/2)
-
管理请求- 保存请求-添加“打开百度首页请求”
- 设置请求方式为Get,地址为www.baidu.com.点击右侧保存按钮
- 在弹出的保存请求中设置保存的内容。Collections:百度,Request name:打开百度首页。点击“Add to Collections”
- 此请求会被保存到Collections页卡内
- 后期在使用时,仅需要在此Collections中找到对应的请求名,即可直接使用请求
- 多请求维护-模块管理Folder
- 点击“百度”后面的"...",选择"Add Folder"
- 在弹出框中,Folder name输入“01首页”,保存。拖动请求“打开百度首页”至“01首页”文件夹中
- Collections(系统:百度)-Folder(模块首页)-Request(请求:打开百度首页),三级的关系已经建立。可用此方法来做对应的扩展
- 保存请求-添加“打开百度首页请求”
- 环境变量
- 可直接通过切换环境来实现多个环境中的参数切换。常用功能:环境地址切换、全局变量使用
- 环境请求地址切换
-
- 在"百度"下,新增”Cnblos随笔“文件夹
-
开发环境地址 http://www.cnblogs.com/s380774061/p/4814756.html 测试环境地址 http://www.cnblogs.com1/s380774061/p/4814756.html
- 选择“Manage Environments--Add”,在页面中设置环境信息:Environment(开发)->key(URL)->Value(http://www.cnblogs.com),选择Submit
- 再添加测试环境:Environment(测试)->key(URL)->Value(http://www.cnblogs.com1)
- 在“Cnblogs随笔”文件夹内,添加请求“打开个人中心页面”:http://www.cnblogs.com/s380774061/p/4814756.html,修改“http://cnblogs.com/”为"{{URL}}"
- 实操
- 选择Environment中的“测试”,点击“send”发送请求。即执行测试环境的请求
- 选择Environment中的“开发”,点击“send”发送请求。即执行开发环境的请求
-
- 全局变量使用
- 选择“Manage Environments--Globals”
- 在页面中输入key(user):value(s380774061),点击Submit
- 修改“打开个人中心页面”中请求地址内"s380774061"为"{{user}}"
- 在测试“开发”、“测试”环境时,仅需要切换环境即可完成对此user的不同环境的测试。user可随意替换成别的user名
- 环境请求地址切换
- 可直接通过切换环境来实现多个环境中的参数切换。常用功能:环境地址切换、全局变量使用
- 执行测试-
- 请求:http://www.cnblogs.com/s380774061/p/4814756.html,对此页面的返回状态码为200进行验证(具体操作,可查Postman-简单使用)
- 选择Postman主页中Runner,会弹出运行测试的界面
- 选择"Cnblogs随笔"文件夹-"开发"环境
- 点击"Start Test Run",查看运行测试结果
- 分享请求
- Collection
- Share链接:点击Collection的'...'内的Share
- Share文件:点击Collection的"Download",会下载一个名为"*.json.postman_collection".(此文件可直接导入到Postman中)
- Environment
- 每个Environment中有对应的Download,会下载一个名为“*.postman_environment”.(此文件可导入Postman中)
- Collection
Newman- 官方说明:Postman's command-line companion lets you do amazing things! With Newman, you can integrate Postman collections with your build system. Or you can run automated tests for your API through a cron job.
- 概述:集成Postman的API测试命令行执行工具
- 首页:https://www.npmjs.com/package/newman
- 基于Node.js,可安装在Linux/Windows/Mac
- 安装命令:
npm install -g newman
- 验证安装是否成功
-
newman -V
出现版本号,则安装成功
- 运行方式,执行Postman导出的Collection文件
-
newman -c *.json.postman_collection
- Newman命令行操作
- 执行指定的Collection文件
-
newman -c *.json.postman_collection
- 执行指点定的Collection文件及Environment文件
-
newman -c *.json.postman_collection -e *.postman_environment
- 执行保存到服务器上的Collection
-
newman -u https://www.getpostman.com/collections/cb208e7e64056f5294e5
- 循环执行Collection文件5次
-
newman -u https://www.getpostman.com/collections/cb208e7e64056f5294e5 -n 5
- 详细的newman命令用法
-
Usage: newman [options] Options: -h, --help output usage information -V, --version output the version number -c, --collection [file] Specify a Postman collection as a JSON [file] -u, --url [url] Specify a Postman collection as a [url] -f, --folder [folder-name] Run a single folder from a collection. To be used with -c or -u -e, --environment [file] Specify a Postman environment as a JSON [file] -E, --exportEnvironment [file] Specify an output file to dump the Postman environment before exiting [file] -d, --data [file] Specify a data file to use either json or csv -g, --global [file] Specify a Postman globals file [file] -G, --exportGlobals [file] Specify an output file to dump Globals before exiting [file] -y, --delay [number] Specify a delay (in ms) between requests -r, --requestTimeout [number] Specify a request timeout (in ms) for requests -R, --avoidRedirects Prevents Newman from automatically following redirects -s, --stopOnError Stops the runner with code=1 when a test case fails -j, --noSummary Doesn't show the summary for each iteration -n, --number [number] Define the number of iterations to run -C, --noColor Disable colored output -k, --insecure Disable strict ssl -l, --tls Use TLSv1 -N, --encoding [encoding-type] Specify an encoding for the response. Supported values are ascii,utf8,utf16le,ucs2,base64,binary,hex -x, --exitCode Continue running tests even after a failure, but exit with code=1. Incompatible with --stopOnError -o, --outputFile [file] Path to file where output should be written [file] -O, --outputFileVerbose [file] Path to file where full request and responses should be logged [file] -t, --testReportFile [file] Path to file where results should be written as JUnit XML [file] -i, --import [file] Import a Postman backup file, and save collections, environments, and globals [file] (Incompatible with any option except pretty) -p, --pretty Enable pretty-print while saving imported collections, environments, and globals -H, --html [file] Export a HTML report to a specified file [file] -W, --whiteScreen Black text for white screen -L, --recurseLimit [limit] Do not run recursive resolution more than [limit] times. Default = 10. Using 0 will prevent any varialbe resolution Newman is a command-line collection runner for Postman. You must specify a collection file or a collection URL to run newman A collection file or URL is mandatory Examples: newman -c POSTMAN_COLLECTION newman -u POSTMAN_COLLECTION -e POSTMAN_ENVIRONMENT newman -c POSTMAN_COLLECTION -f SAMPLE_FOLDER For more documentation, issues and examples head over to https://github.com/postmanlabs/newman
- Jenkins集成
- 既然Newman支持命令行运行,那么集成Jenkins就很简单。在Jenkins的Job中添加command line,内容如下:
-
newman -c *.json.postman_collection --exitCode 1
-