python 接口自动化测试—–常见面试题汇总

python 接口自动化测试—–常见面试题汇总1 软件接口是什么 程序不同模块之间传输数据并作处理的类或函数 2 HTTP 和 HTTPS 协议区别 答 https 协议需要到 CA CertificateA 证书颁发机构 申请证书 一般免费证书较少 因而需要一定费用 http 是超文本传输协议 信息是明文传输 Https 协议是由 SSL Http 协议构建的可进行加密传输 身份认证的网络协议 比 http 协议安全 http 和 https 使用的是完全不同的连接方式 用的端口也不一样 前者是 80 后者是 443

1、软件接口是什么?

程序不同模块之间传输数据并作处理的类或函数

2、HTTP 和 HTTPS 协议区别?

答: https 协议需要到 CA(Certificate Authority,证书颁发机构)申请证书,一般免费证书 较少,因而需要一定费用; http 是超文本传输协议,信息是明文传输,Https 协议是由 SSL+Http 协议构建的可进行加 密传输、身份认证的网络协议,比 http 协议安全; http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443;

3.HTTPS 在哪一层?

4、get 和 post 区别是什么?

答:POST 和 GET 都是向服务器提交数据,并且都会从服务器获取数据。 区别: 1)传送方式:get 通过地址栏传输,post 通过报文传输 2)传送长度:get 参数有长度限制(受限于 url 长度),而 post 无限制 3)GET 产生一个 TCP 数据包(对于 GET 方式的请求,浏览器会把 http header 和 data 一并 发送出去,服务器响应 200 返回数据),POST 产生两个 TCP 数据包(对于 POST,浏览器先 发送 header,服务器响应 100 continue,浏览器再发送 data,服务器响应 200 ok 返回数 据) 4)get 请求参数会被完整保留在浏览历史记录里,而 post 中的参数不会被保留 5)在做数据查询时,建议用 GET 方式;而在做数据添加、修改或删除时,建议用 post 方式

5、常见的 POST 提交数据方式

答: 主要有四种方式:application/x-www-form-urlencoded、multipart/form-data、 application/json、text/xml 等。

6、什么是 Http 协议无状态协议?怎么解决 HTTP 协议无状态协议

答: 无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服 务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会 记录任何信息。HTTP 是一个无状态协议,这意味着每个请求都是独立的,Keep-Alive 没能 改变这个结果。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导 致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。HTTP 协议这种特性有优点也有缺点,优点在于解放了服务器,每一次请求“点到为止”不会造成 不必要连接占用,缺点在于每次请求会传输大量重复的内容信息。客户端与服务器进行动态 交互的 Web 应用程序出现之后,HTTP 无状态的特性严重阻碍了这些应用程序的实现,毕竟 交互是需要承前启后的,简单的购物车程序也要知道用户到底在之前选择了什么商品。于是, 两种用于保持 HTTP 连接状态的技术就应运而生了,一个是 Cookie,而另一个则是 Session。

7、cookie 和 session 的区别

答: cookie 数据存放在客户的浏览器上,session 数据放在服务器上 cookie 不是很安全,别人可以分析存放在本地的 cookie 并进行 cookie 欺骗,考虑到安全 应当使用 session session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑 到减轻服务器性能方面应当使用 cookie 单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 cookie 可以将登陆信息等重要信息存放为 session;其他信息需要保存,可以放在 cookie

8、请求接口中常见的返回状态码

9、什么是 DNS?

答:DNS 是域名系统 (Domain Name System),DNS 是用来做域名解析的,它会在你上网输入 网址后,把它转换成 IP,然后去访问对方服务器;没有它,你想上百度就要记住百度的 IP, 但有了 DNS 的处理,你只需要记住对应网站的域名,即网址就可以了。

10、请问你们公司是如何做接口测试的?

11、怎么设计接口测试用例?

12、你做接口测试,测什么?

13、平常用什么工具测接口的?

答:常用 http 协议接口测试工具,如:postman、fiddler、jmeter;webService 接口用 SoapUI、 jmeter 等。

14、没有接口文档,如果做接口测试?

15、在手工接口测试或者自动化接口测试的过程中,上下游接口有数据依赖如何处理

答:用一个全局变量来处理依赖的数据,比如登录后返回 token,其它接口都需要这个 token, 那就用全局变量来传 token 参数。

16、依赖于第三方数据的接口如何进行测试?

答:mock 接着面试官会问你,如果 mock 的,然后你就顺着坑继续挖,搭建 mock 服务,参考这篇 http://www.51ste.com/share/det-485.html

17、接口测试中,依赖登录状态的接口如何测试?

