至此,从excel文件中循环读取接口到把测试结果写进excel,一个简易的接口自动化测试框架就完成了。大概花了1周的时间,利用下班和周末的时间来理顺思路、编写调试代码,当然现在也还有很多不足,例如没有做异常判断,如果某个环节出问题的话,程序就会终止运行......

其实一整个流程下来,最大的收获是第一次用python写出了一个实用的东西,这套框架已经可以应付我目前的接口测试工作;

说一说我的学习过程:

这套简单框架也是借鉴了其他人的设计思路,我在开始的时候其实并没有一个很好的思路,甚至无从下手,不知道如何把这些接口、参数、响应数据串起来,后来想也不能就这样干瞪眼,毕竟自己对编程也没有什么天分,也还没有形成编程思维,于是就在网上找相关资料,相关视频,看看别人是如何把一个框架从0到1搭起来的,重点是他们的设计思路,我始终觉得编程工作最重要的是“思想”,是你看待一个事物的逻辑思维。

学习过程中自己跟着敲,反复看别人的代码,分析每条语句的含义,模块和模块之间的逻辑是如何关联的,数据封装是如何做的,这个过程也不是一帆风顺,有时候明明是一样的代码,为什么我的就运行不出来呢,这种时候最重要的就是分析原因了,当你把错误的原因找到并解决,那就说明你成长了,收获到了自己的东西。有必要学会搜索相关问题的技巧,要知道你肯定不是唯一一个遇到某个错误的人,这个坑肯定有其他人踩过,搜索不到解决方案,一般说明是搜索姿势不对;当然也要学会自己排查,比如之前我在解析excel中的接口参数并传递给requests请求时,发现怎么传都是没结果,开始也很懵逼,格式看着也是字典,为啥传不进去,后来突然意识到从excel中解析出来的值不是字典类型,然后试验了一下,验证了自己的猜想,知道了原因问题也就迎刃而解了。当然解决问题的方法不止一种。

理解别人的设计思路后,就开始自己写,这个时候就简单多了,因为已经知道了套路,搬砖也就很容易了,对我来说,这也是一个锻炼的过程吧。这个过程也是练习使用python的过程,通过实际需求来有针对性地运用python的一些处理方法,也是一个大大的收获。

后面打算继续研究下如何实现在业务层面进行接口测试,把接口关联起来,然后学习一下爬虫的相关知识,加深对requests库的理解。好了,大致情况就是这样,flag也立了,后面也会贴出这个学习的过程。

记录python接口自动化测试--简单总结一下学习过程(第十目)的更多相关文章

  1. 记录python接口自动化测试--利用unittest生成测试报告(第四目)

    前面介绍了是用unittest管理测试用例,这次看看如何生成html格式的测试报告 生成html格式的测试报告需要用到 HTMLTestRunner,在网上下载了一个HTMLTestRunner.py ...

  2. 记录python接口自动化测试--requests使用和基本方法封装(第一目)

    之前学习了使用jmeter+ant做接口测试,并实现了接口的批量维护管理(大概500多条用例),对"接口"以及"接口测试"有了一个基础了解,最近找了一些用pyt ...

  3. 记录python接口自动化测试--从excel中读取params参数传入requests请求不生效问题的解决过程(第七目)

    在第六目把主函数写好了,先来运行一下主函数 从截图中可以看到,请求参数打印出来了,和excel中填写的一致 但是每个接口的返回值却都是400,提示参数没有传进去,开始不知道是什么原因(因为excel中 ...

  4. 记录python接口自动化测试--unittest框架基本应用(第二目)

    在第一目里写了几个简单demo,并把调用get和post请求的方法封装到了一个类里,这次结合python自带的unittest框架,用之前封装的方法来写一个接口测试demo 1.unittest简单用 ...

  5. 记录python接口自动化测试--把测试结果写进excel文件(第九目)

    python中一般使用xlrd(excel read)来读取Excel文件,使用xlwt(excel write)来生成Excel文件(可以控制Excel中单元格的格式),需要注意的是,用xlrd读取 ...

  6. 记录python接口自动化测试--根据excel中的期望输出是否存在请求返回的响应来判断用例是否执行成功(第八目)

    1.首先在excel中的expectValue列填好预期结果值 这里判断接口成功的依据是预期结果值是否存在于接口返回的数据中. 首先,要知道在之前封装的get/post请求方法中返回的是‘str’,也 ...

  7. 记录python接口自动化测试--主函数(第六目)

    把操作excel的方法封装好后,就可以用准备好的接口用例来循环遍历了 我的接口测试用例如下 主函数代码: run_handle_excel.py# coding:utf-8 from base.run ...

  8. 记录python接口自动化测试--把操作excel文件的方法封装起来(第五目)

    前面补充了如何来操作excel文件,这次把如何获取excel文件的sheet对象.行数.单元格数据的方法进行封装,方便后面调用 handle_excel.py# coding:utf-8 import ...

  9. 记录python接口自动化测试--pycharm执行测试用例时需要使用的姿势(解决if __name__ == "__main__":里面的程序不生效的问题)(第三目)

    1.只运行某一条case 把光标移动到某一条case后面,然后右键,选择"Run..."来运行程序 此时,pycharm会只运行光标所在位置的这一条case 2.如果想执行全部ca ...

随机推荐

  1. sql存储过程算法

    MSSQL执行 : exec proc_NAME ORACLE : beginproc_NAME;commit;end; 1.求素数 MSSQL; CREATE proc [dbo].[EXEC003 ...

  2. 维护keepalived与mysql漂移脚本

    环境拓扑 chengAlived #!/bin/bash function checkModelone(){ echo "重新进行获取" wget 192.168.158.147: ...

  3. Magnum Kubernetes源码分析(二)

    Kubernetes Master Stack kubernetes master的stack的resources主要分为三个部分. master wait handle wait handle主要用 ...

  4. Codeforces Round #479 (Div. 3)题解

    CF首次推出div3给我这种辣鸡做,当然得写份博客纪念下 A. Wrong Subtraction time limit per test 1 second memory limit per test ...

  5. 【Python044--魔法方法:简单定制】

    一.简单定制 基本要求: -- 定制一个计时器的类 -- start和stop代表开始计时和停止计时 -- 假设计时器对象t1,print(t1)和直接调用t1均显示结果 -- 当计时器未启动或停止计 ...

  6. c和c++main函数的参数

    1.代码 int main(int argc,char **argv[]) { ; } 2.分析 argc:代码参数个数 argv:二级指针,很多个字符串,这里代表参数列表 3.分析 这个代码最终被编 ...

  7. topcoder srm 325 div1

    problem1 link $g[i]$表示解决前$i$个的代价,那么$g[i]$是所有$g[j]+cost(j+1,i)$的最小值. import java.util.*; import java. ...

  8. java后端学习路线

    java基础-->java设计模式-->java数据结构与算法

  9. 数论+矩阵快速幂|斐波那契|2014年蓝桥杯A组9-fishers

    标题:斐波那契 斐波那契数列大家都非常熟悉.它的定义是: f(x) = 1 .... (x=1,2) f(x) = f(x-1) + f(x-2) .... (x>2) 对于给定的整数 n 和 ...

  10. hihoCoder week13 最近公共祖先·一

    用的dfs,自下往上搜索一个节点的所有祖先,然后在相应祖先 判断是否是另一个节点的祖先,如果是 就截止,否则继续往上搜索,直到搜索到,或者知道所有的祖先都被扫描完成 #include <bits ...