接口测试利器——Postman

发表于:2017-10-09 15:41

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:邓茗    来源:软件科技博客

  3.身份验证
  BasicAuth
  输入用户名和密码,点击UpdateRequest生成authorizationheader
  DigestAuth
  Digestauth比Digestauth更加复杂,使用当前request中的设置来生成authorizationheader,请确保在生成前你的设置的正确性。
  OAuth1.0
  Postman的OAuth1.0工具让你可以生成支持OAuth1.0身份认证的请求,目前他不能获取accesstoken。
  OAuth2.0
  Postman支持获取OAuth2.0token,并且可以非常简单的添加到request中。
  从OAuth2.0中获取accesstoken,要遵循下面这些步骤:
  在你的APP设置页面设置https://www.getpostman.com/oauth2/callback作为callbackURL
  获取authorizationURL,从你的API提供者那里访问tokenURL、clientID和clientsecret。你可以设置一些API需要的参数范围来设置你再API中的访问级别。
  按下RequestToken按钮来启动OAuth2.0flow。如果一切设置正确,你将会被重定向到Postman的服务器,他将获取你的accesstoken并且发送到Postman的app,这样就给Postman添加了token,给他设置一个name,让你在以后可以快速的访问
  accesstoken将被保存在本地,显示在帮助列表。点击token名称,就可以把它添加到request中。
  4.Requests History
  所有你使用Postman发送的request都将保存在左侧边栏的History中,他会帮助你通过尝试不同的request来生成一个新的request,而不必浪费你太多的时间。你可以通过单击一个request的名字来加载他。
  如果你创建了Postman的账户,你的历史数据将被同步到Postman的服务器,你可以在不同的平台上使用Postman的时候同步你的数据。
  5.使用tab来控制多个请求
  很多用户可能需要同时打开多个请求,你发送的request将被保持在当前的标签中,当你切换到其他的标签时,不用担心不能及时的接受response。
  6.使用拦截器来读写cookie
  和Mac上的应用不同,Chrome的应用本身并不支持获取cookie,你可以使用拦截器来实现这个功能。打开拦截器的时候,你可以检索特定域中的cookie,并发送包含cookie的request。
  检索cookie:
  启动拦截器
  在测试部分,你可以使用responseCookies对象,他将返回一个cookie对象的数组。使用postman.getResponseCookie(cookieName)检索cookie特定的名称。他将返回一个单独的cookie对象。
  每个cookie都会包含下面这些属性:
  domain、hostOnly、httpOnly、name,、path、secure、session、storeId、value
  设置cookie:
  确保打开了拦截器
  在headers部分包含cookie的头
  例如:Cookie:name=value;name2=value2
  3.发送request,你设置的cookie将会和你的request一起发送。
  7.捕捉request
  现在Postman的拦截器可以从Chrome浏览器直接捕捉request,并保存到历史中。这意味着你可以及时的调试你的web应用的api。这里不需要安装或者配置代理,也不需要更改代码。你可以根据基于URL的正则表达式过滤request。
  8.设置文件
  你可以在Postman的设置中处理重定向
  General
  Trimkeysandvaluesinrequestbody
  如果你使用表单数据或者URL编码模式来发送数据到服务器,这项设为true后就引起所有参数修整。
  Sendno-cacheheader
  你可能想要这项设置为true,这会确保你收到及时刷新的response。
  Sendpostman-tokenheader
  这主要是用来绕过Chrome的一个bug。如果一个XMLHttpRequest处于等待状态,另一个request发送了同样的参数,Chrome将会为两个request返回同样的response。发送一个随机的token将会避免这个问题。这同样也会帮助你区分服务器端的request。
  XHRTimeout(ms)
  设置app等待响应的时间,如果服务器没有响应的话。
  Automaticallyfollowredirects
  防止我们的request返回一个300系列的response被自动重定向。你需要安装拦截器来防止重定向。
  Openhistory/collectionrequestsinanewtab
  设置为true,当你点击左侧边栏历史或者收藏里面的request时,会在一个新的tab中打开。
  设置为false,则会在当前tab中打开。
  ResponseFontSize
  设置response视图中的字体大小
  UISize
  设置UI的大小
  Retainheadersonclickingonlinks
  如果你在response中你点击了一个连接,Postman会为这个URL创建一个新的GETrequest。如果你想要保留headers在request之前设置他,就设置为true。当你主要方为一些受保护的资源的时候这个功能将会非常有用。
  Languagedetection
  如果你测试的API没有在header中返回Content-Type,则response不会数据转换成合适的格式。你可以强制指定body的数据类型为JSON等格式。
  Variabledelimiter
  变量是保存在双花括号中的,但是你可以改变成其他的字符,这项并不推荐设置除非你出现了问题需要更改这里。
  Forcewindowslineendings
  RefertothisGithubissuetoknowmore
  Instantdialogboxes
  禁用eye-candy并立即显示所有的对框框模式
  SendanonymoususagedatatoPostman
  来禁止匿名用户使用数据的选项,这是的Postman的保护性更好。
  Theme
  选择你喜欢的两种主题风格
  Shortcuts
  设置常用的快捷键
  Data
  导入导出我们设置的环境和数据,这回覆盖你现在的收藏和环境,所以小心使用。当然你可以把你现在的环境先导出作为备份。
  Add-ons
  Interceptor
  Postmanproxy
  Sync
  如果你登录了Postman,你的数据就会被同步更新到Postman的服务器上,者可以确保你再次使用Postman的时候可以同步自己的数据。
  你可以强制同步或者禁用他。
  Postman实操
  在ADS89f02restfulapi项目中,由于需要测试的部分比较多,我一直挣扎选择一款简便可复用的工具,最终放弃使用浏览器和fiddler。根本原因就是我不愿意一遍又一遍的去写那些参数名或者是地址,这很浪费时间并且毫无意义。
  如图所示,仅仅是对ads众多功能中的一个功能进行测试,其中涉及到的参数就有十来个。对每一个参数我们需要覆盖多个值,如果使用浏览器,就算你通过copy来传参,手酸也是必须的。然而如果使用postman,我可以把这些一一保存下来,后边只需要一键send,效率提高不少。不论是开发自测或者是测试员检查,高效的进行api测试,postman是不二选择。总结了一下,postman主要有以下好处:
  任何人都可以使用,不需要编码能力;
  功能测试时的cases即刻可以变成自动化用例;
  像使用Fiddler一样,能够查看数据的返回情况。
  4、cases复用省去不少时间
  5、数据包导出功能方便cases共享
  下边是我在实际项目中对三种工具使用的感受雷达图:
  好了,介绍就到这里了,更多功能期待你的发现。
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号