答:依赖登录状态的接口的本质上是在每次发送请求时需要带上 session 或者 cookie 才能 发送成功,在构建 POST 请求时添加必要的 session 或者 cookie

18、如何模拟弱网做测试

19、你平常做接口测试的过程中发现过哪些 bug?

20、当一个接口出现异常时候,你是如何分析异常的?

答: 先抓包,用 fiddler(charles)工具抓包,或者浏览器上 F12 调试工具;APP 上的话,那就 用 Fiddler 做代理,通过手机设置代理去看请求和返回报文; 查看后端日志,如 Linux 系统通过 xhell 连上服务器,查看接口日志,查看是否有报错信息 (命令:tail -f 日志文件);

21、如何分析一个 bug 是前端还是后端的?

答: 平常提 bug 的时候,前端开发和后端开发总是扯皮,不承认是对方的 bug。 这种情况很容易判断,先抓包看请求报文,对着接口文档,看请求报文有没问题,有问题就 是前端发的数据不对; 请求报文没问题,那就看返回报文,返回的数据不对,那就是后端开发的问题咯。

22、你们做接口测试自动化吗?

答:现在针对大量应用,普遍推崇做接口测试自动化,维护成本低、收益高。常用的工具有 许多,如 Jmeter、Robot Framework、pytest 等。

23、列出几个 JMeter 监听器?

一些 JMeter 监听器是: 集合报告 汇总报告 查看结果树 用表格查看结果 图形结果 BeanShell Listener 摘要报告等

24、在 python 中进行数据驱动测试

在 unittest 中,没有自带的数据驱动,我们得借助 ddt 来实现,首先,我们得在 python 运行环境中安装 ddt,用下列命令安装 pip install ddt 另 外 一 个 测 试 框 架 pytest , 它 自 带 数 据 驱 动 实 现 , 是 通 过 @pytest.mark.parametrize(argnames,argvalues) 来实现参数化的。 也可以根据自己需求用 python 实现数据的读取和驱动。

25、接口自动化中的关联怎么处理?

把上一个请求返回的结果传入到下一个请求的参数中,将请求的结果反射到一个类属性(使 用 setattr()函数),下一个请求去调用这个类属性

26、自动化测试怎么校验结果?

27、自动化使用的测试框架是什么?

28、具体的在这个项目中自动化怎么应用到实际的,您对自动化结果的分析

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220446.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午8:28
下一篇 2026年3月17日 下午8:28


相关推荐

  • JVM虚拟机(1)- 内存结构

    JVM虚拟机(1)- 内存结构一 什么是 JVM 1 好处一次编译 到处运行自动内存管理 垃圾回收功能数组下标越界检查多态 2 JVM JRE JDK 的关系图 逐级包含的关系 3 常见 JVM 实现不同的公司只要遵循虚拟机规范 都可以自己实现 4 学习路线 ClassLoader 将编译后的二进制文件加载到 JVM 中运行 MethodArea 类放在方法区中 Heap 存放类的实例对象 JVMStack PCRegister 本地方法栈 在类调用方法时使用解释器 程序执行时由解释器逐行执行 JIT 即

    2026年3月19日
    3
  • vue的双向绑定是什么_vue绑定数据的两种方式

    vue的双向绑定是什么_vue绑定数据的两种方式<img:src=”`http://localhost:8088/java/publicCarUse/activitiFlow?processInstanceId=${processInstanceId}`”/>

    2025年11月16日
    3
  • 游戏常用算法-洗牌算法

    游戏常用算法-洗牌算法洗牌算法是一个比较常见的面试题。一副扑克54张牌,有54!种排列方式。最佳的洗牌算法,应该能够等概率地生成这54!种结果中的一种

    2022年7月3日
    31
  • 粗斜体字母_LaTeX语法

    粗斜体字母_LaTeX语法写文章的小伙伴应该知道,在文章中,变量是需要斜体的,那么怎么才是斜体呢 首先,在LATEX中,强调可以以斜体形式展现出来。那么强调命令是如何体现的呢: 语法:\emph{内容} 打开Winedit:,输入以下命令: \documentclass{article}\begin{document}Smallisbeautiful.\emph{Smallisbeautiful.}\end{document} 保存为TEX文件..

    2025年7月31日
    5
  • c#语言简介_简单介绍自己

    c#语言简介_简单介绍自己taskScheduler根据定义ThetaskSchedulerbythedefinitionblurb.“Istheclasswheretheusagecontextiswithinthetasklibraries.“它的作用像是WPF/Winform时代的SynchronizationContext.ItisliketheSync…

    2026年3月12日
    4
  • nyvacat for mysql15激活码【注册码】「建议收藏」

    nyvacat for mysql15激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    78

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号