【接口自动化】2.快速搭建接口自动化框架

简介: 【接口自动化】2.快速搭建接口自动化框架

接口自动化框架要搭成什么,里面的内容究竟应该有多少?


这个问题没有标准答案,因为这要取决于你的项目,以及你想要用框架来解决什么问题等多种因素。


当然了,这里也就不展开讨论了,还是回到接口自动化这个点,来说一说你至少改具备的东西。


一、编程语言的选择


如果有特殊要求用某种语言的话,你没什么好选。如果没有特殊要求,我个人偏向于使用python语言。


笔者之前也曾参与过基于java语言的接口自动化开发跟维护,框架用的是testng,虽然组内大佬已经尽力


将框架维护的比较好用,但是用起来始终不如爽。或许这也是习惯的原因吧,谁叫我是先,

后学的java呢。


我记得当时领导说是为了让测试的开发语言与开发同步,所以就让我们转用java来开发了。但是我还是那句话,


如果没有特殊要求,我还是果断拥抱。


这里要再加个题外话,那是不是觉得会用就足够了?搁以前或许是吧,但是现在肯定不是了。java还是


要学的,你看看大多数公司开发用的什么语言,就是java。反正多掌握几个主流的开发语言肯定不会亏。


二、单元测试框架的选用


既然语言定了,单元测试框架也就好选了。笔者是基于进行分享,那么就不得不提unittest个pytest了。


unittest是自带的单元测试框架,而pytest则是一个第三方的测试框架。直接给结论,用pytest,优点


多多,插件生态丰富,谁用谁知道。附上pytest的官方文档,不过是英文的。

但是还是推荐多去看看,多写写,多体会。


1268169-20210318220546827-73744950.png


笔者在陆续写一个【解读pytest官方文档】系列,已经写了一些,有兴趣的可以翻一下。


三、善于优秀的第三方库


框架定了pytest,那么就可以用它结合着众多优秀的开源库去实现自己的需求啦,这里写几个常用的:


  1. requests:接口自动化必备神器,请求接口、代理等等应有尽有,官方文档在这,有中文版的哦。

  2. pymysql:操作mysql利器,接口测试少不了要跟数据库打交道,有了它你会更加得心应手。

  3. allure:这是个测试报告,其实没有它你依然可以进行接口测试,如果你想要一份漂亮的测试报告,就选它吧。

... ...
第三方库真的很多,就不一一列举了,要善于搜索。


四、接口自动化框架的基本结构


上面说的都齐了,框架也就有了。至于结构到底怎么样,还是因人、项目而已,怎么适合怎么来。


1268169-20210318222537439-782028491.png


图里的这个结构,并不是我目前项目在用的,但是这几个东西是基本结构,用处分别是:


  • conf:这里可以放一些配置文件啥的,比如数据库链接信息,接口域名等等。
  • interface: 这里就是放测试用例的地方了,下面可以根据项目需要进一步拆分模块
  • report:可有可无吧,有的话你可以把生成的报告放这里
  • util:这里可以写一些公共方法

这里仅仅作示意,名字随便起,只要合适就行。


目前项目里在跑的框架内容就比这多了不少了,毕竟里面是好几个业务都在一起,然后就有了各种各样的问题,


需要框架去兼容解决,自然而然东西就会变多。


本文中只提供思路,供想要搭建接口自动化框架的伙伴参考,有问题可以留言或者私信我,当然了推荐最直接的就是


去搜索了,毕竟这是写代码的一项重要技能!!!


接下来会分享编写接口自动化case需要注意的那些点。

相关文章
|
26天前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
81 8
|
3天前
|
人工智能 编解码 自然语言处理
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
AGUVIS 是香港大学与 Salesforce 联合推出的纯视觉 GUI 自动化框架,能够在多种平台上实现自主 GUI 交互,结合显式规划和推理,提升复杂数字环境中的导航和交互能力。
28 8
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
|
13天前
|
人工智能 Linux API
PromptWizard:微软开源 AI 提示词自动化优化框架,能够迭代优化提示指令和上下文示例,提升 LLMs 特定任务的表现
PromptWizard 是微软开源的 AI 提示词自动化优化框架,通过自我演变和自我适应机制,迭代优化提示指令和上下文示例,提升大型语言模型(LLMs)在特定任务中的表现。本文详细介绍了 PromptWizard 的主要功能、技术原理以及如何运行该框架。
101 8
PromptWizard:微软开源 AI 提示词自动化优化框架,能够迭代优化提示指令和上下文示例,提升 LLMs 特定任务的表现
|
9天前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
102 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
1月前
|
人工智能 自然语言处理 JavaScript
Agent-E:基于 AutoGen 代理框架构建的 AI 浏览器自动化系统
Agent-E 是一个基于 AutoGen 代理框架构建的智能自动化系统,专注于浏览器内的自动化操作。它能够执行多种复杂任务,如填写表单、搜索和排序电商产品、定位网页内容等,从而提高在线效率,减少重复劳动。本文将详细介绍 Agent-E 的功能、技术原理以及如何运行该系统。
85 5
Agent-E:基于 AutoGen 代理框架构建的 AI 浏览器自动化系统
|
18天前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
50 7
|
1月前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
1月前
|
数据管理 jenkins 测试技术
自动化测试框架的设计与实现
在软件开发周期中,测试是确保产品质量的关键步骤。本文通过介绍自动化测试框架的设计原则、组件构成以及实现方法,旨在指导读者构建高效、可靠的自动化测试系统。文章不仅探讨了自动化测试的必要性和优势,还详细描述了框架搭建的具体步骤,包括工具选择、脚本开发、执行策略及结果分析等。此外,文章还强调了持续集成环境下自动化测试的重要性,并提供了实际案例分析,以帮助读者更好地理解和应用自动化测试框架。
|
1月前
|
监控 测试技术 定位技术
探索软件测试中的自动化测试框架选择与实施###
本文不概述传统意义上的摘要内容,而是直接以一段对话形式引入,旨在激发读者兴趣。想象一下,你是一名勇敢的探险家,面前摆满了各式各样的自动化测试工具地图,每张地图都指向未知的宝藏——高效、精准的软件测试领域。我们将一起踏上这段旅程,探讨如何根据项目特性选择合适的自动化测试框架,并分享实施过程中的关键步骤与避坑指南。 ###
40 4
|
1月前
|
敏捷开发 测试技术 持续交付
自动化测试之美:从零开始搭建你的Python测试框架
在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!