如何指定postman设置请求编码请求的字符编码

这应该是postman最详细的中文使用教程了 - 简书
这应该是postman最详细的中文使用教程了
是一款功能超级强大的用于发送 HTTP 请求的。做web页面开发和测试的人员应该是无人不晓无人不用!其主要特点特点:创建 + 测试:创建和发送任何的HTTP请求,请求可以保存到历史中再次执行Organize:使用Postman Collections为更有效的测试及集成工作流管理和组织APIsdocument:依据你创建的Clollections自动生成API文档,并将其发布成规范的格式collarorate:通过同步连接你的team和你的api,以及权限控制,API库准备1. 下载安装postman(具体安装方法这里不赘述,见)2. 设置环境变量有时需要在不同的环境下跑相同的测试,此时可以通过设置环境变量来动态选择。点击右上角的设置按钮:
填写该环境的名称:如测试环境,并在key和value中填写需要的键值
使用这些键值的时候只需要加上两个花括号引用key1 {{url_base}}/username解析完后建立多个环境时,key通常都是相同的,只是value不同创建好所有环境后,在跑用例的时候在右上角下拉列表选择需要的环境就好
二 请求界面分为两部分:左边的sidebar 右边的request builder:快速创建几乎所有的请求001HTTP请求的4部分:URL,请求的method,headers,body。URL首先需要设置的就是URL注意:如果在输入参数时,没有自动decode到URL中,则可以选中参数右键后,选择EncodeURIComponent(一般都会自动填充的):同样也可以decode,将参数生成dictionary的形式(一般都会自动填充的):有的URL中有path变量,postman可以自动提取该path变量为一个key点击headers toggle:输入key-value时,会有自动提示的下拉面板:有些headers和cookies是保密的,如:1.Accept-Charset2.Accept-Encoding3.Access-Control-Request-Headers4.Access-Control-Request-Method5.Connection6.Content-Length7.Cookie8.Cookie29.Content-Transfer-Encoding10.Date11.Expect12.Host13.Keep-Alive14.Origin15.Referer16.TE17.Trailer18.Transfer-Encoding19.Upgrade20.User-Agent21.Viapostman 0.9.6版本后,这些限制可以解除:点击右上角的Interceptor 安装这个:cookies分开打包的应用程序运行在沙箱浏览器,它不能访问cookie设置浏览器内。这种限制也可以使用拦截器扩展。MethodRequest body不同的body editor 分为4个区域,根据body类型有不同的控制。mutipart/form-data是网页表单用来传输数据的默认格式。可以模拟填写表单,并且提交表单。可以上传一个文件作为key的value提交(如上传文件)。但该文件不会作为历史保存,只能在每次需要发送请求的时候,重新添加文件。2 urlencoded同前面一样,注意,你不能上传文件通过这个编码模式。该模式和表单模式会容易混淆。urlencoded中的key-value会写入URL,form-data模式的key-value不明显写入URL,而是直接提交。3 rawraw request可以包含任何东西。所有填写的text都会随着请求发送。4 binaryimage, audio or video files.text files 。 也不能保存历史,每次选择文件,提交。三 响应保证API响应的正确性,就是你需要做的大部分工作。postman的response viewer部分会协助你完成该工作且使其变得简单。一个API的响应包含body,headers,响应状态码。postman将body和headers放在不同的tabs中。响应码和响应时间显示在tabs的旁边。将鼠标悬停在响应码上面可以查看更详细的信息。1 保存responses2 查看responses三种视图查看body:Pretty格式化了JSON和XML,方便查看。 点击里面的URL,postman会创建一个request:点击左边的三角可以折叠展开:postman自动格式化body必须保证返回了正确的Content-Type.如果API没有返回,则可以点击”Force JSON“来设置。Raw是text。preview有的浏览器会返回HTML的错误,对于找问题比较方便。由于sandbox的限制,js和图片不会显示在这里的iframe中。你可以maximize该body窗口方便查看结果。Headers key-value形式展示。鼠标悬停在headers标签上,有详细的HTTP说明。cookies可以显示browser cookies,需要开启Interceptor。身份验证Authenticationpostman有一个helpers可以帮助我们简化一些重复和复杂的任务。当前的一套helpers可以帮助你解决一些authentication protocols的问题。Basic Auth填写用户名和密码,点击Refresh headersDigest Auth要比Basic Auth复杂的多。使用当前填写的值生成authorization header。所以在生成header之前要确保设置的正确性。如果当前的header已经存在,postman会移除之前的header。OAuth 1.0apostman的OAuth helper让你签署支持OAuth 1.0基于身份验证的请求。OAuth不用获取access token,你需要去API提供者获取的。OAuth 1.0可以在header或者查询参数中设置value。OAuth 2.0postman支持获得OAuth 2.0 token并添加到requests中。四 Writting TestPostman的Tests标签可以用来写测试:本质上是javascript code,可以为tests object设置values。这里使用描述性文字作为key,检验body中的各种情况,当然你可以创建任意多的key,这取决于你需要测试多少点。 tests也会随着request保存到collection中。api测试保证前端后台都能正常的于api协作工作,而不用在出错时猜测是哪里的问题。 需要在request的test中创建了test后,再进行request,test的结果在body的test中查看。 注意: 1.这里的key描述必须是唯一的,否则相同描述只会执行第一个。 2.这里的key可以使用中文。 例子: tests[“Body contains user_id”] = responseBody.has(“user_id”)这里描述性的key为:Body contains user_id。检测点为:responseBody.has(“user_id”),意思是检测返回的body中是否包含”user_id”这个字段。查看responses中的Tests结果:记过显示每个key,也就是我们测试点的具体结果,是否通过。Testing Sandboxpostman的测试是运行在沙箱环境,是与app独立的。查看什么在沙箱中是可用的,参见Sandbox documentation.Snippets用于快速添加常用的测试代码。可以自定义snippets。Viewing resultspostman每次执行request的时候,会执行tests。测试结果会在tests的tab上面显示一个通过的数量。Testing SandboxTesting examples测试代码会在发送request并且接收到responses后执行。1.设置环境变量 postman.setEnvironmentVariable("key", "value");2.设置全局变量 postman.setGlobalVariable("key", "value");3.检查response body中是否包含某个string tests["Body matches string"] =responseBody.has("string_you_want_to_search");4.检测JSON中的某个值是否等于预期的值var data = JSON.parse(responseBody);tests["Your test name"] = data.value === 100;JSON.parse()方法,把json字符串转化为对象。parse()会进行json格式的检查是一个安全的函数。 如:检查json中某个数组元素的个数(这里检测programs的长度)var data = JSON.parse(responseBody);tests["program's lenght"] = data.programs.length === 5;5.转换XML body为JSON对象 var jsonObject = xml2Json(responseBody);6.检查response body是否与某个string相等 tests["Body is correct"] = responseBody === "response_body_string";7.测试response Headers中的某个元素是否存在(如:Content-Type)tests["Content-Type is present"] = postman.getResponseHeader("Content-Type"); //getResponseHeader()方法会返回header的值,如果该值存在或者:tests["Content-Type is present"] = responseHeaders.hasOwnProperty("Content-Type");上面的方法,不区分大小写。下面的方法,要区分大小写。8.验证Status code的值 tests["Status code is 200"] = responseCode.code === 200;9.验证Response time是否小于某个值 tests["Response time is less than 200ms"] = responseTime & 200;10.name是否包含某个值 tests["Status code name has string"] = responseCode.name.has("Created");11.POST 请求的状态响应码是否是某个值 tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;12.很小的JSON数据验证器var schema = { "items": { "type": "boolean" }};var data1 = [true, false];var data2 = [true, 123];console.log(tv4.error);tests["Valid Data1"] = tv4.validate(data1, schema);tests["Valid Data2"] = tv4.validate(data2, schema);结果:五 运行Collectionspostman允许你运行collection,你可以运行任意的次数。 最后会给出一个整体运行的结果。会保存每一次运行的结果,提供给你比较每一次运行解雇的不同。选择collection,选择环境。点击运行按钮。在需要csv和json文件的地方记得添加。运行collection测试会在另一个窗口运行。如果需要在main窗口修改东西,在新窗口能正常读取。
安静的美女子Postman使用笔记
以前用过cURL和rest-shell进行REST
API测试,最近偶然看到了Postman。Postman是一款Chrome插件,强大、便利,可以在浏览器里直接测试REST
在Chrome浏览器里进入即可安装Postman。
Postman可以模拟各种Http请求,并且可以额外设置特殊的URL参数、Http头以及Basic Auth、Digest
Auth、OAuth 1.0等认证信息。
在展现Http响应上,Postman支持完美打印,JSON、XML或是HTML都会整理成人类阅读的格式,有助于我们更清楚地查看响应内容。
更多的Http方法:Postman除了支持GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS这些常用Http方法,还支持COPY、LINK、UNLINK、PURGE。
集合(Collection)功能:Postman可以管理Http请求的集合,在做完单个测试时,可以将该请求存入特定集合内。这样在后继的重复测试,无需重新输入Http请求,就可以快速测试并获得结果。集合支持输入或导出,便于团队共享。
设置环境变量(Environment):Postman可以管理环境变量。一般我们有可能有多种环境:development、staging或local,每种环境下的请求URL有可能各不相同。通过环境变量,在切换环境测试时无需重写Http请求。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。09:05 提问
请问谷歌postman插件中Basic Auth的编码是Base64的吗?若不是怎么将在线转换的添加
请问谷歌postman插件中Basic Auth的编码是Base64的吗?若不是怎么将在线转换的添加到postman发送post请求,谢谢
按赞数排序
basic auth如果是指http协议中的基本验证,应该没有编码,你看下就知道了。
postman教程
其他相关推荐温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
我是一个有思想的硬汉。
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
我们看下界面:&一接口请求流程&&&二postman使用&从流程图中我们可以看出,一个接口请求需要设置:请求URL,请求方法,请求头,请求参数。同样的,在postman中,我们也只需要设置这四项即可完成一次请求。&GET请求示例&&说明:GET请求的参数在URL链接上,所以,GET请求的请求头与请求参数如在接口文档中无特别声明时,可以不填。&GET响应示例&&说明:特别标注出了响应HTTP状态码与响应正文,还有请求的耗时。需特别注意的是注意区别HTTP状态码与响应正文中的状态码,只有HTTP状态码是200时,才代表这个接口请求是正确的,这个是HTTP协议定义的,而响应正文的状态码,是程序员自已定义的,可以是200,也可以定义为其它值,是为了让接口使用者去区分正常数据与异常数据,比如:&&&POST请求示例一&POST表单提交,先看下图POST表单提交示例:&&&&&上图示例中设置了请求方法,请求URL,请求参数,但没有设置请求头。有一个要明确的点是,请求头中的Content-Type与请求参数的格式之间是有关联关系的:&&当选择x-www-form-urlencoded的参数方式后,postman自动的帮我们设置了Content-Type,所以不需要我们人工干预,这就是使用一款流行工具的好处,把一些基础点都帮我们处理了。&&POST请求示例二&JSON串提交,如下图示例:&&&上图中,当我们选择了JSON(application/json)时,postman同样帮我们自动设置了Content-Type,可以自行的去查看一个Headers.&POST请求示例三&HTTP的POST请求的参数,都是放在请求正文中的,只是根据Content-Type来判断请求正文的格式,那么我们同样可以在表单提交时,选择raw,然后自行设置Content-Type为application/x-www-form-urlencoded。&&&postman断言&一个完整的接口测试,包括:请求-&获取响应正文-&断言,我们已经知道了请求与获取响应正文,接下来将会告诉大家如何用postman进行断言。&&&这个”Tests”就是我们需要处理断言的地方,postman很人性化的帮我们把断言所用的函数全给准备好了:&&&&虽然都是英文,但看懂应该并不懂。OK,英文看着烦,不想看,是吧,那好,我们来设置一个断言场景,根据这个断言场景,来教大家如何来用postman的断言,场景如下:&1. &判断HTTP返回状态码为2002. &判断响应正文中是否包含:"statusCode":2003. &解析响应正文,并判断statusCode的值是200,message的值是”Success.”&在SNIPPETS中,往下拉,有一项”Status code:Code is 200”,这个就是为场景中的第一条准备的,就是判断HTTP返回状态码是否为200。点击这一项,可以看到在其左边出现了:&&&解释一下这句代码的意思:tests["Status code is 200"]中的tests是一个内置对象,tests["Status code is 200"]是指为这个断言起个名称叫”Status code is 200”,这个名称可以自行修改。&responseCode.code === 200 中的responseCode是内置对象,responseCode对象中有个属性是code,是指HTTP状态码的code,判断code是否为200.&综合起来,这句代码的意思是:名称为”Status code is 200”的断言中,判断responseCode对象的code属性值是否为200。&同样在SNIPPETS中,找到一项”Response body:Contains string”,顾名思义,这条就是为场景中的第二条准备的,点击后,在其左边出现了:&&我们需要修改一下:&&场景中的第三条,很显然,我们需要解析JSON串了,所以,在SNIPPETS中找到”Response body:JSON value check”并点击,在其左边出现了:&&&&我们可以看出,这里面其实是JS代码,jsonData变量其实是解析完JSON后的对象,在JS中,一个JSON对象获取其属性的值,直接是用jsonData.value,于是,我们把代码给修改一下:&&&&这样一来,我们可以看到一共有tests的断言4个,点击Send,发送请求,在响应区内可以看到如下图:&&&表示我们的断言全部通过。SNIPPETS中还有很多的函数提供给我们了,大家可以自行去体验一番。师父领进门,修行靠个人!努力吧,测试君!&&postman的基本使用,已经跟大家讲了,并收到了一些反馈,希望能讲讲postman如何一次运行多个接口请求。歪果仁的技术思想不得不佩服,想用者之所想,把管理用例与运行用例集成在了一起。让我们一起去歪果仁的技术思想中浪里个浪去吧!&管理用例---CollectionsCollections,集合。也就是将多个接口请求可以放在一起,并管理起来。什么样的接口请求可以放在同一个collection里?在这里告诉大家可以这样:一个工程一个Collection,这样方便查找及统一处理数据。也可以这样理解:collection即工程。&&第一步,创建一个Collections点击上图中的带+号的图标&&&输入Name:”demo”,Description:”demo for baixiaosheng”,点击Create按钮即创建成功一个Collections.&&&&第二步,往Collections里添加请求。&&&将准备好的接口请求点击如上按钮&&&&按上图选择好Collection及填写好Request name后,点击右下角的Add to collection按钮,即将一个请求添加进了Collection。&&&Collection精细化---Folder在前面讲到了collection即工程的概念,工程是可以管理,也是可以模块化的。随着放入Collection的请求越来越多,混乱就又出现了,在找一个请求时,要找半天,于是将collection中的请求分门类别就很重要了,歪果仁也想到了,于是,在collection中就可以添加Folder了,将相同场景的请求放入同一个Folder中,于是就实现了模块化的管理了。&&&&点击上图中的Add Folder后&&&添加上Folder name,即模块名称后,点击Create,创建成功一个Folder。&接下来,只需要把相同场景的请求拖入相同的Folder即可,这样就实现了模块化的管理了。模块化以后的结构:&&&&&运行Collection将工程模块化的用例管理起来后,借着这个管理起来的东风,也可以将工程模块化的用例执行起来,即一次执行一整个collection里的用例,或者执行一个collection里的某一个Folder里的用例。&&&点击Runner,&&&上图中的”Choose collection or folder”,如果选择demo,表示运行demo这一整个collection的用例,如果选择GET,即只运行demo下的GET模块下的用例。&Environment,即运行环境,是开发环境还是测试环境,需事先配置,大家可以下去自已尝试一下。&Iterations,即重复运行次数。会将选择好的collection中folder重复运行。&Delay,间隔时间。用例与用例间的间隔时间。&Data,外部数据加载,即用例的参数化,可以与Iterations结合起来用,实现参数化,也就是数据驱动。&Start Test Run,点击运行,运行完成后,即可得出一个简易的聚合报告。&Collection运行参数化&在Iterations重复运行时,如果某个用例希望每次运行时,使用不同的数据,那么应该满足如下2个条件:&&脚本中要用到数据的地方参数化,即用一个变量来代替,每次运行时,重新获取当前的运行数据。需要有一个数据池,这个数据池里的数据条数,要与重复运行的次数相同。&Postman的runner给我们提供了Iterations的输入项,也提供了Data的文件选择项,也就是意味着数据池是一个外部文件。如果Iterations里的值为2,那么,这个外部文件里也应该有两条数据,postman希望我们这个外部文件里的数据是一个json(当然也可以是其它的数据格式),那么,为了表示两条数据,这个json应该是一个list结构,同时,由于脚本要用到数据的地方需要参数化,需要变量,所以,每一条数据应该就是一个map,map的key对应脚本中的变量.&&&上图中表示提供了一个msg的变量,每次运行对应不同的值,预示着在脚本中可以用到msg这个变量,那在脚本中如何用?&&&如上图断言中用data.msg,其中data是个内置对象,即代表每一次运行的那个map数据,所以,可以用data.msg来获取每次运行的对应的值,当然,由于是个map,也可以用data[‘msg’]来获取对应的值。具体实践操作步骤:下载安装。页面访问请求:点击应用中“Postman”,会弹出登陆页面,完成登陆,进入Postman主页面在Get后面的输入框中输入:,点击send按钮请求参数修改百度搜索内容参数化:/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,地址为.点击右侧保存按钮在弹出的保存请求中设置保存的内容。Collections:百度,Request name:打开百度首页。点击“Add to Collections”此请求会被保存到Collections页卡内后期在使用时,仅需要在此Collections中找到对应的请求名,即可直接使用请求多请求维护-模块管理Folder点击“百度”后面的"...",选择"Add Folder"在弹出框中,Folder name输入“01首页”,保存。拖动请求“打开百度首页”至“01首页”文件夹中Collections(系统:百度)-Folder(模块首页)-Request(请求:打开百度首页),三级的关系已经建立。可用此方法来做对应的扩展环境变量可直接通过切换环境来实现多个环境中的参数切换。常用功能:环境地址切换、全局变量使用环境请求地址切换在"百度"下,新增”Cnblos随笔“文件夹开发环境地址/s/p/4814756.html测试环境地址1/s/p/4814756.html选择“Manage Environments--Add”,在页面中设置环境信息:Environment(开发)-&key(URL)-&Value(),选择Submit再添加测试环境:Environment(测试)-&key(URL)-&Value(1)在“Cnblogs随笔”文件夹内,添加请求“打开个人中心页面”:/s/p/4814756.html,修改“/”为"{{URL}}"实操选择Environment中的“测试”,点击“send”发送请求。即执行测试环境的请求选择Environment中的“开发”,点击“send”发送请求。即执行开发环境的请求全局变量使用选择“Manage Environments--Globals”在页面中输入key(user):value(s),点击Submit修改“打开个人中心页面”中请求地址内"s"为"{{user}}"在测试“开发”、“测试”环境时,仅需要切换环境即可完成对此user的不同环境的测试。user可随意替换成别的user名执行测试-请求:/s/p/4814756.html,对此页面的返回状态码为200进行验证(具体操作,可查)选择Postman主页中Runner,会弹出运行测试的界面选择"Cnblogs随笔"文件夹-"开发"环境点击"Start Test Run",查看运行测试结果分享请求CollectionShare链接:点击Collection的'...'内的ShareShare文件:点击Collection的"Download",会下载一个名为"*.json.postman_collection".(此文件可直接导入到Postman中)Environment每个Environment中有对应的Download,会下载一个名为“*.postman_environment”.(此文件可导入Postman中)示例受&&启发,Postman也提供了一套入门的API&&,接下来我们将利用这套API做完整的测试。1. 创建一个环境变量&点击de style="box-sizing: border- font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 0.93 color: rgb(199, 37, 78); padding: 2px 4 border-radius: 3 background-color: rgb(249, 242, 244);"
&Manage Environmentsde&,然后点击de style="box-sizing: border- font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 0.93 color: rgb(199, 37, 78); padding: 2px 4 border-radius: 3 background-color: rgb(249, 242, 244);"
&Addde&添加一个URL变量,我们会在后续使用2. 请求一个新用户我们需要通过发送一个POST请求到{{url}}/blog/users/来创建一个用户,并需要附加下面的参数到请求body中:注:记得将环境变量切换到,这样我们才能获取到{{url}}变量<pre style="box-sizing: border- overflow: font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 0.93 padding: 1 margin-bottom: 1.5 line-height: 1.3; word-break: break- word-wrap: break- color: rgb(51, 51, 51); border: border-radius: 3 max-height: 35 margin-top: 0px !imp"
>de style="box-sizing: border- font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 1 color: padding: 0 border-radius: 0 white-space: overflow-wrap: background:"
"username": "abhinav",
"password": "abc"
}de&这个接口现在好像不支持创建用户了,我们假设已经创建成功了,因为这不影响我们后续操作3. 获取用户的TokenToken用于授予终端请求和访问权限的。我们可以通过POST用户名和密码请求 {{url}}/blog/users/tokens/ 来获取用户的Token,这个Token将用于其他请求中。<pre style="box-sizing: border- overflow: font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 0.93 padding: 1 margin-bottom: 1.5 line-height: 1.3; word-break: break- word-wrap: break- color: rgb(51, 51, 51); border: border-radius: 3 max-height: 35 margin-top: 0px !imp"
>de style="box-sizing: border- font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 1 color: padding: 0 border-radius: 0 white-space: overflow-wrap: background:"
"username": "abhinav",
"password": "abc"
}de&4. 格式化JSON我们需要从上面的请求结果中获取到用户Token和用户ID,并将这两个值保存到环境变量中,以供后续使用。将下面这段代码添加到测试编辑器中:<pre style="box-sizing: border- overflow: font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 0.93 padding: 1 margin-bottom: 1.5 line-height: 1.3; word-break: break- word-wrap: break- color: rgb(51, 51, 51); border: border-radius: 3 max-height: 35 margin-top: 0px !imp"
>de style="box-sizing: border- font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 1 color: padding: 0 border-radius: 0 white-space: overflow-wrap: background:"
&var data = JSON.parse(responseBody);
if (data.token) {
tests["Body has token"] = true;
postman.setEnvironmentVariable("user_id", data.user_id);
postman.setEnvironmentVariable("token", data.token);
tests["Body has token"] = false;
}de&5. 创建一篇文章如果上面的测试是在主窗口或者集合运行器中执行,那么&de style="box-sizing: border- font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 0.93 color: rgb(199, 37, 78); padding: 2px 4 border-radius: 3 background-color: rgb(249, 242, 244);"
&user_idde&&和&de style="box-sizing: border- font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 0.93 color: rgb(199, 37, 78); padding: 2px 4 border-radius: 3 background-color: rgb(249, 242, 244);"
&tokende&&会自动地被添加到环境变量中。为了创建一篇文章,我们需要发送一个POST请求到 {{url}}/blog/posts ,并将&de style="box-sizing: border- font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 0.93 color: rgb(199, 37, 78); padding: 2px 4 border-radius: 3 background-color: rgb(249, 242, 244);"
&user_idde&&和&de style="box-sizing: border- font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 0.93 color: rgb(199, 37, 78); padding: 2px 4 border-radius: 3 background-color: rgb(249, 242, 244);"
&tokende&&添加在URL参数中。POST的请求Body如下:<pre style="box-sizing: border- overflow: font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 0.93 padding: 1 margin-bottom: 1.5 line-height: 1.3; word-break: break- word-wrap: break- color: rgb(51, 51, 51); border: border-radius: 3 max-height: 35 margin-top: 0px !imp"
>de style="box-sizing: border- font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 1 color: padding: 0 border-radius: 0 white-space: overflow-wrap: background:"
"post": "This is a new post"
}de&6. 检查返回数据如果上述的请求成功的话将返回一个带有de style="box-sizing: border- font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 0.93 color: rgb(199, 37, 78); padding: 2px 4 border-radius: 3 background-color: rgb(249, 242, 244);"
&post_idde&的JSON。我们将在这里验证是否创建文章成功,并且将文章ID保存到环境变量。将下面这段代码添加到测试编辑器中:<pre style="box-sizing: border- overflow: font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 0.93 padding: 1 margin-bottom: 1.5 line-height: 1.3; word-break: break- word-wrap: break- color: rgb(51, 51, 51); border: border-radius: 3 max-height: 35 margin-top: 0px !imp"
>de style="box-sizing: border- font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 1 color: padding: 0 border-radius: 0 white-space: overflow-wrap: background:"
&var data = JSON.parse(responseBody);
if (data.post_id) {
tests["post_id found"] = true;
postman.setEnvironmentVariable("post_id", data.post_id);
tests["post_id found"] = false;
}de&7. 获取一篇文章并验证JSON我们将通过上面返回的文章ID来获取我们创建的文章。这里我们将用到Postman内置的&&JSON 验证器来检查服务器响应的JSON。创建一个GET请求到 {{url}}/blog/posts/{{post_id}},并将下面这段代码添加到测试编辑器中:<pre style="box-sizing: border- overflow: font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 0.93 padding: 1 margin-bottom: 1.5 line-height: 1.3; word-break: break- word-wrap: break- color: rgb(51, 51, 51); border: border-radius: 3 max-height: 35 margin-top: 0px !imp"
>de style="box-sizing: border- font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', font-size: 1 color: padding: 0 border-radius: 0 white-space: overflow-wrap: background:"
&var schema = {
"type": "object",
"properties": {
"content": "string",
"created_at": "integer",
"id": "integer"
"required": ["content", "created_at", "id"]
var data = JSON.parse(responseBody);
var result = tv4.validateResult(data, schema);
tests["Valid schema"] = result. de&8. 一键运行与分享集合我们将上述每一个测试保存到PostmanTest的集合中,这样我们就可以在任何时候打开和运行你想要的测试,并且可以一键运行所有,或者将集合分享给你的小伙伴,也可以获取嵌入式代码(如下面的按钮)。
阅读(2015)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'Postman前端HTTP请求调试神器教程',
blogAbstract:'\t前段时间偶尔发现了一个很好用的http请求调试工具,对于我们前端同学来说,应该说是必学的。因为不管是火狐还是谷歌浏览器自带的调试工具只能解决一些常规问题,功能也不够强大。废话不多说,进入我们今天的主题:Postman功能:主要用于模拟网络请求包快速创建请求回放、管理请求',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:1,
publishTime:9,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:2,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'我是一个有思想的硬汉。',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}

我要回帖

更多关于 postman 字符集 的文章

 

随机推荐