接口自动化测试框架设计
- 格式:docx
- 大小:65.49 KB
- 文档页数:5
接口自动化测试方案第1篇接口自动化测试方案一、前言随着信息化建设的不断深入,接口在各个系统间的数据交互中扮演着举足轻重的角色。
为确保接口稳定、可靠且高效地运行,降低系统上线后因接口问题导致的故障风险,提高软件质量,特制定本接口自动化测试方案。
二、目标1. 提高接口测试的效率,降低人工测试成本。
2. 实现对接口的全面覆盖,确保接口的稳定性和可靠性。
3. 建立可持续集成的自动化测试体系,为项目的快速迭代提供支持。
三、测试范围1. 系统内部接口:包括各模块间的数据交互接口。
2. 系统外部接口:包括与第三方系统或服务的接口。
3. 数据库接口:涉及数据库操作的接口。
四、测试工具及环境1. 测试工具:JMeter、Postman、Swagger等。
2. 测试环境:开发环境、测试环境、预生产环境、生产环境。
3. 数据库:MySQL、Oracle、SQL Server等。
五、测试策略1. 功能测试:验证接口的功能是否符合需求规格说明书。
2. 性能测试:评估接口在高并发、大数据量下的性能表现。
3. 安全测试:检查接口是否存在安全漏洞,如SQL注入、越权访问等。
4. 兼容性测试:验证接口在不同操作系统、浏览器、数据库等环境下的兼容性。
5. 异常测试:模拟各种异常场景,检查接口的容错性。
六、测试流程1. 需求分析:分析接口的业务需求,明确接口的功能、性能、安全等要求。
2. 测试设计:根据需求分析,编写接口测试用例。
3. 测试开发:搭建测试环境,编写自动化测试脚本。
4. 测试执行:在各个测试环境中执行自动化测试。
5. 结果分析:分析测试结果,定位问题原因,反馈给开发人员。
6. 跟踪验证:验证开发人员修复的问题,确保问题得到解决。
7. 测试报告:输出测试报告,包括测试覆盖率、通过率、问题列表等。
七、测试用例设计1. 根据接口文档,设计测试用例,包括正常场景、异常场景。
2. 测试用例应涵盖接口的功能、性能、安全等各个方面。
接⼝⾃动化测试框架搭建⼀、原理及特点 参数放在XML⽂件中进⾏管理 ⽤httpClient简单封装⼀个httpUtils⼯具类 ⽤例管理使⽤了testNg管理,使⽤了TestNG参数化测试,通过xml⽂件来执⾏case。
测试报告这⾥⽤到第三⽅的包ReportNG 项⽬组织⽤Maven⼆、准备 使⽤⼯具:eclipse,maven ⽤到的第三⽅jar包:dom4j、reportng、testng 理解难点:httpUtils和xmlUtil⼯具类的封装;dom4j使⽤;CookieStore的应⽤三、框架构思 1、项⽬结构 2、⽤例执⾏流程 3、接⼝调⽤流程 4、调度脚本流程四、框架实现 1、输⼊参数 1.1 参数放在XML⽂件中进⾏管理 例:这⾥测试获取⾓⾊的接⼝输⼊参数为,page和rows,mapRole.xml内容如下 <?xml version="1.0" encoding="UTF-8"?> <map> <bean beanName="GetRole"> <!--Locator lists --> <locator name="page" value="1"></locator> <locator name="rows" value="10"></locator> </bean> </map> 1.2 封装⼀个xmlUtil⼯具类负责读取XML,使⽤第三⽅的jar包dom4j 1.2.1 xmlUtil中readXMLDocument⽅法返回值为HashMap<String, String> public static HashMap<String, String> readXMLDocument(String beanName,String xmlName){ } 参数xmlName(xml⽂件的名字);参数beanName(xml⽂件中节点的名称); 1.3 封装⼀个CookieUtil⼯具类,通过CookieStore储存cookie 1.3.1 CookieUtil类中setCookieStore⽅法返回值为CookieStore public CookieStore setCookieStore(HttpResponse httpResponse) { } 1.4 ⽤httpClient简单封装⼀个httpUtils⼯具类有get.post,put,delete⽅法 1.4.1 httpUtils中post封装⽅法如下: public CloseableHttpResponse post(String url, Map<String, String> params,CloseableHttpClient httpclient,CookieStore cookieStore){ } 2、返回参数 2.1 创建⼀个接⼝返回对象ResponseBean, 对象ResponseBean,包括status、statusCode、contentType、body、url、method、cookies 2.2 在⼯具类中在创建⼀个ReponseUtil⼯具类 ReponseUtil⼯具类负责将请求的返回数据CloseableHttpResponse 转换成ResponseBean public ResponseBean setResponseBean(CloseableHttpResponse httpResponse) { } 3、测试⽤例 测试⽤例管理使⽤了testNg管理,使⽤了TestNG参数化测试,通过xml⽂件来执⾏case 3.1 测试case脚本public class GetRoleTest {static CookieStore cookieStore ;static CookieUtil cookieUtil=new CookieUtil() ;CloseableHttpClient client;HttpUtils httpUtils=HttpUtils.getInstance();@Parameters({ "url", "objBean" ,"statusCode","xmlName"})@BeforeSuite/** 登录进⼊系统获取JSESSIONID放⼊到CookieStore中* */public void TestLoginIn(String url ,String objBean, String statusCode,String xmlName) {Map<String,String> params=xmlUtil.readXMLDocument(objBean,xmlName);client = HttpClients.createDefault();CloseableHttpResponse httpResponse= httpUtils.post(url, params, client, cookieStore);//cookieUtil.printResponse(httpResponse);cookieStore=cookieUtil.setCookieStore(httpResponse);}@Parameters({ "url", "objBean" ,"statusCode","body","xmlName"})@Test(priority = 2)public void TestGetRole(String url ,String objBean, String statusCode,String body,String xmlName) {Map<String,String> params=xmlUtil.readXMLDocument(objBean,xmlName);client = HttpClients.custom().setDefaultCookieStore(cookieStore).build();CloseableHttpResponse httpResponse= httpUtils.post(url, params, client, cookieStore);ResponseBean rb=new ReponseUtil().setResponseBean(httpResponse);// add AssertAssert.assertEquals("OK", rb.getStatus());Assert.assertEquals(statusCode, rb.getStatusCode());Assert.assertEquals(true, rb.getBody().contains(body));}@AfterSuitepublic void closeClient(){try {// 关闭流并释放资源client.close();} catch (IOException e) {e.printStackTrace();}}} [注] 因为API接⼝测试时每次都要校验Cookie,所有我们每次都先执⾏登录操作去获取Cookie 3.2 xml⽂件的编写<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "/testng-1.0.dtd"><suite name="TestGetRole" parallel="classes" thread-count="5"><parameter name="url" value="/sys/login" /><parameter name="objBean" value="loginIn" /><parameter name="status" value="OK" /><parameter name="statusCode" value="200" /><parameter name="xmlName" value="mapRole" /><test name="TestGetRole" preserve-order="true"><parameter name="url" value="/json/getRoleInfo" /><parameter name="objBean" value="GetRole" /><parameter name="status" value="OK" /><parameter name="statusCode" value="200" /><parameter name="body" value="roleName" /><classes><class name="com.lc.testScript.GetRoleTest"><methods><include name="TestGetRole" /><!--<include name="TestGetRole2" />--></methods></class></classes></test></suite> 右键->run as ->TestNG Suite,这个场景的的测试⽤例就可以运⾏了 4、测试报告和项⽬组织 测试报告这⾥⽤到第三⽅的包ReportNG 项⽬组织⽤Maven<project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion>..............................................................................................................................<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><xmlFileName1>TestGetRole.xml</xmlFileName>.................这⾥写testNG对应的XML名称----------------------<xmlFileName10>TestGetUser.xml</xmlFileName></properties><dependencies>..........................</dependencies><build><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.19</version><configuration><suiteXmlFiles><suiteXmlFile>src/test/java/testSuites/${xmlFileName}</suiteXmlFile>.................略..........................这⾥的和properties中的xmlFileName想对应............<suiteXmlFile>src/test/java/testSuites/${xmlFileName10}</suiteXmlFile></suiteXmlFiles></configuration></plugin><!-- 添加插件,添加ReportNg的监听器,修改最后的TestNg的报告 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.5</version><configuration><properties><property><name>usedefaultlisteners</name><value>false</value></property><property><name>listener</name><value>org.uncommons.reportng.HTMLReporter</value></property></properties><workingDirectory>target/</workingDirectory></configuration></plugin><plugin><artifactId>maven-compiler-plugin</artifactId><version>3.5.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build></project> [注] 因为是maven的项⽬所以要将testSuite的xml⽂件放在maven的test⽬录下,这样右键pom.xml⽂件maven test,所有的测试⽤例就开始执⾏了 测试报告 框架⽬前存在的不⾜ 1、数据校验这⼀块的功能还没有完善,计划⽤MyBatis 2、参数使⽤了xml⽂件配置虽然灵活但有些繁琐,⽬前还没想到好的解决⽅案,testlink是否可以尝试⼀下呢。
软件测试中的自动化测试框架设计与实现随着软件开发过程的复杂化和软件产品的不断更新迭代,传统的手动测试已经无法满足测试需求的快速环节。
为了提高测试效率和质量,自动化测试成为软件测试领域的重要发展方向。
而自动化测试框架作为实现自动化测试的关键组成部分,在软件测试中扮演着重要的角色。
一、自动化测试框架的概念自动化测试框架是指一套结构化的、可重用的测试工具和组件,用于支持自动化测试的设计、实施和管理。
它提供了一系列的接口和功能,可以帮助测试人员快速、高效地完成测试任务。
自动化测试框架的设计和实现,应该充分考虑测试需求的多样性和软件测试工具的可扩展性,以满足不同领域、不同软件产品的测试需要。
二、自动化测试框架的设计原则1. 可扩展性:自动化测试框架应该具有良好的可扩展性,能够适应不同的测试场景和需求。
它应该能够支持不同的测试工具和组件的集成,如测试驱动开发工具、测试管理工具、应用程序接口(API)等。
2. 可重用性:自动化测试框架应该是可重用的,能够在不同的测试项目中进行复用。
通过将常用的测试模块和组件进行抽象和封装,可以提高测试的效率和质量,并减少测试案例的编写和维护成本。
3. 易用性:自动化测试框架应该是易用的,能够帮助测试人员快速上手。
它应该提供清晰的接口和文档,以及简单的配置和管理功能,使测试人员能够方便地进行测试脚本的编写、执行和结果分析。
4. 可靠性:自动化测试框架的设计和实现应该具有高可靠性,能够在不同的测试环境中稳定运行,并能够有效地捕获和处理测试中的异常情况。
此外,它还应该具备可恢复性,能够在发生错误时恢复到上一次的正确状态。
三、自动化测试框架的实现步骤1. 确定测试目标和需求:在设计自动化测试框架之前,首先需要明确测试的目标和需求。
根据不同的测试需求,确定测试的范围和测试用例的编写方式,以及所需的测试数据和环境。
2. 选择适合的测试工具:根据测试需求,选择适合的自动化测试工具。
常见的测试工具包括Selenium、Appium、JUnit等。
Software Development •软件开发Electronic Technology & Software Engineering 电子技术与软件工程• 49【关键词】软件测试 自动化 接口测试科技发展迅速,互联网行业不断壮大,随之软件产品层出不穷,如何保证产品质量,成为非常重要的事情,以OTA 升级云平台为例,软件功能很复杂,测试工作量庞大,除了使用手工测试来验证功能以外,需要通过对大量的接口模拟数据验证,覆盖需求涵盖的所有可能的结果,保证其稳定性。
开源测试工具在一定层面上不足以满足我们的测试需求,为方便管理测试用例及数据,我们定义了一套接口自动化测试框架。
在人力不足及接口工作量较大的情况下,引入此框架,实现对接口测试用例及数据以及脚本的管理,更好的完成接口测试工作。
1 接口自动化测试框架设计1.1 环境说明环境搭建采用如表1所示工具。
1.2 框架说明根据框架示意图,按照框架层级,逐一做如下阐述:1.2.1 配置层配置层主要包括对配置文件信息的初始化设定,包括如下3方面的配置:(1)pom.xml 的配置,用于管理maven依赖包,以及同步代码至git 上时的maven 打包配置等。
(2)testng 对应xml 的配置,用于定义需要执行的项目对应的测试类及测试方法。
(3)config 配置,包括对于一些环境信息、接口初始默认参数、数据 库配置信息的维护。
1.2.2 接口层主要实现对底层代码的封装,包括驱动读取数据方法的实现,基于http 协议接口请求方法的实现,配置文件的读取,结果断言处理,对数据库的读写操作,测试报告的生成,以及接口测试脚本的维护。
1.2.3 测试用例层测试用例及数据维护在Data Providers 通用接口自动化测试框架设计与应用文/张鲁珊接口自动化测试产生的背景?如何设计框架来做接口自动化?本文围绕这两个问题展开讨论,通过使用java 语言结合testng设计接口自动化测试框架。
接口测试1.1接口分析接口测试需要了解被测接口的接口信息如接口功能、请求参数、参数说明、响应说明等才能验证接口的功能正确性。
但百度站点并没有对外提供接口文档,通过对百百度搜索接口抓包分析发现其参数复杂不能明白参数含义及取值范围,分析过程如下。
百度AI开放平台汇聚了百度众多的人工智能技术能力,对外开放了许多人工智能接口服务,其包含内容审核、自然语言处理、图像识别等领域。
同时官方提供了详细的接口文档和请求示例,为接口测试的输入数据、请求方式、验证标准提供给了依据。
本次主要验证接口功能的正确性:包含正常、异常的场景测试,从而达到快速验证接口功能的目的。
内容审核、自然语言处理四个接口作为百度AI开放平台常用的对外接口,调用频次高,本次选择这两个模块作为验证对象。
测试其正向与反向功能表现,保障接口功能正确性。
1.正常功能指验证正常的输入和操作,业务功能运行是否正常。
2. 异常功能指验证业务上异常的输入和操作,业务功能是否正常。
3. 参数边界指验证在各输入参数取值范围的边界内外时,业务功能是否正常。
如参数有、无或null;参数顺序、个数、类型、长度;特殊字符;必须字段等。
表3-1 百度AI开放平台接口测试点各功能对应接口API 文档如表3-2所示。
表3-2 百度AI 开放平台接口信息1.2用例设计设计接口测试用例,目的主要是验证接口功能的正确性,同时为后续脚本编写提供编写标准与参考,如表3-2、表3-3、所示。
接口名称 接口地址 接口方法 说明内容审核平台-文本 https://xxx POST对暴力行为、恐怖描述、赌博、毒品、枪支弹药等违禁内容进行识别地址识别https://xxx POST提取文本中的姓名、电话、地址信息 文本纠错https://xxx POST识别输入文本中有错误的片段,提示错误并给出正确的文本结果 文本翻译https://xxx POST支持中英文互译1.3框架选型测试对象为http接口,接口测试框架选型如下:用例开发执行框架采用pytest,报告框架采用allure,数据管理采用yaml,http请求采用requests。
软件测试中的自动化测试框架设计与实现方法技巧自动化测试是现代软件开发中不可或缺的环节,它可以提高测试的效率、降低测试成本,并确保软件的质量和稳定性。
而自动化测试中的关键就是自动化测试框架的设计与实现。
本文将介绍软件测试中的自动化测试框架设计与实现的方法和技巧。
一、自动化测试框架的设计原则1. 可维护性:自动化测试框架应该具有良好的可维护性,方便测试人员对测试用例进行管理、维护和扩展。
2. 可扩展性:框架应该具备强大的扩展能力,能够应对各种新的测试需求和技术变革。
3. 可重用性:框架应该能够被多个项目复用,避免重复开发和维护不同的框架。
4. 可靠性:测试框架应该具备稳定性和容错能力,能够处理异常情况,并能准确地报告测试结果。
二、自动化测试框架的基本组成一个完整的自动化测试框架通常由以下组件组成:1. 测试用例管理:包括测试用例编写、组织、存储和执行的功能。
2. 测试执行引擎:负责执行测试用例,并记录和报告测试结果。
3. 测试数据管理:包括测试数据的准备、加载和清理的功能。
4. 错误处理和异常管理:处理测试执行过程中的错误和异常情况。
5. 日志记录和报告:记录测试过程中的详细日志,并生成测试报告。
三、自动化测试框架的实现方法1. 选择适合的测试工具和技术:根据项目需求和技术栈选择适合的测试工具和技术。
常见的测试工具包括Selenium、Appium、Jenkins等,而技术方面可以选择Java、Python、Ruby等语言进行开发。
2. 制定测试框架的结构和规范:在开始开发测试框架之前,需要制定测试框架的整体结构和规范。
定义好测试用例的编写、组织和存储方式,以及测试数据的准备和加载方式。
3. 实现测试用例管理功能:开发测试用例管理模块,提供测试用例的编写、组织和存储功能。
测试用例可以按照模块、功能点或优先级进行组织,方便测试人员进行测试计划和用例的管理。
4. 实现测试执行引擎:开发测试执行引擎模块,负责执行测试用例,并记录和报告测试结果。
IAT框架设计1背景1.1 项目背景在移动平台服务端接口测试覆盖度为零的情况下,根据服务端接口的特点,以及升级更新的速度较快等,需要开发此框架来实施服务端接口的自动化测试。
1.2 接口测试接口测试属于灰盒测试范畴,通常不需要了解接口底层的实现逻辑,但需要测试人员能够使用代码的方式来调用接口。
接口测试主要用例测试接口的功能以及接口返回数据的正确性。
根据接口测试的复杂度接口测试分为两种。
即单一接口测试,以及多接口组合功能测试。
由于接口测试是通过代码调用的方式完成,而且接口测试与前端UI属于松耦合(或无耦合)因此通过自动化手段将极大提高测试效率以及回归测试的复用率。
本文中提到的接口测试主要是指基于http,https,rpc协议的web接口。
1.3 适用性分析移动平台大部分以http接口方式提供服务,通过前台App调用接口方式实现功能。
同时大部分接口功能,以及表现形式稳定,对于前台变化敏感度较低。
基于上述接口测试的特点,认为移动平台项目非常适合接口层级的自动化测试。
2 IAT框架2.1 IAT介绍IAT是Interface Automation Testing的简称。
通过热插拔的方式支持http,rpc,soap类协议的web接口测试。
框架支持单一接口,多接口组合测试,支持用户通过自定义方法实现精确验证结果的需求。
2.2 框架特点●提供多种接口测试方式。
即单一接口测试,多接口业务流程测试。
目前多见的为单一接口的测试。
●根据用户需求不同,不同的接口测试方式,用例开发难易度不同。
●用例开发门槛低,用户只需要将接口用例数据填入格式化文件即可自动通过工具生成用例。
●对于高级需求,框架提供自定义配置包括数据构造,精确匹配测试结果等。
●框架对于不同域名下的相同接口支持自定义配置,只需要简单修改测试平台配置即可轻松将用例应用在不同平台上。
●框架对于不同协议接口的支持,近乎无缝连接。
●框架支持可配置2.3框架整体组成●单元测试代码:由代码生成工具根据用例描述文件自动生成,一个Testmehod为一个用例。
接口自动化测试方案设计1.需求分析:首先需要明确测试的目标和需求,了解被测试系统的需求和接口规范,确保测试的全面性和准确性。
根据需求分析,可以确定所需测试用例的范围和数量。
2.测试环境搭建:接口自动化测试需要搭建相应的测试环境,包括测试服务器、数据库、网络和运行环境等。
确保测试环境的稳定性和可靠性,避免测试过程中出现不必要的干扰。
3. 测试工具选择:选择合适的接口自动化测试工具,根据项目的具体需求和技术特点进行评估和选择。
常用的接口自动化测试工具有SoapUI、Postman、JMeter等。
根据项目的具体情况选择合适的工具,并熟悉其使用方法和功能。
4.测试框架设计:设计合理的测试框架可以提高测试用例的复用性和可维护性。
通常可以采用MVC架构,将测试用例、测试数据和测试代码进行分离,方便管理和维护。
测试框架还可以提供丰富的断言和报告功能,方便测试结果的判断和展示。
5.测试数据准备:在接口自动化测试中,需要准备测试数据,包括正常的输入数据、边界条件的数据和异常情况下的数据等。
测试数据的准备需要根据接口的输入和输出要求进行定义,并进行数据管理和维护。
6.测试用例设计:根据需求分析和测试数据准备,设计合理的测试用例,覆盖被测接口的各种情况和流程。
测试用例需要具有可重复执行性,并对期望结果进行定义和验证。
7.脚本编写:根据测试用例设计,编写自动化测试脚本。
脚本应该具有可读性和可维护性,遵循良好的编码规范,并使用合适的变量和函数命名,方便理解和修改。
8.测试执行与管理:执行自动化测试脚本,生成测试报告并进行结果分析。
根据测试报告进行问题定位和修复,跟踪测试进度和质量,及时反馈测试结果给开发人员。
9.持续集成与自动化:将接口自动化测试融入到持续集成流程中,实现测试的自动化和可持续集成。
利用工具和平台实现自动化测试脚本的批量执行、结果收集和报告生成,实现全流程的自动化和监控。
10.持续学习和改进:接口自动化测试是一个不断学习和改进的过程,需要不断总结经验和教训,提高测试覆盖率和效率。
自动化测试中的API测试框架设计自动化测试已经成为软件开发中不可或缺的环节。
在自动化测试中,API测试框架设计至关重要。
API测试框架设计是指对接口进行测试时所使用的工具、工作流程和规范等的设计。
本文将会详细讨论API测试框架设计的重要性,并介绍几个常见的API测试框架。
API测试框架设计的重要性API(应用程序编程接口)是指用于构建软件应用程序的一组通信协议和工具。
在软件开发中,API通常被用于实现不同的功能,并将不同的应用程序之间联系起来。
由于API是不断变化的,因此在软件开发周期中进行API测试变得至关重要。
API测试是一种在接口层面进行测试的方法,可以检查API是否具有所需功能、性能和安全性等。
API测试框架设计的目的是提高测试效率和准确性,同时降低测试成本。
在软件开发过程中,一个好的API测试框架可以为开发人员提供输入和输出的清晰界面,为测试人员提供测试用例和测试脚本,并提供测试执行和测试报告等必要的功能。
在整个软件开发生命周期中,API测试框架可以帮助团队更好地获取和管理测试数据,并帮助团队更好地理解和控制API的功能和性能。
常见的API测试框架以下是几个常见的API测试框架。
1. PostmanPostman是一款广泛使用的API测试工具,它提供了完整的API测试生命周期:从测试脚本的创建到测试报告的生成。
Postman具有支持多方案管理、多语言支持、易扩展性和云管理等特性,在API测试领域得到了广泛的应用。
Postman的优点在于它是一个集成测试开发工具,可以完整地解决API测试所需的所有功能。
2. RestAssuredRestAssured是一个Java框架,专门用于在自动化测试中测试RESTful API。
RestAssured提供了易于使用的API,使开发人员能够轻松地编写测试脚本。
在使用RestAssured时,开发人员可以通过Java代码来创建和发送请求、编写和验证响应等。
lAT框架设计
1背景
1.1项目背景
在移动平台服务端接口测试覆盖度为零的情况下,根据服务端接口的特点,以及升级更新的速度较快等,需要开发此框架来实施服务端接口的自动化测试。
1.2接口测试
接口测试属于灰盒测试范畴,通常不需要了解接口底层的实现逻辑,但需要测试人员能够使用代码的
方式来调用接口。
接口测试主要用例测试接口的功能以及接口返回数据的正确性。
根据接口测试的复杂度接口测试分为两种。
即单一接口测试,以及多接口组合功能测试。
由于接口测试是通过代码调用的方式完成,而且接口测试与前端Ul 属于松耦合(或无耦合)因此通过自动化手段将极大提高测试效率以及回归测试的复用率。
本文中提到的接口测试主要是指基于
http,https ,rpc 协议的web 接口。
1.3 适用性分析
移动平台大部分以http 接口方式提供服务,通过前台App 调用接口方式实现功能。
同时大部分接口功能,以及表现形式稳定,对于前台变化敏感度较低。
基于上述接口测试的特点,认为移动平台项目非常适合接口层级的自动化测试。
2 lAT 框架
2.1 lAT 介绍
lAT 是lnterface Automation Testing 的简称。
通过热插拔的方式支持http,rpc,soap 类协议的web 接口测试。
框架支持单一接口,多接口组合测试,支持用户通过自定义方法实现精确验证结果的需求。
2.2框架特点
提供多种接口测试方式。
即单一接口测试,多接口业务流程测试。
目前多见的为单一接口的测试。
根据用户需
求不同,不同的接口测试方式,用例开发难易度不同。
用例开发门槛低,用户只需要将接口用例数据填入格式化文
件即可自动通过工具生成用例。
对于高级需求,框架提供自定义配置包括数据构造,精确匹配测试结果等。
框架
对于不同域名下的相同接口支持自定义配置,只需要简单修改测试平台配置即可轻松将用例
应用在不同平台上。
框架对于不同协议接口的支持,近乎无缝连接。
框架支持可配置
2.3框架整体组成
测试数据
用例描
«文件
Httpwntt
由代码生成工具根据用例描述文件自动生成,一个
单元测试代码:
测试数据:格式化存储测试用例需要的数据
Testmehod为一个用例。
用例描述文件:用于定义用例需要调用那些接口,那些方法以及数据预制等信息用例执行器:根据单元
测试传递的参数,查找,解析用例文件并执行。
框架核心:包含操作用例描述文件,测试数据文件,以及数据构造,接口调用,结果验证等功能
I
I
—■
2.4单一接口用例数据结构
字段名称
字段说明
可选值
ID
唯一即可
2.3用例执行流程图
单测开始
■Y 胡 读取用例数据
结束
—I —
Caseid'Xmlfile
2.5组合接口测试用例结构
2.6组合接口参数存储结构
2.7组合接口方法开发架构图
待补。