若何设计一个自动化测试框架

在举行自动化框架设计之前我们先来看两个问题,什么是自动化框架,设计的时刻应该注重什么原则,然后该怎么做?本文会以一个web端的UI自动化测试框架设计为例

什么是自动化测试框架

  • 什么是框架

特指为解决一个开放性问题而设计的具有一定约束性的支持结构。在此结构上可以凭据详细问题扩展、安插更多的组成部门,从而更迅速和利便地构建完整的解决问题的方案。框架是整个或部门系统的可重用设计,表现为一组抽象构件及构件实例间交互的方式。也就是说框架自己不解决特定的问题,它是通过扩展的种种组件或者工具来解决问题,而且它可以利便的添加或者修改部门组件的功效。

  • 什么是自动化测试框架

什么是自动化测试框架,我们拆分来看的话,实在就是三个方面,自动化、测试、框架,什么是框架上面说了,另有就是他能执行测试,而且照样自动化的,以是框架的各个组件的主要功效就是围绕着若何自动化若何执行测试睁开的。

这里可以把框架的各个功效称作模块,那我们来看看都需要那些模块,需要一个基础模块,主要是怎么实现剧本编写,治理模块,主要的行为是连续集成,准时执行、case治理,统计模块,主要是发送测试讲述,统计分析。那总结一下自动化测试框架的界说就是:把在自动化测试历程中用到的一些功效或者工具,分装成各个模块,包罗若何举行自动化剧本编写以及分层功效的基础模块,举行连续集成、准时义务的治理模块,发送测试讲述、举行测试效果统计分析的统计模块等,将这些模块组成一套可重用的骨架

自动化测试框架的设计原则

通用性:能够在林林总总的系统和平台都能够使用

易维护性:能够把我们的数据、用例、框架的实现举行自力的维护,能够在实现完善的历程,快速的界说到维护的点,而纰谬框架的其他功效造成影响

准时处置:能够在指定的时间执行

连续集成:当被测程序和测试代码有更新能够自动执行

调试:可调试行强

测试效果:测试讲述、测试数据的统计分析

框架的设计头脑

可以把自动化测试框架主体分为两部门,一个是内部框架,一个是外部框架,内部框架就是我们自己实现的测试框架代码,外部框架就是抛开我们实现的焦点代码,要到达自动化测试框架设计原的一些内容时用到的一些第三方工具。

外部框架

主要是指以webdriver为焦点,辅以外部第三放框架和工具。用以实现连续集成、自动部署、剧本执行、远程挪用、讲述优化、邮件发送导等功效性框架,实现自动化框架设计原则的一些外围的组件。

内部框架

也就是分层框架,目的在于更好的优化和治理测试用例,更便捷的举行数据、元素、剧本的维护和更快速的建立新剧本

自动化测试框架设计思绪
  • 通用的外部框架实现逻辑

    maven或者tox-自动编译,执行TestNG或junit,集成邮件发送等

    docker学习笔记

    TestNG或Junit、pytest,挪用webdriver或者发送请求的方式,执行自动化测试用例,规范自动化测试剧本

    selenium剧本或者接口用例剧本

    reportNG或者allure讲述优化模板

    main 自动以html邮件通知或者Jenkins发送邮件

  • 内部框架

    层架框架-也就是代码结构优化,凭据详细的营业和需求可以大致分为以下几层,有时并不需要下面所有的条理,选取合适自己营业测试的就行。

    TestCase层,执行的用例剧本

    Task层,公共营业分装,是其他的项目不需要的,只和当前项目相关,好比公共上岸、搜索等营业

    utils层:与营业无关的方式,好比数据驱动-也就举行数据文件的读写、浏览器操作、元素定位方式等举行封装

    page层或po层:页面层,页面层主要维护某一个页面的所有元素,对页面的操作、对元素的操作以及和其他页面的交互,营业实在就是一个元素到另一个元素或者一个页面到另一个页面,这就和task层有点重复一样平常有一个就可以了。

    element层:公共元素或者组件的维护,或者自界说组件封装

    data层:数据存储

    properties层:配置文件、全局变量

下篇我们将以java和python语言生态的相关内容实现自动化测试框架,敬请关注!!

迎接人人去 我的博客 瞅瞅,内里有更多关于测试实战的内容哦!!

原创文章,作者:admin,如若转载,请注明出处:https://www.2lxm.com/archives/3159.html