CN106371868A - 一种自动化测试方法、系统及测试机器 - Google Patents
一种自动化测试方法、系统及测试机器 Download PDFInfo
- Publication number
- CN106371868A CN106371868A CN201610757154.4A CN201610757154A CN106371868A CN 106371868 A CN106371868 A CN 106371868A CN 201610757154 A CN201610757154 A CN 201610757154A CN 106371868 A CN106371868 A CN 106371868A
- Authority
- CN
- China
- Prior art keywords
- testng
- test
- operational factor
- staf
- configuration file
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种自动化测试方法、系统及测试机器,包括:对测试代码进行更新和编译,将测试脚本的运行参数存入TestNG配置文件;通过编写的测试代码调用@Parameters注释,读取在TestNG配置文件中的运行参数;接收用户使用Lotus Automator通过浏览器提交的修改后的运行参数后,通过STAF命令将修改后的运行参数更新至TestNG的配置文件中;通过STAF接收封装后的TestNG的启动命令,并执行启动命令;可见,通过TestNG中的运行参数支持注释功能,实现自动修改测试参数;通过TestNG借助Lotus Automator可以远程提交测试任务,从而实现自动提交自动化脚本。
Description
技术领域
本发明涉及自动化测试领域,更具体地说,涉及一种自动化测试方法、系统及测试机器。
背景技术
自动化测试需要考虑的问题很多,包括但不限于前期调研、需求分析、框架设计、版本管理、自动构建、自动部署、脚本维护以及和产品构建过程集成实现持续集成等。一般在测试人员开始自动化测试时,需要深入了解当前使用的自动化测试框架的原理、脚本开发和脚本执行流程,以及掌握自动化测试工具的代码结构,才能开发符合自己测试用例的测试脚本。针对自动化测试中日益繁重和重复的自动化脚本编写问题,实现脚本的重复利用和自动启动,简单化脚本的编写和提交运行过程,能节省自动化测试中的脚本开发时间。
因此,面对日益紧迫的交付需求和日渐庞大的自动化开发规模,如何能够快速构建并部署脚本是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种自动化测试方法、系统及测试机器,以实现快速构建并部署脚本,实现自动化测试。
为实现上述目的,本发明实施例提供了如下技术方案:
一种自动化测试方法,包括:
对测试代码进行更新和编译,并将所述测试脚本的运行参数存入TestNG配置文件;
通过编写的测试代码调用@Parameters注释,读取在所述TestNG配置文件中的所述运行参数;
接收用户使用Lotus Automator通过浏览器提交的修改后的运行参数后,通过STAF命令将所述修改后的运行参数更新至所述TestNG的配置文件中;
通过STAF接收封装后的TestNG的启动命令,并执行所述启动命令。
其中,所述对测试代码进行更新和编译,包括:
通过代码管理平台对测试代码进行更新和编译。
其中,将所述测试脚本的运行参数存入TestNG配置文件,包括:
将所述测试脚本的运行参数存入testng.xml文件来执行。
其中,所述通过STAF接收封装后的TestNG的启动命令,并执行所述启动命令,包括:
通过STAF接收封装后的TestNG的启动命令之后,根据所述启动命令实现所述测试脚本的远程自启动。
一种自动化测试系统,包括:
运行参数保存模块,用于对测试代码进行更新和编译,并将所述测试脚本的运行参数存入TestNG配置文件;
运行参数读取模块,用于通过编写的测试代码调用@Parameters注释,读取在所述TestNG配置文件中的所述运行参数;
运行参数修改模块,用于接收用户使用Lotus Automator通过浏览器提交的修改后的运行参数后,通过STAF命令将所述修改后的运行参数更新至所述TestNG的配置文件中;
执行模块,用于通过STAF接收封装后的TestNG的启动命令,并执行所述启动命令。
其中,所述运行参数保存模块通过代码管理平台对测试代码进行更新和编译。
其中,所述运行参数保存模块将所述测试脚本的运行参数存入testng.xml文件来执行。
其中,所述执行模块通过STAF接收封装后的TestNG的启动命令之后,根据所述启动命令实现所述测试脚本的远程自启动。
一种测试机器,包括上述任意一项所述的自动化测试系统。
通过以上方案可知,本发明实施例提供的一种自动化测试方法、系统及测试机器,包括:对测试代码进行更新和编译,并将所述测试脚本的运行参数存入TestNG配置文件;通过编写的测试代码调用@Parameters注释,读取在所述TestNG配置文件中的所述运行参数;接收用户使用Lotus Automator通过浏览器提交的修改后的运行参数后,通过STAF命令将所述修改后的运行参数更新至所述TestNG的配置文件中;通过STAF接收封装后的TestNG的启动命令,并执行所述启动命令;可见,在本实施例中,通过TestNG中的运行参数支持注释功能,实现自动修改测试参数;并且,通过TestNG借助Lotus Automator可以远程提交测试任务,从而实现自动提交自动化脚本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种自动化测试方法流程示意图;
图2为本发明实施例公开的一种自动化测试系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种自动化测试方法、系统及测试机器,以实现快速构建并部署脚本,实现自动化测试。
参见图1,本发明实施例提供的一种自动化测试方法,包括:
S101、对测试代码进行更新和编译,并将所述测试脚本的运行参数存入TestNG配置文件;
其中,所述对测试代码进行更新和编译,将所述测试脚本的运行参数存入TestNG配置文件,包括:
通过代码管理平台对测试代码进行更新和编译,将所述测试脚本的运行参数存入testng.xml文件来执行。
具体的,TestNG是Test Next Generation的简称,是根据JUnit和NUnit思想而构建的一套测试框架。TestNG引入了一些新的功能使它变得更加强大和容易使用,比如支持注释,灵活的测试配置,参数支持,强大的执行模型等。
具体的,目前通常在自动化测试平台中完成了代码的更新和编译之后,测试人员就是部署脚本提交测试任务进行自动化测试。但是如果在不了解测试代码的情况下,测试人员如何方便地更新测试参数,比如Web应用中的URL、用户名、密码等;如何调整脚本中测试用例的运行顺序等。因此,在本实施例中通过在自动化测试脚本中使用TestNG,利用注释定义测试用例依赖关系并通过配置文件设置参数及定义测试套件。
具体的,首先在TestNG配置文件中定义测试脚本运行的输入参数,当同一条测试用例运行在不同环境中时,只需要改变相应的参数输入值即可;并且,在本方案中使用搭建的代码管理平台进行测试的代码的更新和编译,在TestNG配置文件中定义测试脚本运行的输入参数,是通过testng.xml文件来执行,其实是把要执行case放入到testng.xml文件中。
S102、通过编写的测试代码调用@Parameters注释,读取在所述TestNG配置文件中的所述运行参数;
具体的,在输入运行参数后,编写测试代码,代码中通过调用@Parameters注释,读取在上一步骤中的定义的运行参数,,即读取在testng.xml文件定义的参数;读取的参数在代码中定义为全局变量,因为需要在所有的测试方法中都可以使用。
S103、接收用户使用Lotus Automator通过浏览器提交的修改后的运行参数后,通过STAF命令将所述修改后的运行参数更新至所述TestNG的配置文件中;
具体的,Lotus Automator是一款基于STAF/STAX的具有广泛平台支持的自动化测试工具,利用Lotus Automator可以通过Web浏览器在远程机器上提交自动化测试任务。
具体的,在本实施例中使用Lotus Automator通过浏览器进行修参数。如果不使用Lotus Automator,也可使用属性文件保存不同环境信息以备运行时调用。用户提交修改参数之后,Lotus Automator接收这些参数并调用STAF命令更新TestNG配置文件。
S104、通过STAF接收封装后的TestNG的启动命令,并执行所述启动命令。
其中,所述通过STAF接收封装后的TestNG的启动命令,并执行所述启动命令,包括:
通过STAF接收封装后的TestNG的启动命令之后,根据所述启动命令实现所述测试脚本的远程自启动。
具体的,STAF(Software Testing Automation Framework)是开源、跨平台的自动化测试框架,它基于可重用的组件,即一组专门用于构建自动化解决方案的内置服务,来构建自动化测试,它采用点对点的实现机制,所有机器都是对等的,没有客户端和服务器的区分。STAX(STAF Execution Engine)本身是一种特殊的STAF外部服务,它也是STAF的执行引擎,支持通过XML格式调用其他STAF服务。
具体的,将TestNG的启动命令经过封装后,通过STAF被发送至目标机器并执行,以此来实现脚本的远程自启动。
下面对本发明实施例提供的自动化测试系统进行介绍,下文描述的自动化测试系统与上文描述的自动化测试方法可以相互参照。
参见图2,本发明实施例提供的一种自动化测试系统,包括:
运行参数保存模块100,用于对测试代码进行更新和编译,并将所述测试脚本的运行参数存入TestNG配置文件;
运行参数读取模块200,用于通过编写的测试代码调用@Parameters注释,读取在所述TestNG配置文件中的所述运行参数;
运行参数修改模块300,用于接收用户使用Lotus Automator通过浏览器提交的修改后的运行参数后,通过STAF命令将所述修改后的运行参数更新至所述TestNG的配置文件中;
执行模块400,用于通过STAF接收封装后的TestNG的启动命令,并执行所述启动命令。
基于上述技术方案,所述运行参数保存模块通过代码管理平台对测试代码进行更新和编译。
基于上述技术方案,所述运行参数保存模块将所述测试脚本的运行参数存入testng.xml文件来执行。
基于上述技术方案,所述执行模块通过STAF接收封装后的TestNG的启动命令之后,根据所述启动命令实现所述测试脚本的远程自启动。
本发明实施例还提供一种测试机器,包括上述实施例中所述的自动化测试系统。
本发明实施例提供的一种自动化测试方法、系统及测试机器,包括:对测试代码进行更新和编译,并将所述测试脚本的运行参数存入TestNG配置文件;通过编写的测试代码调用@Parameters注释,读取在所述TestNG配置文件中的所述运行参数;接收用户使用Lotus Automator通过浏览器提交的修改后的运行参数后,通过STAF命令将所述修改后的运行参数更新至所述TestNG的配置文件中;通过STAF接收封装后的TestNG的启动命令,并执行所述启动命令;可见,在本实施例中,通过TestNG中的运行参数支持注释功能,实现自动修改测试参数;并且,通过TestNG借助Lotus Automator可以远程提交测试任务,从而实现自动提交自动化脚本。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种自动化测试方法,其特征在于,包括:
对测试代码进行更新和编译,并将所述测试脚本的运行参数存入TestNG配置文件;
通过编写的测试代码调用@Parameters注释,读取在所述TestNG配置文件中的所述运行参数;
接收用户使用Lotus Automator通过浏览器提交的修改后的运行参数后,通过STAF命令将所述修改后的运行参数更新至所述TestNG的配置文件中;
通过STAF接收封装后的TestNG的启动命令,并执行所述启动命令。
2.根据权利要求1所述的自动化测试方法,其特征在于,所述对测试代码进行更新和编译,包括:
通过代码管理平台对测试代码进行更新和编译。
3.根据权利要求2所述的自动化测试方法,其特征在于,将所述测试脚本的运行参数存入TestNG配置文件,包括:
将所述测试脚本的运行参数存入testng.xml文件来执行。
4.根据权利要求1-3中任意一项所述的自动化测试方法,其特征在于,所述通过STAF接收封装后的TestNG的启动命令,并执行所述启动命令,包括:
通过STAF接收封装后的TestNG的启动命令之后,根据所述启动命令实现所述测试脚本的远程自启动。
5.一种自动化测试系统,其特征在于,包括:
运行参数保存模块,用于对测试代码进行更新和编译,并将所述测试脚本的运行参数存入TestNG配置文件;
运行参数读取模块,用于通过编写的测试代码调用@Parameters注释,读取在所述TestNG配置文件中的所述运行参数;
运行参数修改模块,用于接收用户使用Lotus Automator通过浏览器提交的修改后的运行参数后,通过STAF命令将所述修改后的运行参数更新至所述TestNG的配置文件中;
执行模块,用于通过STAF接收封装后的TestNG的启动命令,并执行所述启动命令。
6.根据权利要求5所述的自动化测试系统,其特征在于,所述运行参数保存模块通过代码管理平台对测试代码进行更新和编译。
7.根据权利要求6所述的自动化测试系统,其特征在于,所述运行参数保存模块将所述测试脚本的运行参数存入testng.xml文件来执行。
8.根据权利要求5-7中任意一项所述的自动化测试系统,其特征在于,所述执行模块通过STAF接收封装后的TestNG的启动命令之后,根据所述启动命令实现所述测试脚本的远程自启动。
9.一种测试机器,其特征在于,包括如权利要求5-8中任意一项所述的自动化测试系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610757154.4A CN106371868A (zh) | 2016-08-29 | 2016-08-29 | 一种自动化测试方法、系统及测试机器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610757154.4A CN106371868A (zh) | 2016-08-29 | 2016-08-29 | 一种自动化测试方法、系统及测试机器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106371868A true CN106371868A (zh) | 2017-02-01 |
Family
ID=57901128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610757154.4A Pending CN106371868A (zh) | 2016-08-29 | 2016-08-29 | 一种自动化测试方法、系统及测试机器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106371868A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108572911A (zh) * | 2017-03-14 | 2018-09-25 | 北京京东尚科信息技术有限公司 | 自动化安全测试方法、装置、电子设备和可读存储介质 |
CN111209191A (zh) * | 2019-12-29 | 2020-05-29 | 的卢技术有限公司 | 一种实现视频分类的自动化测试方法及系统 |
CN111538662A (zh) * | 2020-04-24 | 2020-08-14 | 北京如影智能科技有限公司 | 系统测试方法及装置 |
CN111984534A (zh) * | 2020-08-07 | 2020-11-24 | 苏州浪潮智能科技有限公司 | 一种基于arm64架构前端UI自动化测试方法及装置 |
CN112241268A (zh) * | 2020-09-22 | 2021-01-19 | 合肥寰芯微电子科技有限公司 | 一种keil工程的编译方法、系统及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224450A (zh) * | 2014-07-02 | 2016-01-06 | 阿里巴巴集团控股有限公司 | 并发测试方法及装置 |
-
2016
- 2016-08-29 CN CN201610757154.4A patent/CN106371868A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224450A (zh) * | 2014-07-02 | 2016-01-06 | 阿里巴巴集团控股有限公司 | 并发测试方法及装置 |
Non-Patent Citations (1)
Title |
---|
赵厚芳、陆劼: "使用STAF+RTC+Maven实现无人值守的自动化测试", 《HTTPS://WWW.IBM.COM/DEVELOPERWORKS/CN/RATIONAL/1505_ZHAOHF_STAFRTCMAVEN/》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108572911A (zh) * | 2017-03-14 | 2018-09-25 | 北京京东尚科信息技术有限公司 | 自动化安全测试方法、装置、电子设备和可读存储介质 |
CN111209191A (zh) * | 2019-12-29 | 2020-05-29 | 的卢技术有限公司 | 一种实现视频分类的自动化测试方法及系统 |
CN111538662A (zh) * | 2020-04-24 | 2020-08-14 | 北京如影智能科技有限公司 | 系统测试方法及装置 |
CN111984534A (zh) * | 2020-08-07 | 2020-11-24 | 苏州浪潮智能科技有限公司 | 一种基于arm64架构前端UI自动化测试方法及装置 |
CN111984534B (zh) * | 2020-08-07 | 2022-06-14 | 苏州浪潮智能科技有限公司 | 一种基于arm64架构前端UI自动化测试方法及装置 |
CN112241268A (zh) * | 2020-09-22 | 2021-01-19 | 合肥寰芯微电子科技有限公司 | 一种keil工程的编译方法、系统及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103150249B (zh) | 一种自动化测试的方法和系统 | |
CN106371868A (zh) | 一种自动化测试方法、系统及测试机器 | |
US11243516B2 (en) | Edge devices and associated networks utilising microservices | |
CN109726132A (zh) | 一种软件测试方法及软件测试自动化管理系统 | |
US7926038B2 (en) | Method, system and computer program for testing a command line interface of a software product | |
CN102368216B (zh) | 一种基于项目自动构造的流程实现方法 | |
US20070266165A1 (en) | Test automation method for software programs | |
CN111552644A (zh) | 一种基于微服务架构的软件持续集成方法 | |
CN104407971A (zh) | 自动化测试嵌入式软件的方法 | |
CN101482817B (zh) | 基于黑盒的大粒度Java构件组装方法 | |
JP2011510418A (ja) | コンポーネント・モデル基盤の仮想ソフトウェア・プラットホームを生成する方法、これを利用してソフトウェア・プラットホーム・アーキテクチャを検証する方法及びその装置 | |
US20170220324A1 (en) | Data communication accelerator system | |
CN102486749B (zh) | 数据驱动测试方法及系统 | |
CN103279419A (zh) | 一种基于b/s结构系统的自动化版本验证方法及系统 | |
CN106201878A (zh) | 测试程序的执行方法和装置 | |
CN103699385A (zh) | 一种代码持续集成的方法 | |
CN105511868A (zh) | 一种打包iOS应用程序的方法 | |
CN103186463B (zh) | 确定软件的测试范围的方法和系统 | |
Wahler et al. | CAST: Automating software tests for embedded systems | |
CN113050929A (zh) | 一种基于Hyperledger Fabric的智能合约开发运维一体化平台 | |
CN113254054B (zh) | 一种智能合约一站式开发系统及方法 | |
CN109753281B (zh) | 一种基于图形化编程的微电网能量管理策略可视化开发工具 | |
CN111966665B (zh) | 数据迁移测试方法及装置 | |
Belli et al. | Test generation and minimization with" Basic" statecharts | |
Salgueiro et al. | Best Practices for OutSystems Development and Its Influence on Test Automation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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: 20170201 |