CN114443475A - 一种软件测试自动化脚本开发方法 - Google Patents

一种软件测试自动化脚本开发方法 Download PDF

Info

Publication number
CN114443475A
CN114443475A CN202210015677.7A CN202210015677A CN114443475A CN 114443475 A CN114443475 A CN 114443475A CN 202210015677 A CN202210015677 A CN 202210015677A CN 114443475 A CN114443475 A CN 114443475A
Authority
CN
China
Prior art keywords
script
test
end interface
development
element information
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
Application number
CN202210015677.7A
Other languages
English (en)
Inventor
王艳丽
赵超
王树广
李明亮
宋成群
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Group Co Ltd
Original Assignee
Inspur Software Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Software Group Co Ltd filed Critical Inspur Software Group Co Ltd
Priority to CN202210015677.7A priority Critical patent/CN114443475A/zh
Publication of CN114443475A publication Critical patent/CN114443475A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Abstract

本发明公开一种软件测试自动化脚本开发方法,涉及软件开发技术领域;结合NW.js与Angular前端框架,构建前端界面,通过前端界面录入和收集元素信息进行脚本开发,生成测试脚本,通过前端界面组合测试脚本形成测试用例,通过测试用例形成测试流程,结合Python命令行运行测试脚本,并将测试结果对接到自动化运行平台。

Description

