首页 > 其他分享 >接口自动化框架设计漫谈V1.0

接口自动化框架设计漫谈V1.0

时间:2024-01-23 19:25:18浏览次数:33  
标签:例集 框架 用例 Python 漫谈 接口 V1.0 pytest

你好,我是刚哥。
针对“pytest搭建接口自动化框架”,谈谈对框架设计的当前认知。
简约至上。选择pytest就是选择Python,Python的设计理念是Simple is better than complex,不能让初学者直接上手的框架设计,都是在反其道而行之。所谓具备编程思想的自动化框架,并不值得追求。
原生用法。Beautiful is better than ugly,能不封装就不封装,不改变依赖库的函数声明,函数名、入参列表、返回类型。通过可省参数追加入参,通过装饰器添加代码,通过猴子补丁更改行为。
数据用例一体。Flat is better than nested,平铺比嵌套更容易编写,阅读,维护。将数据放在用例文件中,在单个文件中编写用例。数据驱动时,可从外部读取。变量管理亦是如此。
pytest提供了测试框架的基础骨架,Python库提供了各式各样的组装零件,我们要做的是拼凑,搭建适用于接口自动化测试的框架。
宜轻不宜重。挑选Python库,优先选择轻量级的,比如pytest-html既能满足使用需要,又能定制化样式,就不用安装依赖Java环境的Allure。比如Python内置logging就能打印日志,就没必要非得使用依赖visual c++的loguru。
用例独立。用例相互之间没有依赖,随便拉出一条用例就能执行。多接口场景用例,把每个接口视为一个测试步骤,排列在用例里面。无上游依赖、出参稳定的接口抽取为公共函数。简单来说,用例可以只包含一个接口,也可以包含多个接口。接口可以写在用例里面,也可以写在用例外面作为公共函数,再导入到用例里面。接口参数不同验证不同场景,复制用例文件,命名为新用例。
中文命名。用代码编写pytest,有个缺点是文件命名晦涩难懂。在“用例独立”这条设计原则之上,可以采用中文命名用例集(文件夹)和用例名称(文件名)。不存在用例相互依赖,就不需要import,代码中就不会出现中文,不影响代码执行和“专业性”。用中文写注释没问题,不要用中文作为对象名。
标记不如目录。pytest支持marker给测试用例打标,执行时按标记筛选用例执行。用例多了以后,维护标记变得麻烦。将用例集按照某种特性分组,比如基础自动化用例集、每日巡检用例集、联调用例集。按目录维护用例,按目录批量执行用例。

标签:例集,框架,用例,Python,漫谈,接口,V1.0,pytest
From: https://www.cnblogs.com/df888/p/17983210

相关文章

  • SpringBoot可视化接口开发工具magic-api
    magic-api简介magic-api是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象。在SpringBoot中使用1、添加magic-api相关依赖<!--接口快速开发框架 magic-api--><depen......
  • 免费节假日api接口使用教程-聚合数据
    免费节假日api接口使用教程-聚合数据......
  • SpringBoot实现RequestBodyAdvice和ResponseBodyAdvice接口
    SpringBoot提供了一种机制,允许开发者在请求体(RequestBody)和响应体(ResponseBody)被处理之前和之后执行自定义逻辑。这通过RequestBodyAdvice和ResponseBodyAdvice接口实现。RequestBodyAdvice:此类用于在请求体被处理之前执行自定义逻辑。例如,你可以使用它来解析请求体,或者......
  • .NET Framework 4 请求https接口
    usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Linq;usingSystem.Net;usingSystem.Text;usingSystem.Web;usingNewtonsoft.Json;namespaceTest.A{publicstaticclassHttpHelper{publicstaticTPostHttp......
  • 接口
    接口的本质就是契约作用:约束定义一些方法,让不同的人实现publicabstractpublicstaticfinal接口不能实例化,接口中没有构造方法implements可以实现多个接口必须重写接口中的方法//定义的关键字interface,接口都需要有实现类publicinterfaceUserServic......
  • STM32CubeMX教程22 FSMC - 8080并行接口TFT-LCD驱动
    1、准备材料开发板(正点原子stm32f407探索者开发板V2.4)STM32CubeMX软件(Version6.10.0)野火DAP仿真器keilµVision5IDE(MDK-Arm)ST-LINK/V2驱动XCOMV2.6串口助手2、实验目标使用STM32CubeMX软件配置STM32F407开发板FSMC接口驱动8080并行接口TFT-LCD显示,具体为使用FSMCBank......
  • python接口测试-get请求
    用python做接口测试,需要了解和学习第三方模块:Requests。它是一个Python第三方库,处理URL资源特别方便。虽然Python内置的urllib模块,用于访问网络资源。但是,它用起来比较麻烦,而且,缺少很多实用的高级功能。可以查看requests中文官网:http://cn.python-requests.org/zh_CN/latest/inde......
  • centos 查看 PCIE 接口 PCI-E Linux下查看PCIe版本及速率
    centos查看PCIE接口lspci|grep-ipcie#lspci|grep-ipcie01:00.0Ethernetcontroller:BroadcomInc.andsubsidiariesNetXtremeBCM57202-portGigabitEthernetPCIe01:00.1Ethernetcontroller:BroadcomInc.andsubsidiariesNetXtremeBCM57202-portGig......
  • 巴拉巴拉 HANA CLOUD 版本的ODATE 接口案例
    今天分享一个S4HC的ODATA接口这是一个维护PM中设备的的扣子 REPORT  YTEST029.DATA: LO_HTTP_CLIENT TYPE REF TO IF_HTTP_CLIENT.DATA: LO_HTTP_CLIENT2 TYPE REF TO IF_HTTP_CLIENT.DATA: RESPONSE TYPE STRING.DATA:IV_URL TYPE STRING.根据SM59中配置......
  • 从零搭建完整python自动化测试框架(UI自动化和接口自动化 )
    从零搭建完整python自动化测试框架(UI自动化和接口自动化)本自动化测试框架采用python+unittest的基础来搭建,采用PO模式、数据驱动的思想,通过selenium来实现WEBUI自动化,通过request来实现接口自动化。移动终端的自动化也可在该框架基础上去构建补充。 总体框架总体框架......