搜索
写经验 领红包
 > 家居

第1章接口自动化测试框架概述怎么写(接口自动化测试框架有哪些)

导语:第1章 接口自动化测试框架概述

接口自动化测试框架概述

自动化测试框架概念

自动化测试框架概念:

自动化测试框架是一个集成体系,这个体系中包含测试功能的函数库、测试数据源、测试对象以及可重用的模块。

框架(framework)是一个框子--指其约束性,耶斯一个架子--指其支持性。是一个基本上的机构,用于去解决或处理复杂的问题。

再软件工程中,框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及实例间交互的方法。

另一种定义认为,框架是可被应用开发者定制的应用骨架,前者是从应用方面而后者是从目的方面给出的定义。

对于测试人员来说,线性脚本的自动化脚本在维护性和可用性上较差,就可以利用设计的框架来实现自动化测试。

自动化测试框架思想

自动化测试框架根据思想理念和深度不同,渐进式地分为以下几种:

模块化思想 ===> 模块化测试脚本框架

库思想 ===> 测试库框架

数据驱动思想 ===> 数据驱动测试框架

关键字驱动思想 ===> 关键字驱动或表驱动的测试框架

上诉思想融合完成企业实际自动化 ===> 混合测试自动化框架

模块化测试脚本框架:

需要创建独立的可描述的模块、程序片段以及待测试应用程序脚本。这些小脚本进行组合,就能组成用来独立运行特定的测试的测试用例脚本。

测试库框架:

与模块化测试框架很类似,并且具有同样的优点。不同的是测试库框架把待测应用程序分解为过程和函数而不是脚本。这个框架需要创建描述模块、片段以及待测应用程序的功能更库文件。

数据驱动测试框架:

在这里测试的输入和输出是从数据文件中读取(数据池,ODBC源,csv文件,Excel文件,yaml文件,ado对象等)并且通过捕获工具生成或者手工生成的代码脚本被载入到变量中。在这个测试框架中,变量不仅被用来存放输入值还被用来存放输出的验证值。整个程序中,测试脚本来读取数值文件,记载测试状态和信息。这类似于表驱动测试,在表驱动测试中,它的测试用例是包含在数据文件而不是在脚本中,对于数据而言,脚本仅仅是一个“驱动器”,或者是一个传送机构。

关键字驱动或表驱动的测试框架;

这个框架需要开发数据表和关键字。这些数据表和关键字独立于执行它们的测试自动化工具,并可以用来“驱动”待测应用程序和数据的测试脚本代码,关键子驱动测试看上去与手动测试用例很类似,再一个关键字驱动测试中,把待测应用程序的功能和每个测试的执行步骤一起写到一个表中。

这个测试框架可以通过很少的代码来产生大量的测试用例。同样的代码再用数据表来产生哥哥测试用例的同时被重用。

混合测试自动化框架:

最普遍的执行框架是上面介绍的所有技术的一个结合,取其长处,弥补其不足。这个混合测试框架是由大部分框架随着时间并经过若干演化而来的。

接口自动化测试框架设计目标

设计出来的框架是直接给测试人员,而且其它的测试人员只需要简单的向里面不断的补充测试用例即可;所以我们的框架设计必须三简化即操作简单,维护简单,扩展简单。

设计框架的同时一定要结合业务流程,而不仅仅靠技术实现,其实技术实现不难,难点是对业务流程的理解和把握。

设计框架时要将基础的封装成公用的,如:get请求、post请求和断言封装成同一个基础通用类。

测试用例要与代码分开,这样便于用例管理,采用数据驱动框架实现。

如下图所示:

通过excel录入测试用例,框架运行后自动进行用例执行,产生HTML网页版本的测试报告。

接口自动化测试框架用到的技术点

语言:python测试框架:unittest(assertEqual)接口调用:request(API非常简洁)数据驱动:paramunittest(组装一定的格式数据就可以参数化)数据管理:xlrd(读取excel文件数据)、configparser(读取配置文件)数据格式的转换:ast、json日志处理:logging --- 清晰地执行过程,快速定位问题测试报表:HTMLTestReportCN(由网页制作设计,显示清晰美观)测试发送测试报告:smtplib(邮件内容格式设置)、Email(收发邮件)持续集成:Jenkins(按策略执行接口测试脚本)

本文内容由小欣整理编辑!