一种软件测试自动化脚本开发方法
技术领域
本发明公开一种开发方法,涉及软件开发技术领域,具体地说一种软件测试自动化脚本开发方法。
背景技术
目前对于一些大型项目,程序处于不断迭代状态,需要频繁使用自动化测试脚本进行回归测试,但在实际测试中常存在以下问题:
(1)脚本开发门槛高:脚本开发的前提首先需要掌握一门编程语言,需要学习基于Selenium脚本开发方法,对于一个新手来说,学习时间长,尤其对于一些特殊页面操作,往往无从下手,成为刚接触脚本人员的绊脚石;
(2)脚本开发效率低:Selenium脚本开发过程一般先确认前端界面元素的识别属性,然后调用Selenium提供的查找元素API找到这个元素,之后添加元素的动作,这个过程中存在大量重复代码,常导致开发脚本用时很长。
发明内容
本发明针对现有技术的问题,提供一种软件测试自动化脚本开发方法,能够解决脚本开发门槛高,脚本开发效率低等问题。最大程度上降低脚本开发难度,提高脚本开发效率,规范化元素定位方式,提高脚本反复使用率,最终达到提高工作效率的目的。
本发明提出的具体方案是:
一种软件测试自动化脚本开发方法,结合NW.js与Angular前端框架,构建前端界面,通过前端界面录入和收集元素信息进行脚本开发,生成测试脚本,
通过前端界面组合测试脚本形成测试用例,通过测试用例形成测试流程,
结合Python命令行运行测试脚本,并将测试结果对接到自动化运行平台。
进一步,所述的一种软件测试自动化脚本开发方法中所述通过前端界面录入和收集元素信息进行脚本开发,包括:
通过前端界面录入元素信息,所述元素信息包括识别元素的方式、元素的属性、对元素的操作及元素的值,
调用API请求生成测试脚本。
进一步,所述的一种软件测试自动化脚本开发方法中所述调用API请求生成测试脚本,包括:
将前端界面录入的元素信息进行组合,转化为脚本插入到脚本模板中,生成测试脚本。
进一步,所述的一种软件测试自动化脚本开发方法中所述通过前端界面组合测试脚本形成测试用例,包括:
通过前端界面实例化测试脚本,选择所述实例化测试脚本中的测试方法进行组合,形成测试用例。
同时本发明提供一种软件测试自动化脚本开发系统,包括第一层组件模块、第二层组件模块及第三层组件模块,
第一层组件模块结合NW.js与Angular前端框架,构建前端界面,通过前端界面录入和收集元素信息进行脚本开发,生成测试脚本,
第二层组件模块通过前端界面组合测试脚本形成测试用例,通过测试用例形成测试流程,
第三层组件模块结合Python命令行运行测试脚本,并将测试结果对接到自动化运行平台。
进一步,所述的一种软件测试自动化脚本开发系统中所述通过前端界面录入和收集元素信息进行脚本开发,包括:
通过前端界面录入元素信息,所述元素信息包括识别元素的方式、元素的属性、对元素的操作及元素的值,
调用API请求生成测试脚本。
进一步,所述的一种软件测试自动化脚本开发系统中所述调用API请求生成测试脚本,包括:
将前端界面录入的元素信息进行组合,转化为脚本插入到脚本模板中,生成测试脚本。
进一步,所述的一种软件测试自动化脚本开发系统中所述通过前端界面组合测试脚本形成测试用例,包括:
通过前端界面实例化测试脚本,选择所述实例化测试脚本中的测试方法进行组合,形成测试用例。
本发明的有益之处是:
本发明提供一种软件测试自动化脚本开发方法,能够有效降低脚本开发门槛,提高脚本开发效率,脚本开发过程从源代码开发转变为操作前端界面的过程。降低脚本开发难度的同时,提高了脚本的易读性,很大程度上提高了公司产品的质量,大大节省回归测试的人力物力,相比公司以前基于源代码开发的方式,工作量有所削减,效益有所提升。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明方法应用框架示意图。
图2是本发明方法中前端界面展示脚本生成的示意图。
图3是本发明方法中前端界面展示测试用例生成的示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
本发明提供一种软件测试自动化脚本开发方法,结合NW.js与Angular前端框架,构建前端界面,通过前端界面录入和收集元素信息进行脚本开发,生成测试脚本,
通过前端界面组合测试脚本形成测试用例,通过测试用例形成测试流程,
结合Python命令行运行测试脚本,并将测试结果对接到自动化运行平台。
本发明方法通过前端界面进行脚本开发,形成测试用例,并通过调用Python命令行实现测试,能够解决脚本开发门槛高,脚本开发效率低等问题。最大程度上降低脚本开发难度,提高脚本开发效率,规范化元素定位方式,提高脚本反复使用率,最终达到提高工作效率的目的。
具体应用中,在本发明的一些实施例中,进行软件测试自动化脚本开发时,过程可参考如下:
通过前端界面进行脚本开发,前端界面使用NW.js与Angular结合搭建,其中NW.js是基于Chromium和Node.js实现的,它利用Web技术结合Node.js及其模块进行桌面应用开发;Angular是一款构建用户界面的前端框架。将两者结合,实现前端信息输入及后台脚本处理,通过前端界面确定控件的识别属性,再转化为机器语言,过程如下:
在脚本开发界面的表格里输入的识别元素的方式、元素的属性、元素的操作、输入的值等信息;第二步调用API请求生成测试,测试脚本是基于现有脚本框架底座的,基于固定的脚本模板,将前端输入的信息进行组合,转化为脚本插入到模板中,从而生成测试脚本;第三步将脚本生成到本地,对于运行通过的脚本,可以提交到服务器进行集中管理。参考图2,可以点击新增行,输入以下信息:
a、元素类型:包括按钮、输入框、选择框等前端控件类型;
b、定位方式:支持Selenium中的8种定位方式,id、name、xpath等;
c、元素属性:填写识别元素的属性的值,比如按钮的名称是新增;
d、元素别名:给当前元素取个合适的名字;
e、操作:选择对元素的操作,包括点击、输入、输入键盘按键等;
f、输入值:对于文本框,输入测试数据;
g、期望值:输入预期结果。
点击保存,根据前端界面的输入信息,自动生成脚本保存到本地;
点击上传,将脚本上传到服务器进行集中管理。
已经生成了散列的测试脚本,将测试脚本进行组合形成测试用例,测试脚本与测试用例的区别是前者只对应单一的测试点,后者能够将多个测试点组合起来形成流程,通常被测产品的业务都要通过将流程组合才能测试充分的。其中通过前端界面选择某个脚本,自动展示脚本里包含的内容,通过前端界面表格中提供的选择控件进行勾选,将多个脚本里的多个方法进行组合形成测试用例。参考图3,其中点击左侧新增行,输入以下信息:
a、Case编号:填写给测试用例编号;
b、Case名称:填写给测试用例名称;
c、场景类型:选择测试类型,包括遍历、业务、异常等;
d、优先级:选择优先级,包括1级、2级、3级等。
点击右侧新增行,输入以下信息:
a、操作:通过点击“选择”按钮出现脚本选择列表窗口,任意选择一个或者多个脚本进行组合形成测试用例;
b、Action名称:上一步选择后自动显示脚本名称;
c、参数:手工填写传入的参数信息;
打开脚本运行组件,打开cmd输入python hello.py。
其中结合Python命令行执行技术自动运行测试脚本。基于第二层组件生成的测试用例脚本,比如hello.py,脚本路径在E盘中的pythoncode文件夹中,即存储位置为E:\pythoncode\hello.py。然后打开命令行输入python+空格+文件所在的路径,回车即可运行成功。
同时本发明提供一种软件测试自动化脚本开发系统,包括第一层组件模块、第二层组件模块及第三层组件模块,
第一层组件模块结合NW.js与Angular前端框架,构建前端界面,通过前端界面录入和收集元素信息进行脚本开发,生成测试脚本,
第二层组件模块通过前端界面组合测试脚本形成测试用例,通过测试用例形成测试流程,
第三层组件模块结合Python命令行运行测试脚本,并将测试结果对接到自动化运行平台。
上述系统内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
同样地,本发明系统能够有效降低脚本开发门槛,提高脚本开发效率,脚本开发过程从源代码开发转变为操作前端界面的过程。降低脚本开发难度的同时,提高了脚本的易读性,很大程度上提高了公司产品的质量,大大节省回归测试的人力物力,相比公司以前基于源代码开发的方式,工作量有所削减,效益有所提升。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

Claims (8)

