关于接口测试,这针对大部分的测试工程师来说,都是必备的技能,
而且,关于接口测试, 测试工程师从初探到成长的必经之路:
接口测试理解,→接口测试方法学习→ 单接口测试工具学习→接口自动化平台/工具学习→接口自动化脚本设计/编写→ 接口自动化框架设计→接口自动化平台设计/编码。
按照这个流程, 你可以对照,你现在的接口测试等级,以及,你希望需要提升的方向。
而今天分享的内容,是接口自动化框架的设计。
由于接口测试方法, 接口测试工具的学习,都很简单, 所以,我也不做过多的赘述,
我们把更多的精力,投入到需要提升的技能上。
由于自动化框架的设计,需要根据项目来进行,
这里,我就以某一个项目为Demo,进行http_service 配置。
由于代码很简单, 主要思路:
1、log日志;
2、封装常用的请求类型:get、put、post、delete...
3、做断言,抛出异常
了解了heetp_service的配置, 我们就直接看代码
# -*- coding:utf-8 -*- # @Time : 2019-10-23 # @Author : Carl_奕然 import requests from Interface_python3.public.log import Log #日志 log = Log("HTTP").get_logger() class HTTP(object): """网络请求封装""" def __init__(self): # self.log = Log("HTTP").get_logger() def get(self, url, **kwargs): params = kwargs.get('params') headers = kwargs.get('headers') cookies = kwargs.get('cookies') try: r = requests.get(url, params=params, headers=headers, cookies=cookies, timeout=15) return r except Exception as e: self.log.error('get请求出错:%s' % e) def put(self, url, **kwargs): params = kwargs.get('params') headers = kwargs.get('headers') data = kwargs.get('data') json = kwargs.get('json') cookies = kwargs.get('cookies') try: r = requests.put(url, params=params, headers=headers, data=data, json=json, cookies=cookies, timeout=30) return r except Exception as e: self.log.error("put请求出错:%s" % e) def post(self, url, **kwargs): params = kwargs.get('params') headers = kwargs.get('headers') data = kwargs.get('data') json = kwargs.get('json') cookies = kwargs.get('cookies') try: r = requests.post(url, params=params, headers=headers, data=data, json=json, cookies=cookies, timeout=100) return r except Exception as e: self.log.error('post请求出错:%s' % e) def delete(self, url, **kwargs): params = kwargs.get('params') headers = kwargs.get('headers') data = kwargs.get('data') json = kwargs.get('json') cookies = kwargs.get('cookies') try: r = requests.delete(url, params=params, headers=headers, data=data, json=json, cookies=cookies, timeout=15) return r except Exception as e: self.log.error('detele请求出错:%s' % e)
你看,这段代码, 并没有任何难度, 并且,逻辑也比较清晰。
所以, 其实设计框架, 并不是"那么难" 嘛。
只要你学好了编程语言, 并且做过几年的开发(我说的这几年,并不是一直 复制、粘贴),并且好了解使用工具的原理, 那么,你就可以设计一个你认为可行的接口自动化框架。
小屌丝:别听鱼哥胡扯, 设计 一个接口自动化框架,并不是很容易的事,
小鱼:何出此言?
小屌丝:你这仅仅是框架的一个配置, 还有好多配置的。
小鱼:....