接口自动化-调试思路

前置背景:一个开发团队会基于接口开发文档,会接口返回值会做相关的规范。比如都务必返回json串,或者str,或者一个html。

                 

假如只返回一个json串,那么这个json串比如必须包含字段code,和data或msg(成功时返回data,失败时返回msg,这两个字段不能同时出现),还有包含其他字段

 

 

针对开发人员多某个接口的某个接口返回值未做正确规范的处理,接口自动化测试人员可以在excel编写测试用例时,在返回值对cde和msg做相应的填值,假装这就是接口返回值,然后拿去做断言。

这样做的效果,就能保证后续所有新增的接口测试用例都能保持统一性,易于用例和脚本的维护。

 

 

====

2019.07.03 星期三  更新

1.遇到有疑问的返回值,可以打断点;或者通过多写print看打印出来的值有没有在指定的代码块里,如果有打印出来表示程序有执行到指定的代码块里,如果没有打印出来表示程序没有执行到指定的代码块里。

 

验证接口返回值的正确与否, 目前流行采用断言,  简单方便。

 

 

============

2019.07.04 星期四  更新

 

 

unittest单元测试框架,有个“流氓”的处理方式,就是会自动加载符合规则的脚本,  当脚本被执行后,相关导入的类涉及的类属性也会被同时加载。

记这个的原因,是因为调用数据库表相关表数据总量的时候,使用相关模型层方法一直得到数量是0,排查时才发现脚本获取到的数量一直都是表数据为空的时候。

 

 

 

优化的方法:

比如,v_show_banner脚本,用于做判断的代码块里,再进行赋值即可。

 

 

 

============

2019.07.11 星期四  更新

一、

# 该脚本的作用,获取登录成功后的session,存储在session对象,供后续所有模块接口使用
# 主要最开始执行登录接口的接口测试用例脚本会报错,是为了修复该bug才写的这个函数

# 在run.py脚本最上方,调用该函数就能执行该函数,获取到对应的session

 

 

 

 

 

 

 

 二、 工具使用小技巧

要看函数/方法/类 在哪些脚本里被使用,可以有以下操作

比如,要看函数A在哪些脚本里被使用,

第一步: 按住Ctrl键,鼠标移动到函数A名,鼠标左键单击一次,就能展示出这个函数A被哪些脚本使用啦

第二步:   如果函数A只有被一个脚本a使用,则直接就跳转到脚本a的函数A名,

 

 

 

 

 

三、表单字段的校验顺序

表单字段的校验顺序,是按照控制层方法里的代码顺序来执行的。

比如,php服务器语言。

所以,在编写接口自动化测试用例时,当只针对特定一个表单字段A进行各种字段取值校验时,其他表单字段的取值都必须是符合要求的正常值。这样接口测试时,才能确保是真的测试表单字段A的各种取值情况。

 

 

 

 

 四、  当unittest框架执行速度过快,容易导致某些接口返回值取值报错,这时就需要对报错的接口对应的接口用例进行调试啦

 

 

 

 

 

 

 

 

============

2019.07.12 星期五  更新

一、在excel单元格,如何把int类型的数字转化成str类型的数字,做法如下:

 

 

 

 

 

二、  启动vue框架的项目服务,做法如下:

 

 

============

2019.07.15 星期一  更新

一、

1.目前主流都是用 'Content-Type':'application/json',  因为传json本质就是传一个字符串,可以被java、php、.net、.python等任何一个服务器语言的控制层接口接收并且每个服务器语言自己都有各自封装好的库可以解析json这种字符串数据,并且解析成每个服务器语言各自想要的数据类型。 比如,java是:mappping, php是:array, python是:dict。

2、如果是'Content-Type':'application/x-www-form-urlencoded',就是传键值对,python语言有库可以解析,但java语言库不一定能解析并不一定能解析出想要的数据值。

 (这类问题,已咨询过文尧,开发人员的讲解思路很赞)

  从业务/结合实际操作场景讲起: 从浏览器输入一个包含入参的url,然后发送请求A,到服务器语言比如php接收到请求后,调用php本身有的库方法去解析请求A,解析成为可以让php用的数据类型(这个解析库肯定封装的相对强大)

 

 

 

 

 

 

 

 

 

 

 技巧:万金油,如何传data和json的技巧

 

 

 

二、  pycharm的调试功能,很强大

操作步骤:

1. 选择某个脚本,进入脚本内部

2.选择某行代码,在页面该行最左边,单击鼠标左边,会出现一个红圈的点,  

3.接着,点击绿色的虫子图标,就可以允许调试模式啦

 

 

 

 

 

 接着,看结果:

 

 

 

 

 

 

 

 细节:

1.调试结果是无序的字典,能打印出来的都会被打印出来。 

  打印出来的内容,包含 类的存储地址,对象的存储地址,类属性,类初始化的各变量。(只要是脚本a里面,有A=B这种形式的, 只要符合断点规则的,A都会被打印出来,因为A也属于变量)

 

 

 

posted @ 2019-07-02 14:21  little-hong  阅读(928)  评论(0编辑  收藏  举报