• 1
  • 0
分享

1、引言

关于接口测试,这针对大部分的测试工程师来说,都是必备的技能,

而且,关于接口测试, 测试工程师从初探到成长的必经之路:

 接口测试理解,→接口测试方法学习→ 单接口测试工具学习→接口自动化平台/工具学习→接口自动化脚本设计/编写→ 接口自动化框架设计→接口自动化平台设计/编码。

按照这个流程, 你可以对照,你现在的接口测试等级,以及,你希望需要提升的方向。

而今天分享的内容,是接口自动化框架的设计。

由于接口测试方法, 接口测试工具的学习,都很简单, 所以,我也不做过多的赘述,

我们把更多的精力,投入到需要提升的技能上。

由于自动化框架的设计,需要根据项目来进行, 

这里,我就以某一个项目为Demo,进行http_service 配置。

2、代码示例

由于代码很简单, 主要思路:

    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)

你看,这段代码, 并没有任何难度, 并且,逻辑也比较清晰。

所以, 其实设计框架, 并不是"那么难" 嘛。

只要你学好了编程语言, 并且做过几年的开发(我说的这几年,并不是一直 复制、粘贴),并且好了解使用工具的原理, 那么,你就可以设计一个你认为可行的接口自动化框架。

小屌丝:别听鱼哥胡扯, 设计 一个接口自动化框架,并不是很容易的事,

小鱼:何出此言?

小屌丝:你这仅仅是框架的一个配置, 还有好多配置的。

小鱼:....

u=1314434674,2362041459&fm=253&fmt=auto&app=138&f=GIF.gif

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 扎实的基础是成功的一半,学号好基础,才能更好的进步!常见的测试用例设计方法主要会涉及以下几种:1、等价类2、边界值3、场景法4、判定表5、因果图6、错误推断法7、正交测试法(正交表)(今天主要解释前三种最为常用)选择合适的测试用例方法,有助于你去更好的梳理出逻辑关联关系,让你的测试覆盖率更高,更高效率的覆盖到所有测试点。一、等价类划分法1)定义依据需求输入划分为若干等价类,从等价类中选定一个测试用例,如果该测试用例通过,则表明整个等价类通过测试如:微信发红包0.01--2002)适用场景一般适用于无限多种输入,我们不可能完成穷举测试,等价类可以使我们用较少的测试用例尽可能多的将功能覆盖。3)有...
            0 0 1931
            分享
          •   应届生,没有实际项目经验怎么破?  面试的过程并不为为了显示面试官技术有多牛,也不是为了体现他们公司有多么难进而是考察你的能力和招聘需求是否相匹配,进而评估你能否满足工作需求,甚至实现更多的岗位期待。  弄清楚了这个核心,那么就只需要把控好两方面的内容:  1、自己的技能水平可以满足招聘需求  2、表达能力OK  围绕上面的核心,咱们来具体的聊一下:  首先来说,目前的行业招聘现状是:  ·测试行业底层在不断洗牌  · 初级人员薪资一直维持不变(相当于降薪)  · 已经不再是公司疯狂招人的阶段  所以就导致了明显的两极分化,大厂倾向于直接招测试开发,测试团队进一步精简,...
            0 0 737
            分享
          •   Pairwise(后称:配对测试)可以看作是正交测试用例设计的拓展,其目的是为了缩减测试用例集大小,以较小的测试用例集覆盖较全的测试点,降低测试损耗。  一、配对测试理论基础  配对测试用例设计基于以下两个假设:1、每一个测试点/维度都是正交的,即相互间没有交集;2、根据数学统计分析,73%的缺陷是由单因子或两个  因子相互作用产生的(其中单因子是35%,两个因子是38%)。因此,配对测试用例设计对于覆盖两因子交互产生的用例集性价比较高(这也在某些方面成为配对测试的一种局限)。  可能说到这里,还是对于测试维度、因子,有些似明非明、迷惑不解,我们用一个图来简单说下这两个是什么,它们之间什么...
            12 12 1138
            分享
          • 随着软件开发过程复杂性的不断增加,客户希望得到新软件的期望周期也越来越短,所以软件测试方法需要不断的发展快速适应新的开发模式,敏捷测试的呼声越来越高,以下是CC先生对敏捷测试的一些思考。敏捷测试的定义在CC先生初次遇到敏捷的时候,认为敏捷只是有关于流程和工具,学习了一系列有关于敏捷的流程和自动化测试的工具,随着对敏捷理解的深入,越发能体会到敏捷不仅仅是关于流程和工具,它是关于人和文化的! 受到这种认识的启发,CC先生开始深入了解敏捷的历史 - 事实证明,人和文化一直是敏捷的核心。敏捷测试也是如此,它不仅是流程和工具的更改,它更倾向于一种新的测试模式,高投入产出比的同时也提供高质量的产品。如果把...
            0 1 3219
            分享
          •   测试江湖:聊聊“情商”那些事儿  程序员们,你们是否也曾在提到“情商”时,脑海中浮现出各种“梗”和“表情包”?实际上,每当看到那些把程序员描绘成情商“退化”到极点的故事,我都忍不住想笑。在这背后,实际上揭示了测试同学这一群体在传统印象中可能被认为具有较高技术能力但较低情商水平的真相。在我所熟悉的IT圈子里,我真没遇到过几个真正的“极品”。相反,许多程序员都具备出色的技术能力,同时在应对职场挑战时也展现出了坚韧不拔的精神。  这些流行的“情商故事”大多是由外行人杜撰出来开玩笑的成分。说不定,这些故事的杜撰者自己本身还是个程序员!言归正传,让我们来聊聊程序员中那些比较典型的“情商不足”表现吧!...
            0 0 432
            分享
      • 51testing软件测试圈微信