news 2026/4/27 22:28:00

「接口自动化测试」高频面试题!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
「接口自动化测试」高频面试题!

一、json和字典的区别?

  • json就是一个文本、字符串;有固定的格式,格式长的像python字典和列表的组合;以key-value的键值对形式来保存数据,结构清晰,。可以说是目前互联网项目开发中最常用的一种数据交互格式

  • 字典属于python里面的基本数据类型

  • json不属于python里面的基本数据类型

二、你做接口自动化测试时,测试数据放哪里?

  • 对于一些基础数据比如说数据库配置可以放到静态配置配置文件中(日志级别、请求头、请求url、账号密码)

  • 接口测试需要用到的数据可以放到数据库表,也可以放到excel文件中(请求方法、请求数据)

三、什么是数据驱动

  • 数据驱动就是通过excel来维护测试数据,通过相应的技术处理,拿到测试数据用于测试,从而实现测试数据与代码的解耦;

  • 数据驱动测试的本质就是高级的参数化。

四、excel中如何设计你的用例?

  • 所有的接口信息维护在一个excel文件中

  • 每个接口,用一个sheet表维护

  • 接口传递请求参数用data列,通过构造json格式的字符串即可解决多个传参的问题,同时提升了用例的可维护性

五、excel中的数据怎么拿出来?

  • 通过第三方库openpyxl来完成,项目只要引入第三方库,通过它提供的api即可完成对excel的操作,甚至于我们自己也可以做一些二次封装,封装一个读写excel中用例的方法,使得操作更方便。一行数据就是一个用例。

六、如果有些接口做了鉴权(需要鉴定权限),怎么实现这些接口的自动化测试?

  • 通过token来实现鉴权的,那么同样先调用完登录接口–》拿到它返回的这个数据–》存储起来(存储在动态环境变量Envdate中),后面再调用其他接口的时候直接带上这个数据过去就可以了。

  • 把token保存在动态环境变量Envdate中(因为token是可以变化的,一般不放到静态环境变量中)

七、什么是会话?

  • 所谓会话就是session,而session是一种服务器的缓存技术,由服务器端创建,用户登录了系统,一般就会把登录用户的信息保存到这个session对象中,然后把此会话对应的id(JSESSIONID)返回,因此大部分系统都会用到session机制来实现鉴权。Session保存数据方式也是以key-value的形式。

八、什么是token?

  • 所谓token其实就是服务器端返回的一个字符串(比较复杂,有点类似于xys73494954sdhcdr83435这么一串),基于JWT生成的token令牌,一般这个数据是唯一的,服务器每次返回的token都会不一样。

  • Token之所以可以用来做鉴权,原理如下:

    • 用户a调用了登录接口–》登录了系统b–》服务器端生成了一个唯一的token信息(假设为c),然后会拿用户的编号id(假设为d)做了一个映射:c-d,然后将这样的映射关系存到数据库或redis等缓存中,然后再返回这个token给客户端–》客户端再调用其他需要鉴权的接口时,只需要将缓存起来的这个token带过去验证–》服务器根据此token检查是否有登录用户信息来判断此请求是否是一个已登录授权的用户。(这里客户端怎么取到这个token,怎么存,再次请求时怎么带过去,上面接口鉴权部分已解释)

九、某个接口请求,参数依赖上个接口的返回数据,怎么处理(接口关联)?

  • 场景:b接口在调用的时候参数依赖于a接口的返回数据。

  • 处理方案:

    • a接口调用完–》从响应中取出b依赖的这个参数–》保存起来–》b调用的时候,取出这个信息–》当做参数传过去即可。

十、接口调用依赖第三方的接口b,而b接口还未提供给你,如何处理?

  • 通过mock框架搭建自己的mock系统/平台(其实就是自己开发接口),模拟这个第三方接口mock一个出来即可,这样就解决了这个依赖。

十一、你做接口自动化时怎么做的数据验证

  • 数据验证主要包括两个方面:

    • 接口响应报文的验证

      • 利用jsonpath取出响应数据(大多数情况是json)中的关键字段的值,通过AssertEqual断言期望值和实际结果是否符合预期。

    • 数据库表数据的验证

  • 做表数据验证要先明白两点:

    • 表数据验证首先得明白这个接口的基本业务,会影响到哪些表,哪些字段的数据,然后才能准备查询sql去有针对性的查数据。

    • 并不是所有用例的执行都会操作数据库,影响到表数据,因此只有影响到了表数据的用例,才准备查询脚本

十二、如何提升测试套件的执行效率(接口测试优化的地方)

  • 减少excel读写,减少不必要的io操作

  • excel读取测试数据,全部存储到静态变量中

  • excel数据回写,尽量通过批量方式去写。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 14:30:26

73、深入探究Linux安全:PAM与SELinux实用指南

深入探究Linux安全:PAM与SELinux实用指南 引言 在Linux系统的安全体系中,PAM(可插拔认证模块)和SELinux(安全增强型Linux)是两个至关重要的工具。PAM为系统提供了丰富且灵活的身份验证机制,而SELinux则通过强大的访问控制模型进一步增强了系统的安全性。本文将详细介绍…

作者头像 李华
网站建设 2026/4/24 4:38:04

告别修图烦恼!FLUX Kontext颠覆性AI图像编辑零门槛上手指南

告别修图烦恼!FLUX Kontext颠覆性AI图像编辑零门槛上手指南 【免费下载链接】kontext-make-person-real 项目地址: https://ai.gitcode.com/hf_mirrors/fofr/kontext-make-person-real 还在为复杂的Photoshop操作头疼吗?面对一张完美的照片&…

作者头像 李华
网站建设 2026/4/26 9:47:39

Pr制作视频的基本流程:从粗剪到配字幕

对剪辑师来说,Pr 做视频的流程总像 “一团乱麻”:粗剪素材反复调,加字幕要手动输,找贴纸还得四处翻资源 —— 尤其新手,光理清楚步骤就得耗半天。其实 Pr 做视频有清晰流程!今天把Pr 从界面认知到加字幕、贴…

作者头像 李华
网站建设 2026/4/24 11:38:04

宁波某高端酒店资产数字化:72小时售罄5000分的会员升级

如果你还在为会员沉睡、复购率低、现金流紧张而头疼,宁波一家高端酒店的做法可能会让你眼前一亮。他们只做了一件事:把传统会员卡换成“数字权益卡”。结果?限量5000份,72小时售罄,提前锁定全年现金流,还吸…

作者头像 李华
网站建设 2026/4/27 11:32:34

2026年1月必参加的学术会议推荐!人工智能、大数据、通信网络、物联网、生物医学、光电科学、电力电气工程、智能制造、电子信息工程、遥感测绘、图像处理、自动化、算法、计算机工程、机器人等主题可选!...

会议往期历史 | 投稿参会优惠 | 论文检索周期 |会议模板论文 | 主题是否匹配 | 更多事宜 会议名称 会议时间 地点 2026年智能物联网与智慧生活国际学术会议(IoT-Life 2026) 2026年1月7-9日 东京 2026年人机交互、神经网络与深度学习国际学术会议&a…

作者头像 李华