• 11
  • 11
分享
  • “新人”和你唠技术:从Postman开始学习接口测试——软件测试圈
  • 曼倩诙谐 2022-01-10 11:00:55 字数 3033 阅读 1426 收藏 11

  Hi,亲爱的大家,这是我与大家的第一次沟通,但其实我已经51testing这个大家庭中和志同道合的你们在一起很久了,从刚开始学测试起,就关注了51testing,大概也有一年多的时间了,有人要吐槽,一年多和很久着实自相矛盾,但是照我的耐性来说,一年多已是很长情了,起码我手机上的游戏,就没有存活过一年之久的,当然后面我也会继续和大家一起关注51testing。

  来说说我写这篇文章的初衷吧,最近在公众号上看到的文章都挺高级(对我而言),比如python啦、测试框架啦、以及较少见到接口测试,所以我觉得,我该出手了!

  想写一篇给小白朋友们看的文章,就像当年我刚入门那时候看的那些特别简单的教程,希望能凭此一文一鸣惊人成业界大牛走向人生巅峰!当然这波能不能红,就靠各位赏脸了!

  本篇文章我们从最简单也是最基础的接口工具入手——Postman。

  Postman的安装及简介

  为了方便大家跟着我从头开始,我重新下了一个最新版的Postman,新版的和旧版的有点不一样,多了许多功能,但其实用的还是那几个,这篇文章主要是带大家感受一下用Postman怎么测试接口。

  百度搜“Postman下载”,找到官网下载链接,进去直接就是下载,简单粗暴,官网做得真好。安装也是非常快速,连让我选路径的步骤都略过了(也可能是我确实眼瞎没注意)。

  安装好了打开,先让你注册一个账号,不然不给用,外国人都喜欢搞这套,注册就注册一个吧,反正这年头身份信息已经泄露得全网都是了。当然,像本作者这种一年资深测试员,那必然是已经有账号,所以我就先sign in了,各位慢慢create free account吧,我等你们。

1-1.png


  Sign in之后,Postman跟我说:“It's great to see you again”,宾至如归,亲切!之后就是一个全是英文的欢迎页面,乍一看看不懂,没关系,不耽误咱使用。

1-2.png


  此处我有个疑惑,“Postman”明明是邮递员的意思,为何这上面的小人感觉特别像宇航员呢?你们瞅瞅。

1-3.png

1-4.png

1-5.png




  是不是?简直就是披着宇航服干着邮递员的工作!

  这里说句题外话,有一个特别有用工具,用过的人也一定知道,抓包工具fiddler,它的原意是“小提琴手”、“骗子”的意思。

  就是说呢,它能骗过你的网站,模拟用户行为,从而进行拦截和抓包,那Postman也一样,他发送数据请求,并接受返回数据,就像是我们日常的邮递员。

  这么一解释,是否觉得这俩工具起名颇有意思,特别形象?

  回到刚刚那个页面,上面有四个框框:

1-6.png


  第一个框,开始新的请求——显然就是我们需要的;

  第二个框,导入已存在的文件——没有文件,此处不演示;

  第三个框,开发新网络——新手小白用不到,此处不演示;

  第四个框,学习怎么用Postman——看这篇文章就行了。

  get及post

  ok,明确需求,我们点击进入第一个框框,然后跳出来一个弹框,实则是一个菜单。

1-7.png


  选第一个,http请求。

  终于到了熟悉的页面,get请求接口测试界面。

1-8.png


  get请求相对于post请求,安全性低一些,用于一些比较简单的、传输内容较少的请求,比如翻页请求、根据id浏览内容的请求等等。

  get请求的特点是,请求的参数和数据在链接上就能看到,格式是url?参数名=值&参数名=值&....以此类推。

  知道这个规律后,其实不用Postman,直接在浏览器输入你想要的网址请求,就能看到返回值正不正常,当然,如果还是要看具体返回数据的话,那Postman更好些。

  这里以百度链接为例:

1-9.png


  在①处填上链接:https://www.baidu.com/s;在②处填上参数名,③上填上值,填完后①处会自动补全链接;然后点send就可以收到返回的内容。一个简单的get请求测试就完成了。

  这里要说一下另外两个常用到的功能:

  ④:这里可以存入批量测试的测试数据;

  ⑤:保存这条测试请求,下次直接打开使用。

  这两条一起用,批量测试请求不在话下!

  下面我们来试试post请求,稍许复杂。首先点开上图①处的下拉菜单,可以看到里面有很多类型的请求,看到这么多内容别害怕,一般我们用到的也就前面两个:get、post,下面的直接忽略就行了。

1-10.png


  我们选择post。

1-11.png


  看到这个异常熟悉的界面,肯定有人要说:艾玛,太简单了,这不就是刚刚get那个界面一模一样嘛,不用看了,走了!都会了!

  别走兄弟!回来!!你给我回来!我只能说,你太天真了!!天真得简直就像当年愚蠢的我!你肯定想象不到,post方法提交请求参数,不在Params里,而在Body里!

  真実はいつも一つ(翻译:真相永远只有一个)!此处应有萨克斯独奏背景音乐。

  post方法一般用于表单提交,请求内容多,安全系数高,比如涉及到用户的操作,像登录、支付,发布内容等,都是用post提交请求的。

  以现在大方向来说,目前以及未来的开发模式都趋向于前后端分离,为了保证前后端都不存在泄露数据的风险,一般在前端请求的时候就对数据进行了加密操作(最普遍的加密方式为MD5),再打包(一般打包成json格式)传给后端,在做数据对比时,后端会以相同的加密方式对正确的值(一般从数据库获取)加密,再对比前端传过来的值,以判断数据的正确性。

  我们来看看post请求需要用到的功能:

