CN111835590A - 一种云主机产品的自动化接口测试架构及测试方法 - Google Patents
一种云主机产品的自动化接口测试架构及测试方法 Download PDFInfo
- Publication number
- CN111835590A CN111835590A CN202010630924.5A CN202010630924A CN111835590A CN 111835590 A CN111835590 A CN 111835590A CN 202010630924 A CN202010630924 A CN 202010630924A CN 111835590 A CN111835590 A CN 111835590A
- Authority
- CN
- China
- Prior art keywords
- test
- cloud host
- architecture
- layer
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/103—Active monitoring, e.g. heartbeat, ping or trace-route with adaptive polling, i.e. dynamically adapting the polling rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明提供了一种云主机产品的自动化接口测试架构,包括依次连接的基础层、libs层、关键字层、以及测试用例层,所述基础层包含应用程序接口,用于与操作系统进行通信;所述libs层包含selenium2library库、AutoItlibrary库、以及Excellibrary库;所述关键字层包含关键字以及数据集;所述测试用例层包含测试用例,用于表达应用程序的测试逻辑。使用本发明的测试框架可提高测试效率、降低测试成本。
Description
技术领域
本发明属于自动化测试技术领域,尤其是涉及一种云主机产品的自动化接口测试架构及测试方法。
背景技术
目前国产软件的接口测试主要采用的是通过使用串口或网口报文收发工具进行测试的方法。该方法通常需要人工发送报文,并逐个字节比对接收到的报文和接口协议的一致性,这大大地增加了测试的时间和人力成本。由人工手动进行测试,逐个输入测试数据,测试效率低、易出错,且可重复性和可追溯性差。
发明内容
有鉴于此,本发明旨在提出一种云主机产品的自动化接口测试架构,以解决上述背景技术中存在的问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种云主机产品的自动化接口测试架构,包括依次连接的基础层、libs层、关键字层、以及测试用例层,
所述基础层包含应用程序接口,用于与操作系统进行通信;
所述libs层包含selenium2library库、AutoItlibrary库、以及Excellibrary库;
所述关键字层包含关键字以及数据集;
所述测试用例层包含测试用例,用于表达应用程序的测试逻辑。
进一步的,所述测试架构基于Robot Framework自动化测试平台开发。
进一步的,所述Robot Framework基于Python编写。
进一步的,所述测试架构需要的关键字通过Python实现。
本发明还提供一种云主机产品的自动化接口测试方法,具体包括如下步骤:
读取指令参数;
对指令参数添加报头、报尾、校验位等生成指令报文;
向被测软件发送指令报文;
读取被测软件的应答报文;
应答报文与协议比对;
将每个业务操作封装成关键字;
设计测试数据;
将关键字组合成测试用例。
进一步的,根据接口测试需求,采用等价类划分法、边界值分析测试方法设计测试数据。
相对于现有技术,本发明所述的一种云主机产品的自动化接口测试架构及方法具有以下优势:
(1)使用本发明的框架可以根据接口协议的内容来模拟各种接口测试数据,并覆盖报文指令的各个字节,摆脱了人工测试时每次输入不同参数的繁琐步骤,节省了测试的时间和人力成本。
(2)相比较与现有的自动化接口测试,只能实现接口返回码和信息的检查,该自动化测试框架,可以实现异步接口返回信息的动态检查,比如创建云主机,返回的主机状态是动态的,通过接口轮询去检查主机是否创建完成等。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的自动化接口测试流程图示意图;
图2为本发明实施例所述的python工程框架示意图;
图3为本发明实施例所述的测试框架结构图;
图4为本发明实施例所述的测试报告示意图;
图5为本发明实施例所述的测试日志示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
下面将参考附图并结合实施例来详细说明本发明。
本发明针对当前接口测试方法的不足,结合Robot Framework的特点,再利用python实现测试用例,设计一个适合的自动化接口测试框架。
设计思路与实现
(1)Robot Framework是一个基于Python编写的自动化测试平台,支持数据驱动、关键字驱动等,功能全面,可用于分布式测试、接口测试、复杂应用测试等多种测试场景。Robot Framework易于扩展,用户可以使用Python和Java创建自己需要的测试库;易于集成,提供了命令行接口和XML格式的输出;可以利用"标签"功能对测试用例进行分类和有选择执行;提供HTML格式的结果报告和日志,易于阅读。基于Robot Framework开发的测试框架具备复用度高,维护成本低等优点。Robot Framework通过引用下文python部分实现的第三方类为测试框架提供关键字,关键字形成测试用例,执行测试用例得到测试结果。
(2)Python部分实现Robot Framework需要的关键字,即测试用例。首先根据接口测试的业务逻辑,提取业务操作。主要的操作有:读取指令参数;对指令参数添加报头、报尾、校验位等生成指令报文;向被测软件发送指令报文;读取被测软件的应答报文;应答报文与协议比对。其次将每个业务操作封装成关键字。根据接口测试需求,采用等价类划分法、边界值分析等测试方法设计测试数据,接口测试的最后将关键字组合成测试用例。自动化接口测试流程图如1所示。
Python工程结构如下图2所示:
一、report:测试报告存放路径。
二、base_lib:封装好的测试接口。
三、common_lib:测试公共方法,包含了日志打印等模块。
四、TestCases:测试用例,一个用例函数内包含了接口测试的前置条件、测试步骤、预期结果等。
(2)Robot Framework+Python:Robot Framework引入上一步实现的测试用例.py文件,即可使用该文件类的用例函数作为关键字使用。通过执行命令或客户端操作,可单个或批量执行测试用例,也可对测试用例进行便签化,按照需求执行不同类别的测试用例。整个测试框架如图3所示。
实例应用
云主机接口冒烟测试用例实践:执行测试脚本,依次执行该脚本下的所有用例,得到测试结果、并生成的测试报告和测试日志文件。图4所示的report是本次批量执行测试用例的整体情况,记录了测试结果、测试用例总数,通过用例总数和未通过用例总数以及执行全部用例的总耗时。图5所示的log是本次批量执行测试用例的具体情况,包括每个用例的执行结果、耗时情况和每个用例步骤的执行情况。
本发明在每次版本转测后,可以通过执行该框架实现自动化测试用例覆盖产品功能,减少人工时间投入,提前暴露产品问题。
本发明可供线上冒烟测试:通过将测试工程文件容器化,部署到线上测试环境,实现每次上线后冒烟测试任务。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种云主机产品的自动化接口测试架构,其特征在于:包括依次连接的基础层、libs层、关键字层、以及测试用例层,
所述基础层包含应用程序接口,用于与操作系统进行通信;
所述libs层包含selenium2library库、AutoItlibrary库、以及Excellibrary库;
所述关键字层包含关键字以及数据集;
所述测试用例层包含测试用例,用于表达应用程序的测试逻辑。
2.根据权利要求1所述的一种云主机产品的自动化接口测试架构,其特征在于:所述测试架构基于Robot Framework自动化测试平台开发。
3.根据权利要求2所述的一种云主机产品的自动化接口测试架构,其特征在于:所述Robot Framework基于Python编写。
4.根据权利要求3所述的一种云主机产品的自动化接口测试架构,其特征在于:所述测试架构需要的关键字通过Python实现。
5.一种云主机产品的自动化接口测试方法,其特征在于:具体包括如下步骤:
读取指令参数;
对指令参数添加报头、报尾、校验位等生成指令报文;
向被测软件发送指令报文;
读取被测软件的应答报文;
应答报文与协议比对;
将每个业务操作封装成关键字;
设计测试数据;
将关键字组合成测试用例。
6.根据权利要求5所述的一种云主机产品的自动化接口测试方法,其特征在于:根据接口测试需求,采用等价类划分法、边界值分析测试方法设计测试数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010630924.5A CN111835590A (zh) | 2020-07-03 | 2020-07-03 | 一种云主机产品的自动化接口测试架构及测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010630924.5A CN111835590A (zh) | 2020-07-03 | 2020-07-03 | 一种云主机产品的自动化接口测试架构及测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111835590A true CN111835590A (zh) | 2020-10-27 |
Family
ID=72899677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010630924.5A Pending CN111835590A (zh) | 2020-07-03 | 2020-07-03 | 一种云主机产品的自动化接口测试架构及测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111835590A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590490A (zh) * | 2021-08-04 | 2021-11-02 | 山东派盟网络科技有限公司 | 一种自动化测试方法、装置以及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095677A (zh) * | 2016-06-08 | 2016-11-09 | 上海爱数信息技术股份有限公司 | 基于Robot Framework实现的RESTful Webservice接口自动化测试方法 |
CN107704392A (zh) * | 2017-09-30 | 2018-02-16 | 华为技术有限公司 | 一种测试用例的处理方法及服务器 |
CN109408357A (zh) * | 2017-12-04 | 2019-03-01 | 深圳市珍爱网信息技术有限公司 | 一种接口自动化测试方法及装置 |
-
2020
- 2020-07-03 CN CN202010630924.5A patent/CN111835590A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095677A (zh) * | 2016-06-08 | 2016-11-09 | 上海爱数信息技术股份有限公司 | 基于Robot Framework实现的RESTful Webservice接口自动化测试方法 |
CN107704392A (zh) * | 2017-09-30 | 2018-02-16 | 华为技术有限公司 | 一种测试用例的处理方法及服务器 |
CN109408357A (zh) * | 2017-12-04 | 2019-03-01 | 深圳市珍爱网信息技术有限公司 | 一种接口自动化测试方法及装置 |
Non-Patent Citations (1)
Title |
---|
杨欣等: "基于Robot Framework的自动化接口测试框架的设计与实现", 《电子质量》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590490A (zh) * | 2021-08-04 | 2021-11-02 | 山东派盟网络科技有限公司 | 一种自动化测试方法、装置以及设备 |
CN113590490B (zh) * | 2021-08-04 | 2023-09-26 | 山东派盟网络科技有限公司 | 一种自动化测试方法、装置以及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106095673A (zh) | 基于web接口的自动化测试方法及系统 | |
CN100367235C (zh) | 一种自动化测试实现方法、装置及其系统 | |
CN105450476A (zh) | 一种回归测试系统及测试方法 | |
CN107193730A (zh) | 一种自动化的接口测试方法 | |
CN103902458A (zh) | 一种通用的存储软件测试设计方法 | |
CN112306861A (zh) | 一种基于Unittest和Jenkins工具的接口自动化测试体系及方法 | |
CN112241360A (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
CN111399828B (zh) | 一种基于模型驱动的逻辑设备建模方法及终端 | |
CN116107893A (zh) | 一种异构平台嵌入式软件测试验证系统及方法 | |
CN110928796B (zh) | 一种自动化测试平台 | |
CN112181854A (zh) | 一种生成流程自动化脚本的方法、装置、设备及存储介质 | |
CN110532182A (zh) | 一种虚拟化平台的自动化测试方法及装置 | |
CN114138633A (zh) | 基于数据驱动的软件测试的方法、装置、设备及可读介质 | |
CN113760730A (zh) | 一种自动化测试的方法和装置 | |
CN105721568A (zh) | 一种远程调试系统、方法及装置 | |
CN111104390A (zh) | 一种多csv文件的合并和校验的方法及系统 | |
CN111835590A (zh) | 一种云主机产品的自动化接口测试架构及测试方法 | |
CN105099816A (zh) | 一种航空任务电子系统通用综合检测装置及检测方法 | |
CN111949537A (zh) | 接口的测试方法、装置、设备和介质 | |
CN115550231B (zh) | 一种基于配置文件的多协议测试平台及其测试方法 | |
CN110825538A (zh) | 一种基于mq可自定义数据类型动态进行数据交互的方法 | |
CN112838938B (zh) | 一种物联网平台的测试系统 | |
CN116827566A (zh) | 一种设备数据传输方法、装置及系统 | |
CN113709270A (zh) | 一种蓝牙模块生产系统 | |
CN111813665A (zh) | 一种基于python的大数据平台接口数据测试方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201027 |