一、json和字典的区别?

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

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

1、对于一些基础数据比如说数据库配置可以放到静态配置配置文件中(日志级别、请求头、请求url、账号密码)
2、接口测试需要用到的数据可以放到数据库表,也可以放到excel文件中(请求方法、请求数据)

三、什么时数据驱动

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

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

1、所有的接口信息维护在一个excel文件中
2、每个接口,用一个sheet表维护
3、接口传递请求参数用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一个出来即可,这样就解决了这个依赖。

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

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

  1. 接口响应报文的验证
    利用jsonpath取出响应数据(大多数情况是json)中的关键字段的值,通过AssertEqual断言期望值和实际结果是否符合预期。
  2. 数据库表数据的验证
    做表数据验证要先明白两点:
    a. 表数据验证首先得明白这个接口的基本业务,会影响到哪些表,哪些字段的数据,然后才能准备查询sql去有针对性的查数据。
    b. 并不是所有用例的执行都会操作数据库,影响到表数据,因此只有影响到了表数据的用例,才准备查询脚本

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

1.减少excel读写,减少不必要的io操作
2.excel读取测试数据,全部存储到静态变量中
3.excel数据回写,尽量通过批量方式去写。

十三、在你做接口自动化过程中,遇到了什么问题吗?说下原因?
工作中遇到的问题

十四、面试官追问框架的大概结构?

data层:数据层(excel、py文件存放的测试用例数据)
testcases层:测试逻辑层
logs层:脚本运行日志
reports层:报告层
common层:公共方法层(项目的路径配置、处理测试用例数据、日志记录、数据库查询)
config层:配置层(环境相关的配置、数据库配置、日志配置)
run_test.py:项目的入口文件

框架中自动化用例的执行流程这边简单的介绍一下:
通过自动化框架启动文件运行程序,
首先会去用例数据层存放的文件(excel)中读取用例数据,
然后以数据驱动的模式生成测试用例,
之后将用例加载到测试套件中,
最后执行测试套件中的用例,
生成测试报告以及用例执行的详细日志。

十五、接口的响应时间,多少时间为通过,多少时间不通过

接口测试响应时间都是超级快的,ms 级的

十六、什么样的接口,是个好的接口

功能准确无误,响应速度快,支持多用户并发操作,安全性好

十七、接口出错了怎么办?

1、先检查一下请求参数
2、网络通不通
3、服务器有没有启动
4、开发定位

十八、接口测试用例怎么写?

查看这些接口有哪些参数,每个参数有什么约束条件,正常和异常的响应信息有哪些,然后编写测试用例来覆盖这些需求

十九、支付功能,付款的接口是怎么测试的呢?

工作中的情况

接口自动化测试高频面试题相关推荐

  1. java 关注公众号没有调接口_高频面试题:接口和抽象类的区别

    作为一个基础的Java高频面试题,是所有Java面试者必须烂熟于心的.当然不能死记硬背,可以通过实际地写几个小demo,边实际操作边理解,既能感受到编程的快乐,更重要的是真的理解记住了二者的区别. 此 ...

  2. python 接口自动化测试-----常见面试题汇总

    1.软件接口是什么? 程序不同模块之间传输数据并作处理的类或函数 2.HTTP 和 HTTPS 协议区别? 答: https 协议需要到 CA(Certificate Authority,证书颁发机构 ...

  3. 自动化测试高频面试题有哪些?

    前言 最近呢有很多的小伙伴问我有没有什么软件测试的面试题,由于笔者之前一直在忙工作上的事情,没有时间整理面试题,刚好最近休息了一下,顺便整理了一些面试题,现在就把整理的面试题分享给大家,废话就不多说了 ...

  4. python接口自动化测试面试题_Python 接口自动化测试实战

    Python接口自动化测试实战 简介 本课程主要围绕Python相关库再服务端接口自动化测试中的应用展开介绍,重点讲解接口自动化基础.编写接口自动化脚本.框架原理.项目实战,此外还扩展介绍多用例管理与 ...

  5. 【软件测试】接口自动化测试面试题及详细答案

    前言 最近看到网上流传着各种面试经验及面试题,往往都是一大堆技术题目贴上去,但是没有答案. 为此我业余时间整理了这份软件测试基础常见的面试题及详细答案,望各路大牛发现不对的地方不吝赐教,留言即可. 接 ...

  6. 接口自动化测试面试题大全(合适各级软件测试人员)

    前言 本文由虚竹整理所得!内容是很干货的!对我也很有帮助.本文仅做个分享~ 因篇幅原因,还有很多Python自动化测试的面试题不能分享出来,我把面试题整理成文档分享在我自己的自动化测试交流社区里面了 ...

  7. 呕心沥血铸造—接口自动化测试面试题及答案

    尊敬的读者,接口自动化测试是软件测试中一个重要的领域,因此在进行接口自动化测试方面的面试中,可能会涉及各种不同类型的问题.在本篇文章中,我们将为您提供接口自动化测试面试题的大全及其答案,帮助您更好的准 ...

  8. 高级自动化测试常见面试题(Web、App、接口)

    一.Web自动化测试 1.Selenium中hidden或者是display = none的元素是否可以定位到? 不能,可以写JavaScript将标签中的hidden先改为0,再定位元素 2.Sel ...

  9. 10年测开经验面试35K公司后,吐血整理出高频面试题和答案!

    一:前言 在当今竞争激烈的职场环境中,拥有丰富的测试开发经验已成为众多企业青睐的重要条件之一.而在面试过程中,高频面试题更是能够考察应聘者的实际能力和知识水平.本文作者具备10年的测试开发经验,并通过 ...

最新文章

  1. 计算机二级无法完成初始化,2012年计算机等级考试二级C语言常见问题:声明和初始化...
  2. 反汇编引擎Capstone
  3. 网络故障解决方案之非标准子网划分【网管员必懂】
  4. java——File类常用方法
  5. Objective-C学习之解析XML
  6. 读完这篇文章,就基本搞定了Redis数据库
  7. 这些明星日入斗金,为什么还要贷款?
  8. 【机器学习】EM算法详细推导和讲解
  9. 【DL小结4】seq2seq与attention机制
  10. Python爬虫学习记录(0)——Python 爬虫抓站 记录(虾米,百度,豆瓣,新浪微博)
  11. orcl导入dmp语句_oracle用imp导入dmp文件的方法
  12. “微笑妹妹”9岁撑起一个家
  13. 【EXLIBRIS】随笔记 002
  14. 各国家 MCC 和 MNC 列表3
  15. 安徽省发票认证服务器网站,安徽省增值税发票综合服务平台网址及操作指南
  16. 科创板|龙软科技国科环宇等4公司中止审核
  17. *.manifest
  18. 刚出道的黑客搞瘫美国输油管道!
  19. linux下查看mysql线程_linux-如何查看线程在哪个CPU内核中运行?
  20. 手机号码认证什么价格?手机号码认证怎样申请?

热门文章

  1. mac下idea选中多个相同内容的快捷键
  2. 【FreeRTOS】软件定时器的使用
  3. python 列表 常用操作 列表的循环遍历
  4. 打开PDF文件需要使用什么软件?看完你就明白了
  5. dedecms织梦网站程序搬家的几个步骤详解
  6. 2.10黑盒测试-常见输入输出方式
  7. Redis新版本发布,你还认为Redis是单线程?
  8. 跨站脚本(XSS)攻击
  9. String类型转json格式
  10. Java修饰符都有什么