1-12.png


  Body里面选择form-data,意思是表单数据,选择这个选项之后,key后面会多一个选择,有两个选项:text文本、file文件,有时候我们要测试上传图片或其他文件时,这个功能就很好用,Postman模拟用户行为,用户能干什么,他就能干什么。

  在提交文件数据时,Postman还特别人性化地给了一个选择文件的按钮,意思是说,想上传啥就上传啥,随便选。

1-13.png


  在实际测试上传文件的过程中,我一般会准备各种类型的文件,比如寻常的图片文件、寻常的文档文件、不寻常的代码文件、还有各种大小的文件,从几K到几个G不等。

  通常情况下,在服务器上充满乱七八糟的文件、或者文件太大占了大部分公司带宽时,程序员小哥就会撸着袖子来找我质问,但是没办法,这是我的工作,我得测到海枯石烂!

  步骤和get请求一样,填好参数,点击send就行了,我就不演示了。

  说完请求,我们看一下返回。

1-14.png


  默认返回显示的都是一个html形式的内容,图里可以看到,这里可以选择你想要的数据类型,一般我们测试接口,就看数据准不准确,都会选json格式,相对清楚明了一些。前后端分离的项目,一般返回的都是标准的json格式,类似这种:

{
    "sites": [
    { "name":"51testing" , "url":"www.51testing.com" }, 
    { "name":"google" , "url":"www.google.com" }, 
    { "name":"微博" , "url":"www.weibo.com" }
    ]
}

  好了,今天就先讲到这里吧,内容非常简单,就先像一个浅显的Postman在线开箱测评,其实还有好多内容可以讲,比如Postman这几年新加功能都有什么用,是鸡肋还是刚需,这些都值得掰扯好一会儿,但是再写下去就写太多了,还是下回再续吧!



作者:节节高   

来源:http://www.51testing.com/html/41/n-4480741.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、什么是测试报告?测试报告是指把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件存在的质量问题提供依据,同时为软件验收和交付打下基础。二、测试执行和结束的准则1、测试执行的结束的原因1)测试达到预期目的后,按计划结束2)受时间进度、资源的限制,考试被迫结束2、测试执行结束后1)在测试计划中明确说明测试结束的条件2)Good-Enough原则3)结束条件的判定是在质量和成本之间的折衷4)指定的时间段内没有发现新的缺陷5)基于成本的考虑(不适用武器、医疗设备)3、测试执行结束后1)达到了覆盖率的要求2)单元测试:语句覆盖、…3)集成测试:API、参数组合…4)系统测试:功能、用例...
            0 0 2389
            分享
          •   从事测试工作的各位同学都知道,测试用例在软件测试活动中是最重要的,它是测试工作的指导,是软件测试必须遵守的准则,更是软件测试质量待定的根本保障。  在实际的软件产品或是项目中,测试用例的设计,基本上都是几百条,或是上千条,如遇到大项目或是新建系统或平台,可能是几千条以上的测试用例,在项目紧张的周期下,组织项目中的各位专家对每条测试用例进行逐一评审的可能性和可行性极低,但测试用例的评审又是重中之重。  测试列表  评审测试用例,除了了解测试人员对测试用例设计的方法、思路,还审视测试用例是否覆盖得正确、全面、连贯和可操作性。  因此,需要对测试用例的设计方法、思路及场景进行分类和归纳,继而对分...
            11 11 1262
            分享
          •   现在国内测试行业的断层实际上非常严重,不论是从公司角度,还是从测试行业角度。关于测试人的职业发展,相信每个人都有自己的深刻体会,特别是“老一点“的,又不在互联网大厂的测试人员。  本文针对几个测试同学普遍关注的典型问题,整理了测试专家刘晓光老师的解答,供大家交流探讨。  Question  1、测试技能的提高主要是依托于公司平台,还是个人外部自学能力?  2、国内大部分公司对测试职能是普遍低估的,如何让领导重视,提高测试的地位?  3、测试也细分了很多专项测试,从个人发展角度,专项测试 or 全面的系统测试,哪个更符合未来职业发展要求?  4、现在火热的测试开发(能力超高)是否已经脱离了测...
            0 0 1099
            分享
          • 最近一段时间有点忙,一直没有更新在此给大家说声抱歉哈,有些小伙伴儿私信说想要用到的工具,茶壶儿也会尽可能满足大家!今天我们要分享的工具主要有以下几款,我们来一起看一下吧?一帧秒创https://aigc.yizhentv.com/对于图画来说相比现在很多有伙伴都有了自己得心应手的工具了,主要原因有二,其一,一些设计图片的工具之前茶壶儿有过分享,其二,随着技术的不断发展,很多小伙伴都有了自己的AI工具了,国内也出现了一批像文心一言等AI产品,由于种种原因吧,一些工具还做不到大家想要的水平,不过应付一般的工作需要还是没有什么问题的,今天茶壶儿给大家也分享一款AI秒创作图神奇工具,一帧秒创,希望大家...
            0 0 836
            分享
          • 工作久了发现,在互联网这个圈子里,软件测试工程师和产品经理是两个"水分"较大的岗位,在招人的时候如果不擦亮眼睛,稍有不慎就可能会踩雷。前不久面试了两位同学,面试过程有点让我大跌眼镜,为了让大家能避免相同的误区,所以才写一篇文章,分享一些我个人的经验。面试经历之前面试的一位同学简历相当漂亮,看完之后我觉得能力绝对在我之上,大致信息如下:工作时间8年 。在一家做AI的公司,从事算法测试。对持续集成及其工具比较熟悉。自己开发了测试工具平台。面试之前,我还特地的准备了几道算法题,总之是觉得碰上大牛的心态。面试过程大致如下:问:"介绍工作情况,及都做了哪些事情"。...
            0 1 3050
            分享
      • 51testing软件测试圈微信