记录python接口自动化测试--简单总结一下学习过程(第十目)
至此,从excel文件中循环读取接口到把测试结果写进excel,一个简易的接口自动化测试框架就完成了。大概花了1周的时间,利用下班和周末的时间来理顺思路、编写调试代码,当然现在也还有很多不足,例如没有做异常判断,如果某个环节出问题的话,程序就会终止运行......
其实一整个流程下来,最大的收获是第一次用python写出了一个实用的东西,这套框架已经可以应付我目前的接口测试工作;
说一说我的学习过程:
这套简单框架也是借鉴了其他人的设计思路,我在开始的时候其实并没有一个很好的思路,甚至无从下手,不知道如何把这些接口、参数、响应数据串起来,后来想也不能就这样干瞪眼,毕竟自己对编程也没有什么天分,也还没有形成编程思维,于是就在网上找相关资料,相关视频,看看别人是如何把一个框架从0到1搭起来的,重点是他们的设计思路,我始终觉得编程工作最重要的是“思想”,是你看待一个事物的逻辑思维。
学习过程中自己跟着敲,反复看别人的代码,分析每条语句的含义,模块和模块之间的逻辑是如何关联的,数据封装是如何做的,这个过程也不是一帆风顺,有时候明明是一样的代码,为什么我的就运行不出来呢,这种时候最重要的就是分析原因了,当你把错误的原因找到并解决,那就说明你成长了,收获到了自己的东西。有必要学会搜索相关问题的技巧,要知道你肯定不是唯一一个遇到某个错误的人,这个坑肯定有其他人踩过,搜索不到解决方案,一般说明是搜索姿势不对;当然也要学会自己排查,比如之前我在解析excel中的接口参数并传递给requests请求时,发现怎么传都是没结果,开始也很懵逼,格式看着也是字典,为啥传不进去,后来突然意识到从excel中解析出来的值不是字典类型,然后试验了一下,验证了自己的猜想,知道了原因问题也就迎刃而解了。当然解决问题的方法不止一种。
理解别人的设计思路后,就开始自己写,这个时候就简单多了,因为已经知道了套路,搬砖也就很容易了,对我来说,这也是一个锻炼的过程吧。这个过程也是练习使用python的过程,通过实际需求来有针对性地运用python的一些处理方法,也是一个大大的收获。
后面打算继续研究下如何实现在业务层面进行接口测试,把接口关联起来,然后学习一下爬虫的相关知识,加深对requests库的理解。好了,大致情况就是这样,flag也立了,后面也会贴出这个学习的过程。
记录python接口自动化测试--简单总结一下学习过程(第十目)的更多相关文章
- 记录python接口自动化测试--利用unittest生成测试报告(第四目)
前面介绍了是用unittest管理测试用例,这次看看如何生成html格式的测试报告 生成html格式的测试报告需要用到 HTMLTestRunner,在网上下载了一个HTMLTestRunner.py ...
- 记录python接口自动化测试--requests使用和基本方法封装(第一目)
之前学习了使用jmeter+ant做接口测试,并实现了接口的批量维护管理(大概500多条用例),对"接口"以及"接口测试"有了一个基础了解,最近找了一些用pyt ...
- 记录python接口自动化测试--从excel中读取params参数传入requests请求不生效问题的解决过程(第七目)
在第六目把主函数写好了,先来运行一下主函数 从截图中可以看到,请求参数打印出来了,和excel中填写的一致 但是每个接口的返回值却都是400,提示参数没有传进去,开始不知道是什么原因(因为excel中 ...
- 记录python接口自动化测试--unittest框架基本应用(第二目)
在第一目里写了几个简单demo,并把调用get和post请求的方法封装到了一个类里,这次结合python自带的unittest框架,用之前封装的方法来写一个接口测试demo 1.unittest简单用 ...
- 记录python接口自动化测试--把测试结果写进excel文件(第九目)
python中一般使用xlrd(excel read)来读取Excel文件,使用xlwt(excel write)来生成Excel文件(可以控制Excel中单元格的格式),需要注意的是,用xlrd读取 ...
- 记录python接口自动化测试--根据excel中的期望输出是否存在请求返回的响应来判断用例是否执行成功(第八目)
1.首先在excel中的expectValue列填好预期结果值 这里判断接口成功的依据是预期结果值是否存在于接口返回的数据中. 首先,要知道在之前封装的get/post请求方法中返回的是‘str’,也 ...
- 记录python接口自动化测试--主函数(第六目)
把操作excel的方法封装好后,就可以用准备好的接口用例来循环遍历了 我的接口测试用例如下 主函数代码: run_handle_excel.py# coding:utf-8 from base.run ...
- 记录python接口自动化测试--把操作excel文件的方法封装起来(第五目)
前面补充了如何来操作excel文件,这次把如何获取excel文件的sheet对象.行数.单元格数据的方法进行封装,方便后面调用 handle_excel.py# coding:utf-8 import ...
- 记录python接口自动化测试--pycharm执行测试用例时需要使用的姿势(解决if __name__ == "__main__":里面的程序不生效的问题)(第三目)
1.只运行某一条case 把光标移动到某一条case后面,然后右键,选择"Run..."来运行程序 此时,pycharm会只运行光标所在位置的这一条case 2.如果想执行全部ca ...
随机推荐
- 一次 Java 内存泄漏排查过程,涨姿势
人人都会犯错,但一些错误是如此的荒谬,我想不通怎么会有人犯这种错误.更没想到的是,这种事竟发生在了我们身上.当然,这种东西只有事后才能发现真相.接下来,我将讲述一系列最近在我们一个应用上犯过的这种错误 ...
- ArrayList集合、String[]数组、String字符串
数组初始化时候必须指定长度,而ArrayList是动态数组,可以根据实际内容改变 //声明stsArr数组并初始化 String[] strArr = new String[]{ "aaa& ...
- 20165310 NetSec2019 Week6 Exp4 恶意代码分析
20165310 NetSec2019 Week6 Exp4 恶意代码分析 一.实验要求 1.系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间 ...
- 树之105 Construct Binary Tree from Preorder and Inorder Traversal
题目链接:https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/ 参考链 ...
- ECharts公共组件:title详解、 tooltip详解、toolbox详解、legend详解、dataZoom详解、visualMap全解
1. Title mytextStyle={ color:"#333", //文字颜色 fontStyle:"norm ...
- 浅谈Log4j2日志框架及使用
目录 1.日志框架 2.为什么需要日志接口,直接使用具体的实现不就行了吗? 3.log4j2日志级别 4.log4j2配置文件的优先级 5.对于log4j2配置文件的理解 6.对于Appender的理 ...
- linux内核中的cfq输入输出调度算法
1. 全称是什么? 完全公平调度算法(completely fair queuing) 2. 原理是怎样的? 先按照输入输出请求的地址进行排序,然后按排好的次序执行请求 3. 适用场景 适用于旋转式磁 ...
- AtCoder Beginner Contest 120 解题报告
为啥最近都没有arc啊... A - Favorite Sound #include <algorithm> #include <iostream> #include < ...
- The issus in Age Progression/Regression by Conditional Adversarial Autoencoder (CAAE)
The issus in Age Progression/Regression by Conditional Adversarial Autoencoder (CAAE) Today I tried ...
- Hive安装部署及简单测试 网页《一》
1.首先关闭机器上之前配置的分布式Hadoop 命令: (在hadoop的安装目录中) sbin/stop-dfs.sh 关闭: yarn 命令: sbin/stop ...