CN115509907A - 一种表单提交测试方法、装置、计算设备及存储介质 - Google Patents
一种表单提交测试方法、装置、计算设备及存储介质 Download PDFInfo
- Publication number
- CN115509907A CN115509907A CN202211160998.2A CN202211160998A CN115509907A CN 115509907 A CN115509907 A CN 115509907A CN 202211160998 A CN202211160998 A CN 202211160998A CN 115509907 A CN115509907 A CN 115509907A
- Authority
- CN
- China
- Prior art keywords
- test
- tested
- submission
- page
- test case
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 309
- 238000013515 script Methods 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 18
- 238000013461 design Methods 0.000 description 15
- 238000012795 verification Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012552 review Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 210000000746 body region Anatomy 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013100 final test Methods 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 229910052711 selenium Inorganic materials 0.000 description 1
- 239000011669 selenium Substances 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 239000012085 test solution Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种表单提交测试方法、装置、计算设备及存储介质,该方法包括:检查待测试页面,以确定待测试页面是否包括待测试表单;若待测试页面包括待测试表单,则获取待测试表单的测试用例,并根据测试用例生成对应的测试脚本;运行测试脚本,以进行表单提交测试;生成待测试表单的测试报告,并保存测试脚本。
Description
技术领域
本发明涉及软件测试技术领域,特别涉及一种表单提交测试方法、装置、计算设备及存储介质。
背景技术
在项目中,通常会有很多表单提交页面,例如用户注册页面、提交订单页面等,通过在表单提交页面中键入或确认相关信息进而提交,即可将表单中的内容传递出去。伴随着业务的发展和多样化,表单提交页面的类型和数量不断增长,基于其重要性,对表单的测试也变得更为重要。
对表单而言,每次新需求的开发或老需求的修改都可能对其功能有所影响,导致每次上线均要进行相关功能的回归测试,浪费人力。而表单提交虽涉及提交方(如客户端)和接收方(如服务端)之间的通讯和交互,但本质上是一个简单的重复性操作,不宜频繁回归测试以免资源耗费过多。
目前,对表单提交页面进行自动化测试的方法主要有两种,一种是利用QTP(QuickTest Professional,一种自动化测试工具),其功能强大,但属于商业收费软件,且需要在已经开发完成的页面编写自动化测试脚本,并要求测试人员掌握VB(Visual Basic,一种编程语言)脚本。
另一种则是采用Selenium(一种浏览器自动化测试框架),具有开源免费、多平台、接口齐全等优点,但与使用QTP进行页面自动化测试的方法类似,该方法也无法在页面开发完成前进入测试脚本的编写工作,并且最后生成的测试脚本通常不能很好地执行,经常性修改后才能顺利执行。
因此,需要一种新的表单提交测试方法来优化上述处理过程。
发明内容
为此,本发明提供一种表单提交测试方案,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种表单提交测试方法,包括如下步骤:首先,检查待测试页面,以确定待测试页面是否包括待测试表单;若待测试页面包括待测试表单,则获取待测试表单的测试用例,并根据测试用例生成对应的测试脚本;运行测试脚本,以进行表单提交测试;生成待测试表单的测试报告,并保存测试脚本。
可选地,在根据本发明的表单提交测试方法中,检查待测试页面,以确定待测试页面是否包括待测试表单的步骤,包括:对待测试页面中的各表单,检查表单是否关联有第一测试标签;若表单关联有第一测试标签,则确定表单为待测试表单。
可选地,在根据本发明的表单提交测试方法中,获取待测试表单的测试用例的步骤,包括:从待测试表单关联的第一测试标签中,获取待测试表单的表单标识;在测试用例库中查找表单标识关联的测试用例。
可选地,在根据本发明的表单提交测试方法中,根据测试用例生成对应的测试脚本的步骤,包括:提取待测试表单中由第一测试标签标记的各输入类型的表单元素,并标注序号;根据测试用例,向提取出的各表单元素按照对应的序号进行赋值;提交待测试表单,在预设响应时间之后执行提交结果检查,以生成测试脚本。
可选地,在根据本发明的表单提交测试方法中,在预设响应时间之后执行提交结果检查,以生成测试脚本的步骤,包括:在预设响应时间之后,获取待测试表单关联的第二测试标签;对比第二测试标签标记的检查点的值与测试用例中检查点的值是否一致;基于对比结果,判断表单提交测试是否通过,并对应生成测试脚本。
可选地,在根据本发明的表单提交测试方法中,还包括:对各待测试表单,预先创建待测试表单的表单标识,向待测试表单添加第一测试标签和第二测试标签以进行关联,第一测试标签和第二测试标签均包括待测试表单的表单标识;生成待测试表单的测试用例,将测试用例与表单标识关联并存储于测试用例库。
可选地,在根据本发明的表单提交测试方法中,向待测试表单添加第一测试标签和第二测试标签以进行关联的步骤,包括:向待测试表单的表单结构部分中主体区域的外层添加第一测试标签;在待测试表单的提交结果部分中,确定用于表明提交结果的检查点,并将第二测试标签标记于检查点。
可选地,在根据本发明的表单提交测试方法中,生成待测试表单的测试用例的步骤,包括:为主体区域对应的各输入类型的表单元素,设置相应的值及序号;设定主体区域对应的其他类型的表单元素和检查点的值,并选择测试类型,以生成测试用例。
根据本发明的又一个方面,提供一种表单提交测试装置,包括检查模块、第一生成模块、运行模块和第二生成模块。其中,检查模块适于检查待测试页面,以确定待测试页面是否包括待测试表单;第一生成模块适于当待测试页面包括待测试表单时,获取待测试表单的测试用例,并根据测试用例生成对应的测试脚本;运行模块适于运行测试脚本,以进行表单提交测试;第二生成模块适于生成待测试表单的测试报告,并保存测试脚本。
根据本发明的又一个方面,提供了一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行如上所述的表单提交测试方法的指令。
根据本发明的又一个方面,提供了一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行如上所述的表单提交测试方法。
根据本发明的表单提交测试方案,先检查待测试页面是否包括待测试表单,若包括,则根据待测试表单的测试用例生成测试脚本,运行测试脚本,以进行表单提交测试,生成待测试表单的测试报告,并保存测试脚本。在以后的回归测试中,如果功能有修改,则仅需修改相应的测试用例,后续会自动执行对应的测试并向相关人员发送测试报告,相关人员可以只关注最终的测试结果,中途不必值守参与,在实现表单提交的自动化测试的同时,还降低了人力成本。
在上述技术方案中,预先会向各待测试表单添加第一测试标签和第二测试标签,以明确需要自动化测试的表单及确定提交结果的检查点,并基于第一测试标签和第二测试标签,设置对应的表单元素和检查点的值,生成待测试表单的测试用例,进而根据测试用例生成对应的测试脚本,无需测试人员手动编写编写测试脚本,不用掌握额外的脚本语言,对测试人员技能要求低。在测试用例及测试脚本的生成阶段,开发人员可以同步进行页面开发,换言之,开发人员和测试人员可以各自进行自己的工作,无需互相等待,解决了传统自动化测试依赖已有开发完成页面的问题,使得自动化测试设计与开发并行进行,提高了工作效率。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明的一个实施例的计算设备100的结构框图;
图2示出了根据本发明的一个实施例的表单提交测试方法200的流程图;
图3示出了根据本发明的一个实施例的待测试页面中表单的设计图;以及
图4示出了根据本发明的一个实施例的表单提交测试装置400的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明的一个实施例的计算设备100的结构框图。
如图1所示,在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(UP)、微控制器(UC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。
计算设备100还包括储存设备132,储存设备132包括可移除储存器136和不可移除储存器138。
计算设备100还可以包括储存接口总线134。储存接口总线134实现了从储存设备132(例如,可移除储存器136和不可移除储存器138)经由总线/接口控制器130到基本配置102的通信。操作系统120、应用122以及程序数据124的至少一部分可以存储在可移除储存器136和/或不可移除储存器138上,并且在计算设备100上电或者要执行应用122时,经由储存接口总线134而加载到系统存储器106中,并由一个或者多个处理器104来执行。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中以编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。当然,计算设备100也可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、数码照相机、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。甚至可以被实现为服务器,如文件服务器、数据库服务器、应用程序服务器和WEB服务器等。本发明的实施例对此均不做限制。
在根据本发明的实施例中,计算设备100被配置为执行根据本发明的表单提交测试方法200。其中,布置在操作系统上的应用122中包含用于执行本发明的表单提交测试方法200的多条程序指令,这些程序指令可以指示处理器104执行本发明的表单提交测试方法200,以便计算设备100通过执行本发明的表单提交测试方法200来对表单进行提交测试。
根据本发明的一个实施例,布置在操作系统上的应用122包括表单提交测试装置400,表单提交测试装置400中包含用于执行本发明的表单提交测试方法200的多条程序指令,使得本发明的表单提交测试方法200可以在表单提交测试装置400中执行。
图2示出了根据本发明一个实施例的表单提交测试方法200的流程图。表单提交测试方法200可以在计算设备(例如前述计算设备100)的表单提交测试装置400中执行。
如图2所示,方法200始于步骤S210。在步骤S210中,检查待测试页面,以确定待测试页面是否包括待测试表单。
根据本发明的一个实施例,待测试表单是需要开发人员和测试人员预先确定好的。具体来说,在网页设计人员完成页面的设计图之后,会将设计图交付给开发人员和测试人员一起进行评审。评审过程中,先判断页面是否包括有表单,若页面包括一个或多个表单,则从中确定需要执行自动化测试的表单作为待测试表单,并为其设置一个唯一的表单标识来进行约定,这个表单标识可以看成是开发与测试的连接点。测试人员按照设计图编写测试用例,而开发人员依据设计图开发代码,在双方人员都完成任务后,通过约定的表单标识来彼此识别。
基于上述考虑,方法200还包括:对各待测试表单,预先创建待测试表单的表单标识,向待测试表单添加第一测试标签和第二测试标签以进行关联,第一测试标签和第二测试标签均包括待测试表单的表单标识。
在该实施方式中,在向待测试表单添加第一测试标签和第二测试标签以进行关联时,通常是向待测试表单的表单结构部分中主体区域的外层添加第一测试标签,在待测试表单的提交结果部分中,确定用于表明提交结果的检查点,并将第二测试标签标记于检查点。
对待测试表单而言,一般包括表单结构部分和提交结果部分,表单结构部分体现了表单的组成结构,提交结果部分体现了表单提交后成功或失败的结果。映射到代码,表单结构部分则对应于表单元素及相关的提示信息组成的、表征表单结构的代码,提交结果部分则对应于表单提交后提交结果展示的代码。需要注意的是,表单提交后,可能会呈现一个新的页面来表示提交结果,也可能在当前表单页面的基础上弹出一个提示框表明提交结果,或者直接在当前表单页面的某个区域添加一段文字或图片描述告知提交结果,等等,这主要取决于设计人员。
由于页面的代码一般采用HTML(Hyper Text Markup Language,超文本标记语言)描述,则待测试表单的表单结构部分中主体区域一般为代码中“<form>”标签覆盖的部分,第一测试标签的形式可以是“<auto-test>”标签,在“<auto-test>”标签中附加待测试表单的表单标识,以得到最终的第一测试标签,并将其套在“<form>”标签的外层,至此完成了第一测试标签与待测试表单的关联。其中,“<form>”标签用于为用户输入创建HTML表单。
以下给出了一个添加有第一测试标签的待测试表单的HTML示例:
由上可见,在“<form action=""method="get">”、“</form>”之外分别添加了“<auto-test name='formid1'>”、“</auto-test>”,其中“formid1”为待测试表单的表单标识。
假设上述HTML示例下的待测试表单提交后,会返回如下HTML示例对应的表单提交成功页面,则可以在该表单提交成功页面中确定表明提交结果的检查点,该表单提交成功页面的HTML示例如下:
参考以上HTML示例,“<h1>表单提交成功</h1>”表明了表单提交结果,则可将其确定为检查点,并添加第二测试标签进行标记。第二测试标签的形式可以是“<auto-check>”标签,在“<auto-check>”标签中附加待测试表单的表单标识“formid1”,以得到最终的第二测试标签。再向检查点“<h1>表单提交成功</h1>”的外层套上第二测试标签“<auto-checkname='formid1'>”、“</auto-check>”,完成第二测试标签与待测试表单的关联。
以下为添加有第二测试标签的表单提交成功页面的HTML示例:
根据本发明的一个实施例,方法200还包括:生成待测试表单的测试用例,将测试用例与表单标识关联并存储于测试用例库。在该实施方式中,可以为主体区域对应的各输入类型的表单元素,设置相应的值及序号,设定主体区域对应的其他类型的表单元素和检查点的值,并选择测试类型,以生成测试用例。其中,测试类型包括自动化测试。
为便于理解,以下结合一个设计图的示例进行测试用例生成的相关说明。图3示出了根据本发明的一个实施例的待测试页面中表单的设计图。如图3所示,设计图中展示了一个活动提交表单,最上方显示的“活动设置”字样表明下方区域用于设置活动,其中包括了“活动名称”、“活动时间”、“核销有效期”的字样和对应的输入框,以及提示事项。例如,对活动名称要求不超过17个字,并建议活动名称突出利益点,如折扣信息、权益信息等,活动时间和核销有效期均包括起始日期和截至日期,且对核销有效期而言,用户持核销码在该时段内可到店核销,过期无法核销。
设计图的最下方有一个内部字样为“保存并提交审核”的矩形图标,一般设置为按钮,当填写表单的人员完成活动名称、活动时间、核销有效期的内容键入后,可通过点击该矩形图标提交当前表单。若确定该设计图对应的表单需要进行自动化测试,则表明该表单是待测试表单,进而需要基于该设计图生成对应的测试用例。
参考该设计图,可知主体区域对应的各输入类型的表单元素为“活动名称”、“活动时间”、“核销有效期”关联的输入框,“活动名称”、“活动时间”、“核销有效期”是输入框的标题,依次给上述三个输入框设置相应的值为“discount”、“2021/08/20-2021/08/25”、“2021/08/26-2021/08/27”,并分别标注序号为1、2、3。
“保存并提交审核”图标为一个表单提交按钮,属于主体区域对应的其他类型的表单元素,具体类型为点击,设定其值为“保存并提交审核”。设定检查点的值为“提交成功”,其类型为检查,选择测试类型为自动化测试,以生成图3所示设计图对应的待测试表单的测试用例,最后再将该测试用例与该待测试表单的表单标识“formid2”关联并存储于测试用例库。测试用例的示例如下:
表1
表1示出了根据本发明的一个实施例的测试用例的示例。如表1所示,该测试用例关联有表单标识“formid2”,表单元素及检查点的值也已设置好,按照表1所示的格式存储到测试用例库中即可。
根据本发明的一个实施例,可通过如下方式检查待测试页面,以确定待测试页面是否包括待测试表单。在该实施方式中,对待测试页面中的各表单,检查表单是否关联有第一测试标签,若表单关联有第一测试标签,则确定表单为待测试表单。
由上可知,第一测试标签为“<auto-test>”标签,则检查表单是否关联有“<auto-test>”标签,即从表单的HTML代码中查找是否有“<auto-test>”标签,若有,则确定该表单关联有第一测试标签,将其作为待测试表单,以备后续处理。
随后,进入步骤S220,若待测试页面包括待测试表单,则获取待测试表单的测试用例,并根据测试用例生成对应的测试脚本。
根据本发明的一个实施例,可通过如下方式获取待测试表单的测试用例,例如,从待测试表单关联的第一测试标签中,获取待测试表单的表单标识,在测试用例库中查找表单标识关联的测试用例。在该实施方式中,从待测试表单关联的第一测试标签中获取到的表单标识为“formid2”,在测试用例库中查到该表单标识关联的测试用例如表1所示。
在获取到测试用例后,还要检查测试用例是否有更新,如果测试用例有更新,则根据新的测试用例生成对应的测试脚本,如果测试用例没有更新,则进一步确定当前是否已生成测试脚本。如果尚未生成测试脚本,则根据该测试用例生成对应的测试脚本,如果已生成测试脚本,则直接执行步骤S230,开始运行测试脚本。
在根据测试用例生成对应的测试脚本时,先提取待测试表单中由第一测试标签标记的各输入类型的表单元素,并标注序号,再根据测试用例,向提取出的各表单元素按照对应的序号进行赋值。比如,当待测试表单为图3所示设计图对应的表单时,提取该待测试表单中由“<auto-test>”标签标记的各输入类型的表单元素,得到“活动名称”、“活动时间”、“核销有效期”关联的输入框,依次标注序号为1、2、3,并根据表1所示的测试用例,按照序号标明的次序向这三个提取出的表单元素赋值,即依次向“活动名称”、“活动时间”、“核销有效期”关联的输入框输入测试用例值“discount”、“2021/08/20-2021/08/25”、“2021/08/26-2021/08/27”。
当提取出的表单元素全部完成赋值后,提交待测试表单,在预设响应时间之后执行提交结果检查,以生成测试脚本。在提交待测试表单时,一般需要找到表单提交按钮,这里的表单提交按钮为“保存并提交审核”图标,执行表单提交按钮的点击操作,即完成了待测试表单的提交。
根据本发明的一个实施例,可通过如下方式在预设响应时间之后执行提交结果检查,以生成测试脚本。在该实施方式中,在预设响应时间之后,获取待测试表单关联的第二测试标签,对比第二测试标签标记的检查点的值与测试用例中检查点的值是否一致,基于对比结果,判断表单提交测试是否通过,并对应生成测试脚本。其中,预设响应时间可设为2秒。
例如,等待2秒模拟表单提交的响应时间,并获取当前页面的地址,该地址可能是最开始待测试页面的地址,也可能是待测试表单提交跳转后新的页面的地址。获取待测试表单关联的“<auto-check>”标签,对比“<auto-check>”标签标记的检查点的值与测试用例中检查点的值“提交成功”是否一致。
若对比结果为一致,则判断表单提交测试通过,若对比结果为不一致,则判断表单提交测试不通过。此处对是否一致的对比,并不要求完全相同,例如“表单提交成功”与“提交成功”也可以认定是一致,这取决于对相似度的要求和具体设定。在实际应用中,测试人员可以直接输入待测试页面的地址,通过以上步骤S210、S220自动生成自动化测试脚本。
在步骤S230中,运行测试脚本,以进行表单提交测试。根据本发明的一个实施例,可以使用WebDriver(一种用于网络应用程序的自动化测试工具)框架来运行测试脚本,此时该测试脚本为WebDriver可执行的Java(一种编程语言)脚本。
最终,执行步骤S240,生成待测试表单的测试报告,并保存测试脚本。根据本发明的一个实施例,测试报告包括测试开始时间、脚本运行时长、运行状态以及详细的测试用例执行情况,其中,运行状态包括通过、失败和错误。在该实施方式中,测试报告通常会发送给相关人员,如测试人员等,测试脚本统一保存后,会便于后续回归测试的调用。
图4示出了根据本发明的一个实施例的表单提交测试装置400的示意图。表单提交测试装置400驻留在计算设备(例如前述计算设备100)中。表单提交测试装置400通过执行本发明的表单提交测试方法200来对表单进行提交测试。
如图4所示,表单提交测试装置400包括依次相连的检查模块410、第一生成模块420、运行模块430和第二生成模块440,第一生成模块420还与第二生成模块440相连。
其中,检查模块410可以检查待测试页面,以确定待测试页面是否包括待测试表单。第一生成模块420可以当待测试页面包括待测试表单时,获取待测试表单的测试用例,并根据测试用例生成对应的测试脚本。随后,运行模块430可以运行测试脚本,以进行表单提交测试。第二生成模块440可以生成待测试表单的测试报告,并保存测试脚本。
应当指出,检查模块410用于执行前述步骤S210,第一生成模块420用于执行前述步骤S220,运行模块430用于执行前述步骤S230,第二生成模块440用于执行前述步骤S240。这里,关于检查模块410、第一生成模块420、运行模块430和第二生成模块440的执行逻辑,可参见前文方法200中对步骤S210~S240的具体描述,此处不再赘述。
根据本发明实施例的表单提交测试方案,先检查待测试页面是否包括待测试表单,若包括,则根据待测试表单的测试用例生成测试脚本,运行测试脚本,以进行表单提交测试,生成待测试表单的测试报告,并保存测试脚本。在以后的回归测试中,如果功能有修改,则仅需修改相应的测试用例,后续会自动执行对应的测试并向相关人员发送测试报告,相关人员可以只关注最终的测试结果,中途不必值守参与,在实现表单提交的自动化测试的同时,还降低了人力成本。
在上述技术方案中,预先会向各待测试表单添加第一测试标签和第二测试标签,以明确需要自动化测试的表单及确定提交结果的检查点,并基于第一测试标签和第二测试标签,设置对应的表单元素和检查点的值,生成待测试表单的测试用例,进而根据测试用例生成对应的测试脚本,无需测试人员手动编写编写测试脚本,不用掌握额外的脚本语言,对测试人员技能要求低。在测试用例及测试脚本的生成阶段,开发人员可以同步进行页面开发,换言之,开发人员和测试人员可以各自进行自己的工作,无需互相等待,解决了传统自动化测试依赖已有开发完成页面的问题,使得自动化测试设计与开发并行进行,提高了工作效率。
A8如A7所述的方法,其中,所述生成所述待测试表单的测试用例的步骤,包括:
为所述主体区域对应的各输入类型的表单元素,设置相应的值及序号;
设定所述主体区域对应的其他类型的表单元素和所述检查点的值,并选择测试类型,以生成所述测试用例。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的表单提交测试方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种表单提交测试方法,包括:
检查待测试页面,以确定所述待测试页面是否包括待测试表单;
若所述待测试页面包括待测试表单,则获取所述待测试表单的测试用例,并根据所述测试用例生成对应的测试脚本;
运行所述测试脚本,以进行表单提交测试;
生成所述待测试表单的测试报告,并保存所述测试脚本。
2.如权利要求1所述的方法,其中,所述检查待测试页面,以确定所述待测试页面是否包括待测试表单的步骤,包括:
对所述待测试页面中的各表单,检查所述表单是否关联有第一测试标签;
若所述表单关联有所述第一测试标签,则确定所述表单为待测试表单。
3.如权利要求1或2所述的方法,其中,所述获取所述待测试表单的测试用例的步骤,包括:
从所述待测试表单关联的第一测试标签中,获取所述待测试表单的表单标识;
在测试用例库中查找所述表单标识关联的测试用例。
4.如权利要求1-3中任一项所述的方法,其中,所述根据所述测试用例生成对应的测试脚本的步骤,包括:
提取所述待测试表单中由所述第一测试标签标记的各输入类型的表单元素,并标注序号;
根据所述测试用例,向提取出的各表单元素按照对应的序号进行赋值;
提交所述待测试表单,在预设响应时间之后执行提交结果检查,以生成测试脚本。
5.如权利要求4所述的方法,其中,所述在预设响应时间之后执行提交结果检查,以生成测试脚本的步骤,包括:
在预设响应时间之后,获取所述待测试表单关联的第二测试标签;
对比所述第二测试标签标记的检查点的值与所述测试用例中检查点的值是否一致;
基于对比结果,判断表单提交测试是否通过,并对应生成测试脚本。
6.如权利要求1-5中任一项所述的方法,还包括:
对各待测试表单,预先创建所述待测试表单的表单标识,向所述待测试表单添加第一测试标签和第二测试标签以进行关联,所述第一测试标签和所述第二测试标签均包括所述待测试表单的表单标识;
生成所述待测试表单的测试用例,将所述测试用例与所述表单标识关联并存储于测试用例库。
7.如权利要求6所述的方法,其中,所述向所述待测试表单添加第一测试标签和第二测试标签以进行关联的步骤,包括:
向所述待测试表单的表单结构部分中主体区域的外层添加第一测试标签;
在所述待测试表单的提交结果部分中,确定用于表明提交结果的检查点,并将所述第二测试标签标记于所述检查点。
8.一种表单提交测试装置,包括:
检查模块,适于检查待测试页面,以确定所述待测试页面是否包括待测试表单;
第一生成模块,适于当所述待测试页面包括待测试表单时,获取所述待测试表单的测试用例,并根据所述测试用例生成对应的测试脚本;
运行模块,适于运行所述测试脚本,以进行表单提交测试;
第二生成模块,适于生成所述待测试表单的测试报告,并保存所述测试脚本。
9.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-7中任一项所述的方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-7中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211160998.2A CN115509907A (zh) | 2022-09-22 | 2022-09-22 | 一种表单提交测试方法、装置、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211160998.2A CN115509907A (zh) | 2022-09-22 | 2022-09-22 | 一种表单提交测试方法、装置、计算设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115509907A true CN115509907A (zh) | 2022-12-23 |
Family
ID=84505493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211160998.2A Pending CN115509907A (zh) | 2022-09-22 | 2022-09-22 | 一种表单提交测试方法、装置、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115509907A (zh) |
-
2022
- 2022-09-22 CN CN202211160998.2A patent/CN115509907A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162468B (zh) | 一种测试方法、装置以及计算机可读存储介质 | |
US20080295085A1 (en) | Integrated code review tool | |
US7784025B2 (en) | Mechanism for using processlets to model service processes | |
CN110837356B (zh) | 一种数据处理方法和装置 | |
CN112379888B (zh) | 一种代码变更分析方法 | |
CN109471857A (zh) | 基于sql语句的数据修改方法、装置及存储介质 | |
US8180659B2 (en) | Identifying and measuring adherence to software development requirements | |
CN110825745B (zh) | 页面的生成方法及装置 | |
CN112395182A (zh) | 自动化测试方法、装置、设备及计算机可读存储介质 | |
CN110795671A (zh) | 一种数据填报方法、计算设备及存储介质 | |
WO2022222378A1 (zh) | 一种内核裁剪方法及计算设备 | |
JP5936135B2 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
CN115509907A (zh) | 一种表单提交测试方法、装置、计算设备及存储介质 | |
US11704096B2 (en) | Monitoring application code usage for improved implementation of reusable code | |
CN112667202B (zh) | Mda与bpmn相结合的软件设计方法和装置 | |
CN114691146A (zh) | 一种应用安装包生成方法、计算设备及存储介质 | |
CN115576711A (zh) | 一种返回数据模拟方法、系统及计算设备 | |
CN115146581A (zh) | 项目管理方法、缺陷分析方法、相关设备及可读存储介质 | |
CN114527883A (zh) | 一种快捷键实现方法、计算设备及存储介质 | |
CN113377648A (zh) | 软件系统诊断方法、装置、电子设备及计算机可读介质 | |
CN113254347A (zh) | 一种日志函数添加方法、计算设备及储存介质 | |
JP5048537B2 (ja) | ワークフロー処理装置 | |
CN114328273B (zh) | 一种应用程序控件的调试方法、调试装置及计算设备 | |
CN112540747A (zh) | 平台开发方法、装置及计算机可读存储介质 | |
US20230418728A1 (en) | Method and system for generating real-time test environment activity view for functional simulations |
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 |