1.一种软件测试自动化脚本开发方法,其特征是结合NW.js与Angular前端框架,构建前端界面,通过前端界面录入和收集元素信息进行脚本开发,生成测试脚本,
通过前端界面组合测试脚本形成测试用例,通过测试用例形成测试流程,
结合Python命令行运行测试脚本,并将测试结果对接到自动化运行平台。
2.根据权利要求1所述的一种软件测试自动化脚本开发方法,其特征是所述通过前端界面录入和收集元素信息进行脚本开发,包括:
通过前端界面录入元素信息,所述元素信息包括识别元素的方式、元素的属性、对元素的操作及元素的值,
调用API请求生成测试脚本。
3.根据权利要求2所述的一种软件测试自动化脚本开发方法,其特征是所述调用API请求生成测试脚本,包括:
将前端界面录入的元素信息进行组合,转化为脚本插入到脚本模板中,生成测试脚本。
4.根据权利要求1所述的一种软件测试自动化脚本开发方法,其特征是所述通过前端界面组合测试脚本形成测试用例,包括:
通过前端界面实例化测试脚本,选择所述实例化测试脚本中的测试方法进行组合,形成测试用例。
5.一种软件测试自动化脚本开发系统,其特征是包括第一层组件模块、第二层组件模块及第三层组件模块,
第一层组件模块结合NW.js与Angular前端框架,构建前端界面,通过前端界面录入和收集元素信息进行脚本开发,生成测试脚本,
第二层组件模块通过前端界面组合测试脚本形成测试用例,通过测试用例形成测试流程,
第三层组件模块结合Python命令行运行测试脚本,并将测试结果对接到自动化运行平台。
6.根据权利要求5所述的一种软件测试自动化脚本开发系统,其特征是所述通过前端界面录入和收集元素信息进行脚本开发,包括:
通过前端界面录入元素信息,所述元素信息包括识别元素的方式、元素的属性、对元素的操作及元素的值,
调用API请求生成测试脚本。
7.根据权利要求6所述的一种软件测试自动化脚本开发系统,其特征是所述调用API请求生成测试脚本,包括:
将前端界面录入的元素信息进行组合,转化为脚本插入到脚本模板中,生成测试脚本。
8.根据权利要求5所述的一种软件测试自动化脚本开发系统,其特征是所述通过前端界面组合测试脚本形成测试用例,包括:
通过前端界面实例化测试脚本,选择所述实例化测试脚本中的测试方法进行组合,形成测试用例。
CN202210015677.7A 2022-01-07 2022-01-07 一种软件测试自动化脚本开发方法 Pending CN114443475A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210015677.7A CN114443475A (zh) 2022-01-07 2022-01-07 一种软件测试自动化脚本开发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210015677.7A CN114443475A (zh) 2022-01-07 2022-01-07 一种软件测试自动化脚本开发方法

Publications (1)

Publication Number Publication Date
CN114443475A true CN114443475A (zh) 2022-05-06

Family

ID=81367799

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210015677.7A Pending CN114443475A (zh) 2022-01-07 2022-01-07 一种软件测试自动化脚本开发方法

Country Status (1)

Country Link
CN (1) CN114443475A (zh)

Similar Documents

Publication Publication Date Title
CN105700888B (zh) 一种基于jbpm工作流引擎的可视化快速开发平台
CN111241454B (zh) 一种生成网页代码的方法、系统和装置
US11750688B2 (en) Cost-aware integration process modeling in multi-cloud computing environment
CN111881385A (zh) 推送内容生成方法、装置、设备和可读存储介质
CN111784108B (zh) 一种主数据管理平台的建模方法和装置
CN111208995A (zh) Ibm主机作业的自动生成方法、系统、装置及存储介质
CN110837356A (zh) 一种数据处理方法和装置
CN112083926A (zh) 一种Web用户界面生成方法及装置
CN115293124A (zh) 软件工程化文档自动生成方法及装置
Kitzmann et al. A simple algorithm for automatic layout of bpmn processes
CN112364106A (zh) 一种自动生成业务拓扑图谱的数据关联可视化方法及系统
CN111177247B (zh) 一种数据转换的方法、装置及存储介质
CN114647735A (zh) 关系图谱的展示方法、介质以及显示装置
CN115469849B (zh) 一种业务处理系统、方法、电子设备和存储介质
CN117057318A (zh) 领域模型生成方法、装置、设备以及存储介质
CN112256555A (zh) 自动化测试用例管理系统及测试用例执行状态转换方法
CN114443475A (zh) 一种软件测试自动化脚本开发方法
CN115757304A (zh) 一种日志存储方法、装置、系统、电子设备及存储介质
CN116664060A (zh) 费用报销基础数据的生成方法、系统和装置
CN114185938B (zh) 基于数字金融及大数据溯源的项目溯源分析方法及系统
CN115510361A (zh) 一种基于可视化配置的数据图表页面生成方法及相关设备
CN115035044A (zh) 一种应用于工业质检的智能ai平台
CN114449063A (zh) 一种报文处理方法、装置及设备
US11507728B2 (en) Click to document
CN117539437A (zh) 开发框架的处理方法、装置、电子设备和存储介质

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