【接口自动化】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需要注意的那些点。

相关文章
|
9天前
|
设计模式 前端开发 JavaScript
自动化测试框架设计原则与最佳实践####
本文深入探讨了构建高效、可维护的自动化测试框架的核心原则与策略,旨在为软件测试工程师提供一套系统性的方法指南。通过分析常见误区,结合行业案例,阐述了如何根据项目特性定制自动化策略,优化测试流程,提升测试覆盖率与执行效率。 ####
33 6
|
9天前
|
人工智能 前端开发 测试技术
探索软件测试中的自动化框架选择与优化策略####
本文深入剖析了当前主流的自动化测试框架,通过对比分析各自的优势、局限性及适用场景,为读者提供了一套系统性的选择与优化指南。文章首先概述了自动化测试的重要性及其在软件开发生命周期中的位置,接着逐一探讨了Selenium、Appium、Cypress等热门框架的特点,并通过实际案例展示了如何根据项目需求灵活选用与配置框架,以提升测试效率和质量。最后,文章还分享了若干最佳实践和未来趋势预测,旨在帮助测试工程师更好地应对复杂多变的测试环境。 ####
31 4
|
8天前
|
监控 jenkins 测试技术
自动化测试框架的构建与实践
【10月更文挑战第40天】在软件开发周期中,测试环节扮演着至关重要的角色。本文将引导你了解如何构建一个高效的自动化测试框架,并深入探讨其设计原则、实现方法及维护策略。通过实际代码示例和清晰的步骤说明,我们将一起探索如何确保软件质量,同时提升开发效率。
22 1
|
14天前
|
机器学习/深度学习 前端开发 测试技术
探索软件测试中的自动化测试框架选择与优化策略####
本文深入探讨了在当前软件开发生命周期中,自动化测试框架的选择对于提升测试效率、保障产品质量的重要性。通过分析市场上主流的自动化测试工具,如Selenium、Appium、Jest等,结合具体项目需求,提出了一套系统化的选型与优化策略。文章首先概述了自动化测试的基本原理及其在现代软件开发中的角色变迁,随后详细对比了各主流框架的功能特点、适用场景及优缺点,最后基于实际案例,阐述了如何根据项目特性量身定制自动化测试解决方案,并给出了持续集成/持续部署(CI/CD)环境下的最佳实践建议。 --- ####
|
15天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
58 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
5天前
|
jenkins 测试技术 持续交付
自动化测试框架的构建与优化:提升软件交付效率的关键####
本文深入探讨了自动化测试框架的核心价值,通过对比传统手工测试方法的局限性,揭示了自动化测试在现代软件开发生命周期中的重要性。不同于常规摘要仅概述内容,本部分强调了自动化测试如何显著提高测试覆盖率、缩短测试周期、降低人力成本,并促进持续集成/持续部署(CI/CD)流程的实施,最终实现软件质量和开发效率的双重飞跃。通过具体案例分析,展示了从零开始构建自动化测试框架的策略与最佳实践,包括选择合适的工具、设计高效的测试用例结构、以及如何进行性能调优等关键步骤。此外,还讨论了在实施过程中可能遇到的挑战及应对策略,为读者提供了一套可操作的优化指南。 ####
|
14天前
|
测试技术 API Android开发
探索软件测试中的自动化框架选择与实践####
本文深入探讨了软件测试领域内,面对众多自动化测试框架时,如何依据项目特性和团队需求做出明智选择,并分享了实践中的有效策略与技巧。不同于传统摘要的概述方式,本文将直接以一段实践指南的形式,简述在选择自动化测试框架时应考虑的核心要素及推荐路径,旨在为读者提供即时可用的参考。 ####
|
18天前
|
测试技术 Android开发 UED
探索软件测试中的自动化框架选择
【10月更文挑战第29天】 在软件开发的复杂过程中,测试环节扮演着至关重要的角色。本文将深入探讨自动化测试框架的选择,分析不同框架的特点和适用场景,旨在为软件开发团队提供决策支持。通过对比主流自动化测试工具的优势与局限,我们将揭示如何根据项目需求和团队技能来选择最合适的自动化测试解决方案。此外,文章还将讨论自动化测试实施过程中的关键考虑因素,包括成本效益分析、维护难度和扩展性等,确保读者能够全面理解自动化测试框架选择的重要性。
33 1
|
1天前
|
人工智能 监控 测试技术
探索软件测试中的自动化框架选择与优化策略####
【10月更文挑战第21天】 本文深入剖析了软件测试领域面临的挑战,聚焦于自动化测试框架的选择与优化这一核心议题。不同于传统摘要的概述方式,本文将以一个虚拟案例“X项目”为线索,通过该项目从手动测试困境到自动化转型的成功历程,生动展现如何根据项目特性精准匹配自动化工具(如Selenium、Appium等),并结合CI/CD流程进行深度集成与持续优化,最终实现测试效率与质量的双重飞跃。读者将跟随“X项目”团队的视角,直观感受自动化框架选型的策略性思考及实践中的优化技巧,获得可借鉴的实战经验。 ####
12 0
|
16天前
|
机器学习/深度学习 自然语言处理 物联网
探索自动化测试框架的演变与未来趋势
随着软件开发行业的蓬勃发展,软件测试作为保障软件质量的重要环节,其方法和工具也在不断进化。本文将深入探讨自动化测试框架从诞生至今的发展历程,分析当前主流框架的特点和应用场景,并预测未来的发展趋势,为软件开发团队选择合适的自动化测试解决方案提供参考。