基于python+unittest +requests接口测试
谈到接口测试,大家都不会感到陌生。接口测试的工具和实现方式也有很多,比如ant+jmeter+jemkins、postman.....等都可以去实现,但是今天我要介绍的是基于python+unittest +requests的接口测试,至于接口测试前的准备工作、原理....等其他的需要掌握的知识点,大家自己可以下去查找资料学习。
1、环境介绍:
采用python3+unittest+requests
2、工程目录结构介绍:
整个工程分为5个目录:程序入口、测试报告、测试用例、测试数据(包括Http请求默认值等),工具目录(主要是放置一些公共调用函数,比如请求类、json解析)
3、接口请求
接口请求封装成单独类,用例直接调用请求类即可。之所以单独出来,因为请求的方式有很多种,如果后续需要添加其他的请求方式只用修改此类就可以了,其他的有点就不多说了
4、接口用例
每一个接口单独一个类,每个接口会有多种场景,然后根据情况去初始化,具体去实现。说到接口case,我得说一下参数化,参数化的方式有很多,比如excel、xml、database....这些都可以,但是我这里沿用的testng的数据源思想,其实unittest也是可以实现的,那就是parameterized,具体怎么实现大家自己可以研究
5、执行
执行也是沿用unittest的功能,加载想要执行的接口用例即可
6、测试报告
我的测试报告没有使用unittest自带的HtmlTestRunner,为什么不使用自带的,因为我自己认为HtmlTestRunner测试模板不适用接口测试报告模板。一个接口测试报告是需要展示接口的详细请求信息的,而HtmlTestRunner达不到这个需求。不过还好,我觉得jmeter的思路不错,参照着修改了一下(注意报告中的详情是可以展开和收起的):
以上的这些都是只是我个人的思路,有不对或者更好的建议,还希望大家多多指出,一起共同学习。以上只提供了思路,学习的道路上思路最重要,实现方式有很多种,在这里向大家推荐一个软件测试学习群:747981058。欢迎大家关注我,之后也会有很多的干货分享!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
vue---vuex
vuex是一个专为vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 一、npm安装 npm install vuex --save 二、配置:全局配置 当我们使用vue脚手架来搭配vue开发环境时,vuex全局该如何配置呢? (1)首先我们在项目的src文件下创建一个store文件夹,在store文件夹下新建一个store.js文件,来创建我们的store (2) 在全局main.js文件下来全局配置 // The Vue build version to load with the `import` command // (runtime-only or standalone) has been set in webpack.base.conf with an alias. import Vue from 'vue' import App from './App' import router from './router' import store from './store/store....
- 下一篇
vue技术分享之你可能不知道的7个秘密
本文是vue源码贡献值Chris Fritz在公共场合的一场分享,觉得分享里面有不少东西值得借鉴,虽然有些内容我在工作中也是这么做的,还是把大神的ppt在这里翻译一下,希望给朋友带来一些帮助。 一、善用watch的immediate属性 这一点我在项目中也是这么写的。例如有请求需要再也没初始化的时候就执行一次,然后监听他的变化,很多人这么写: created(){ this.fetchPostList() }, watch: { searchInputValue(){ this.fetchPostList() } } 上面的这种写法我们可以完全如下写: watch: { searchInputValue:{ handler: 'fetchPostList', immediate: true } } 二、组件注册,值得借鉴 一般情况下,我们组件如下写: import BaseButton from './baseButton' import BaseIcon from './baseIcon' import BaseInput from './baseInput' export defa...
相关文章
文章评论
共有0条评论来说两句吧...