接口常见面试题 (Common Interview Questions for Interface)

   💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

本人主要分享计算机核心技术:系统维护、数据库、网络安全、自动化运维、容器技术、云计算、人工智能、运维开发、算法结构、物联网、JAVA 、Python、PHP、C、C++等。
不同类型针对性训练,提升逻辑思维,剑指大厂,非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。

数字化飞速发展,接口安全问题层出不穷,不仅关系到产品的稳定性,更关乎到用户的信息安全。

今天,分享一些在面试中可能会遇到的接口安全测试面试问题,助你在面试中从容不迫。

1、接口自动化能做什么?

自动准备初始化数据

  • 自动执行测试用例
  • 自动验证接口返回结果的正确性
  • 自动验证数据库数据的正确性
  • 自动生成测试报告

2、test与json()区别

# 如果响应类型是text/html,只能使用res.text查看响应正文(如果使用res.json()会报错)
# res.text看到的内容是开发人员写的代码的原始样式(接口中汉字会显示为unicode编码,这种属于json字符串)
# res.json()会对json字符串进行格式化(统一格式),所有键用单引号定界,冒号后面加一个空格,逗号后面加一个空格
# 如果响应类型是application/json(简称json),使用res.text
res.json()都可以,但是常用res.json()
# res.text的结果是字符串格式,res.json()的结果是字典格式
# r.text 获得响应文本,字符串格式,空为null,真为true
# r.json()获得响应文本,字典格式 ,空为None,真为True
将来测试时:比对实际结果和预期结果时,使用true还是True,或者使用null还是None,取决于用的是text还是json()

3、result.text 与 result.json()**区别**

- 如果响应类型是text/html,只能使用result.text查看响应正文

- 如果响应类型是application/json,使用result.text和result.json()都可以

- result.text是字符串类型,result.json()是字典类型

4、cookie和session的区别?

  • cookie数据放在客户的浏览器上,也就是客户端,session数据放在服务器上
  • cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗
  • session会在一定时间内保存在服务器上,当访问增多,会比较占用服务器的性能
  • 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie
  • 可以将登录信息等重要信息存放为session,其他信息需要保存可以放在cookie

5、Post发送数据类型(常见的post提交数据方式)

  • 表单数据类型:application/x-www-form-urlencoded,默认使用的类型
  • JSON类型:application/json
  • form-data类型:multipart/form-data,一般用于上传文件
  • text/xml

6、如何验库?

  • 也叫落库检查,就是检查数据库数据的正确性
  • 选择适当的方式编写代码
    面向过程编程
  • 线性编码、函数封装

面向对象

模块

框架(pytest/unittest)

  • 部署测试系统
  • 服务器、linux操作系统、Docker容器
  • 服务器应用搭建:MySQL、Redis、Tomcat、JDK等
  • 执行测试
  • 执行测试代码
  • 记录测试日志
  • 生成测试报告

7、接口自动化测试的具体编码步骤是什么?

  • 数据库初始化
  • 是对前置条件的落实、
  • 准备测试数据。设计数据库的增删改查操作
  • 执行测试用例
  • 执行接口测试用例就是发送请求
  • 比对测试结果
  • 判断接口返回的响应结果的正确性
  • 落库检查
  • 判断数据库数据的正确性,涉及到数据库的检查操作

8、发送请求的要点或步骤

  • 导入requests库
  • 选择请求方法
  • 指定接口地址
  • 指定请求参数
  • 发送请求,获取响应
  • 查看响应结果
  • 比对响应结果
  • 接口返回的值是实际结果,用例中有预期结果
  • 比对结果就是看实际结果和预期结果是否匹配

9、落库检查的步骤是什么?

  • 连接数据库
  • 创建游标
  • 指定查询实际结果的SQL语句
  • 获得SQL语句
  • 获取实际结果
db_actual = cursor.fetchone()
#获取游标中的第一行数据,存到元素db_actual中
  • 结果比对
  • 关闭数据库

10、如何造数?

  • 自动化测试中,造数一般是通过编写SQL语句,用户层序执行SQL语句来实现
  • 可以在写一条用例同时编写造数SQL语句,也可以在用例通过评审后在编写造数SQL语句
  • 可以单独使用一个文件存储造数SQL语句,也可以将造数SQL语句写到测试用例中
  • 可以将一个项目的所有造数SQL语句写到一个文件夹中,也可以按照模块或接口把造数分别写在多个文件中

11、如何读取文本文件?

  • 打开文件读取数据
自定义文件名 = open("文件名","r","encoding='utf-8'")

12、读取excel步骤?

1、安装pandas、openpyxl
2、导入pandas
3、读文件
4、转换某些列的数据类型
5、合并列、删除列
6、DataFrame对象转列表

13、如何读excel文件?

data=pandas.read_excel('excel文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linux运维老纪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值