1、json和字典的区别?
Json是轻量级的数据交互格式,以key-value的键值对形式来保存数据,结构清晰,可以说是目前互联网项目开发中最常用的一种数据交互格式。
字典,同样是以key-value的键值对来保存数据,是python中的一种数据类型。
2、你做接口自动化测试时,测试数据放哪里?
1) 对于一些基础配置比如数据库配置可以放到properties文件(yaml文件,没用过就别拓展了)
2) 接口测试需要用到的数据可以放数据库表,也可以放到excel中。
3、什么是数据驱动?
数据驱动就是通过excel,或者xml,数据库等数据结构来维护测试数据,通过相应的技术去处理,拿到测试数据用于测试,从而实现测试数据与代码的解耦,数据驱动测试的本质是高级的参数化。
4、excel中如何设计你的用例?
1 一个模块对应一个Excel表
2 一条接口对应一张sheet表
3 表中一行对应一条测试用例
4 在开始要注明测试时需要的sql
5.多参数传递可以用json解决
5、excel中的数据怎么拿出来?
通过第三方库openpyxl来完成,项目只需要引入openpyxl库,通过它提供的api即可完成对于excel的操作,甚至于我们自己也可以做一些二次封装,使得操作更方便。一行数据就是一个用例。
6、如果有些接口做了鉴权(需要鉴定权限),怎么实现这些接口的自动化测试?
首先需要明确接口是通过什么机制来实现的鉴权
1) 如果是通过会话id(JSESSIONID)来实现鉴权的,那么先调用完登录接口--》拿到它返回的这个数据--》存储起来--》后面再调用其他接口的时候直接带上这个数据过去就可以了。
2) 如果是通过token来实现鉴权的,那么同样只需要在调用完登录接口--》拿到它返回的这个数据--》存储起来,后面操作同上。
先回答上面的一个基本实现步骤,然后再补充以下一些实现细节:
a. 怎么取到这个JSESSIONID或者token
这个信息怎么取首先得明白它是怎么返回来的,可能为以下两种方式:
1) 登录接口的响应头
2) 登录接口的响应报文
需要找开发确认,不同方式不同取法。
b. 怎么存储这个JSESSIONID或者token
1) 文件中(excel、properties文件都可以)
2) 数据库
3) 代码里面自己定义的公共静态变量,作为一个共享的数据
c. 请求其他需要鉴权的接口时,怎么带过去这个数据
先找开发人员确认,再调用需要鉴权的这些接口怎么携带这个鉴权的