CN112416788B - 一种分层规范的Web应用UI自动化测试方法 - Google Patents

一种分层规范的Web应用UI自动化测试方法 Download PDF

Info

Publication number
CN112416788B
CN112416788B CN202011365112.9A CN202011365112A CN112416788B CN 112416788 B CN112416788 B CN 112416788B CN 202011365112 A CN202011365112 A CN 202011365112A CN 112416788 B CN112416788 B CN 112416788B
Authority
CN
China
Prior art keywords
test
program
basic operation
web application
basic
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.)
Active
Application number
CN202011365112.9A
Other languages
English (en)
Other versions
CN112416788A (zh
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.)
Suzhou Research Institute Institute Of Electronics Chinese Academy Of Sciences
Original Assignee
Suzhou Research Institute Institute Of Electronics Chinese Academy Of Sciences
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 Suzhou Research Institute Institute Of Electronics Chinese Academy Of Sciences filed Critical Suzhou Research Institute Institute Of Electronics Chinese Academy Of Sciences
Priority to CN202011365112.9A priority Critical patent/CN112416788B/zh
Publication of CN112416788A publication Critical patent/CN112416788A/zh
Application granted granted Critical
Publication of CN112416788B publication Critical patent/CN112416788B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

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

本发明提出了一种分层规范的Web应用UI自动化测试方法,源代码预处理,构建基本操作对象表;编写自动化测试用例,从基本操作对象表中匹配与每个测试用例的测试对象对应的唯一语义字符描述,在编写各测试步骤时用基本操作词汇描述对测试对象的操作;翻译自动化测试用例,按逻辑顺序,将自动化测试用例中的每个步骤对基本操作对象所做的基本操作翻译为程序原语,最终形成每个测试用例的测试程序;将测试程序中的程序原语进行扩展,形成直接驱动浏览器模拟用户操作的命令;执行测试,输出测试用例的结果。本发明解决了现有自动化测试工具脚本编写难度大、普适性差、维护成本高、项目迁移性差等问题。

Description

一种分层规范的Web应用UI自动化测试方法
技术领域
本发明专利属于软件测试领域,具体涉及一种分层规范的Web应用UI自动化测试方法。
背景技术
自动化测试是把人为驱动的测试转化为机器执行的一种过程。按照测试分层的概念,UI(User Interface,用户界面)自动化测试处于测试金字塔的顶层。UI层是用户使用产品的入口,所有功能通过这一层提供给用户。UI自动化测试通常是指测试人员通过自动化手段尝试模拟普通用户行为,并查看Web应用是否按预期运行,没有缺陷状况的测试方法。
目前,针对Web应用进行UI自动化测试的主流工具是对文档对象模型 (DOM)进行解析,运行测试人员编写的测试脚本,借助WebDriver模拟用户的行为来驱动浏览器,典型代表性工具有Selenium等。WebDriver是一个远程控制接口,可以对用户代理进行内省和控制。它提供了一种与平台和语言无关的通信协议,用于进程外远程操控浏览器行为。WebDriver提供了一组接口,用于发现和操作Web文档中的DOM元素并控制用户代理的行为。它允许测试人员编写测试程序,并在单独的控制过程中自动执行。除上述基于解析DOM的自动化测试工具,还有通过当前屏幕的实时图像检索获取操作对象,模拟用户行为的自动化测试工具。该类自动化测试工具主要通过比对测试人员截图与Web应用实时截图定位坐标,然后移动鼠标向指定坐标进行操作。
然而,不论是基于WebDriver还是基于图像识别原理的自动化测试,都存在相应缺陷。基于WebDriver的UI自动化测试存在脚本编写难度大、普适性差、维护成本高的问题。编写自动化脚本需要了解WebDriver的工作原理,门槛较高。编写的脚本语言也与自动化测试工具高度耦合,迁移成本高。即使一直使用同一测试工具,该类测试脚本可读性差、适应性差,当浏览器版本更新、自动化测试工具出现向后兼容问题时,原有的自动化测试用例需要做调整,相应的自动化脚本也需要大幅修改。基于图像识别原理的自动化测试对图像清晰度、分辨率、背景颜色等因素变化敏感,当浏览器缩放、屏幕分辨率不一等导致图片区域大小发生变化时就会失效。不同项目间的前端界面差异较大,显然不具备项目迁移性。
发明内容
本发明的目的在于提出一种分层规范的Web应用UI自动化测试方法,解决现有自动化测试工具中存在的脚本编写难度大、普适性差、维护成本高、项目迁移性差等多方面不足。
实现本发明目的的技术解决方案为:一种分层规范的Web应用UI自动化测试方法,包括如下步骤:
步骤1,源代码预处理,获取源代码中所有基本组件或基本组件区域这些程序定位对象,记录程序定位用的唯一标识符和测试用户查找用的唯一语义字符,并以唯一语义字符为基本操作对象表的键名,自然语言标识和对应的程序定位属性为基本操作对象键值,构建基本操作对象表;
步骤2,编写自动化测试用例,从基本操作对象表中匹配与每个测试用例的测试对象对应的唯一语义字符描述,在编写各测试步骤时用基本操作词汇描述对测试对象的操作;
步骤3,翻译自动化测试用例,按逻辑顺序,将自动化测试用例中的每个步骤对基本操作对象所做的基本操作翻译为程序原语,最终形成每个测试用例的测试程序;
步骤4,将测试程序中的程序原语进行扩展,形成直接驱动浏览器模拟用户操作的命令;
步骤5,执行测试,输出测试用例的结果。
进一步的,步骤1中,构建的基本操作对象表如表1所示:
表1基本操作对象词汇表
Figure BDA0002805175530000021
其中,基本元素为指代Web应用中接收UI输入指令的基本组件或基本组件区域这些程序定位对象,元素含两个属性:唯一语义字符和唯一定位标识;
由于操作元素在页面中必有相对应的文字提醒,则必存在相关的语义字符,当出现重复语义字符时,借助当前节点在DOMTree中的结构关系,补充其他节点的语义字符与当前节点的关系描述,确保唯一性。
进一步的,步骤2中,基本操作词汇指代测试用例中的所执行的测试动作,基本操作词汇代表没有歧义的,应当产生单个有效UI反馈的一个基本UI操作的词语及对应近义词语合集合,如表2所示:
表2基本操作词汇表
Figure BDA0002805175530000031
进一步的,步骤3中,所述逻辑顺序即执行逻辑,包含判断、循环两种,相应的NLP模型仅针对性训练这两种逻辑词汇;当NLP训练数据不足时,则择在基本操作词汇中加入逻辑执行词汇进行限制。
进一步的,步骤4中,将测试程序中的程序原语进行扩展,形成直接驱动浏览器模拟用户操作的命令,具体方法为:读入程序原语,判断基于DOM解析的自动化测试工具能否实现,当自动化测试工具能够实现时,将程序原语翻译为指定自动化测试工具的脚本,否则将程序原语翻译为浏览器通信接口命令,输出驱动浏览器执行指令。
进一步的,当测试需要模拟更多操作,对更多对象进行测试时,则先对基本操作词汇表和基本操作对象表进行更新,后在测试用例中补充编写;当Web应用升级或其他原因导致UI操作变化时,同样需要更新基本操作词汇表和基本操作对象表,相应的程序原语也需要做调整。
进一步的,当自动化测试工具或浏览器更新,具体程序指令发生变化时,更新程序原语和实现的对照表,实现测试执行结果的一致性。
一种分层规范的Web应用UI自动化测试系统,基于所述的方法进行Web 应用UI自动化测试。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的方法进行Web 应用UI自动化测试。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法进行Web应用UI自动化测试。
本发明与现有技术相比,其显著优点为:1)借助规定基本操作词汇表和基本操作对象词汇表,实现对UI自动化测试过程描述的标准化拆解,提高了对不同测试项目的适应性。当WebDriver更新、自动化测试工具更新等出现兼容问题时,仅需要针对执行出现问题的程序原语实现进行更新即可,原有自动化测试用例无需修改,大幅提高自动化测试用例的复用性,降低迁移成本和维护成本。当Web框架更新、应用增加设备支持等支持更多基本UI操作时,只需增量更新基本操作词汇表和基本操作对象词汇表,并对应更新程序原语表和新增对象定位方式即可,大幅提高扩展性。2)通过定义程序原语来屏蔽各自动化测试工具复杂的脚本语言逻辑,并提供了不依赖自动化测试工具时浏览器直接通信交互的能力,降低了与自动化测试工具的耦合度,降低了编写测试脚本的门槛,提高了测试程序的可读性。
附图说明
图1是本发明的分层规范的Web应用UI自动化测试方法的流程示意图;
图2是本发明的关联关系示意图;
图3是本发明的基本操作对象生成的流程示意图;
图4是本发明的用例翻译的流程示意图;
图5是本发明的种原语解析的流程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
传统自动化测试过程中,自动化测试用例依赖于自动化测试脚本,自动化测试脚本与自动化测试工具及浏览器WebDriver的实现紧密耦合,当自动化测试工具及WebDriver发生剧变时,上层测试用例也要跟随变动。为了解决传统自动化测试存在的问题,本发明提出一种分层规范的Web应用UI自动化测试方法,包括五个阶段,如图1所示,首先,源代码预处理,找出源代码中所有基本组件或基本组件区域,并记录其程序定位用的唯一标识符和测试用户查找用的唯一语义字符,输出为基本操作对象表。然后,编写自动化测试用例,每个测试用例的所有测试对象从基本操作对象表中找到对应的唯一语义字符描述,并在编写各测试步骤时用基本操作词汇描述对所述对象的操作。其次,翻译自动化测试用例,按逻辑顺序,将自动化测试用例中的每个步骤对基本操作对象所做的基本操作翻译为程序原语,每个测试用例最终形成测试程序。再次,将测试程序中的程序原语进行扩展,形成直接驱动浏览器进行模拟用户操作的命令。最后,执行测试,输出各测试用例的结果。
本发明通过依赖倒转,将测试用例依赖于基本操作词汇表和基本操作对象表,将测试执行命令依赖于程序原语,来大幅降低测试用例与具体自动化测试工具及浏览器的耦合度,如图2所示。关系线段S01指测试用例的编写依赖于基本操作词汇表和基本操作对象表。编写测试用例时测试对象和测试操作均从基本操作词汇表和基本操作对象表中选择,不能编写不在这两个表中的测试对象和测试操作。关系线段关系S03指测试执行依赖于程序原语声明的操作。测试执行时,浏览器的拟用户行为操作均由程序原语所声明,与基本操作相对应,作用于程序原语的输入上,与基本操作对象相对应。关系线段关系S02基本操作词汇表和基本操作对象表与程序原语维持对应关系,是自然语言与程序语言间的映射基础。基本操作词汇表中所含的基本操作与程序原语一一对应,基本操作对象中的程序唯一标识符属性为程序原语的输入,唯一语义字符为测试用例的输入,即测试对象。
(1)预处理源代码原理
本发明归纳Web应用基本操作对象,形成基本操作对象词汇表,如表1所示。在此基础上,预处理源代码通过识别出源代码中的基本元素,保留与基本操作对象词汇表匹配的基本元素,并依据代码上下文生成测试用户编写用的唯一语义字符和后续翻译装置用的唯一定位标识。
表1基本操作对象词汇表
Figure BDA0002805175530000061
其中,基本元素为指代Web应用中接收UI输入指令的基本组件或基本组件(内)区域等程序定位对象,元素含两个属性:唯一语义字符和唯一定位标识。
a)基本操作对象生成
图3是基本操作对象生成的示意图。首先扫描Web应用源码,将接收UI操作指令的组件和组件区域标记出可处理的组件或组件区域。其次,将标记的组件或组件区域转换为具有唯一语义字符的程序定位对象(XPath、Selector等)。然后,将以上唯一语义字符输出为基本操作对象表的键名,自然语言标识和对应的唯一定位标识输出为基本操作对象键值对。最后,输出可方便查询的基本操作对象表。
b)预处理产物约束保证映射唯一
语义字符保证唯一是为了保证测试人员编写测试用例时所指代的测试对象唯一。定位标识唯一是帮助程序在翻译测试用例时对原语进行正确的参数输入。同时,两者的对应关系也是唯一的。这样保证了从自然语言到程序语言的映射是唯一的。
c)预处理的可行性
将Web应用中接收UI输入指令的基本组件或基本组件(内)区域代码,转换为程序可用于准确定位的高兼容性程序定位对象,且该对象中含有测试人员可识别的自然语言标识属性。
尽管前端框架不一,但最终渲染还是会归于对HTML元素的操作。HTML 的渲染符合HTMLDOM模型,即Web应用中的UI交互元素均能在DOMTree 中被遍历。DOMTree中的节点对应于一个HTML标签,则Web应用中的UI交互元素可对应至某个HTML标签。由于操作元素在页面中必有相对应的文字提醒,则必存在相关的语义字符。当出现重复语义字符时,可借助当前节点在DOMTree中的结构关系,补充其他节点的语义字符与当前节点的关系描述,确保唯一性。程序定位标识的唯一性同样可借助DOMTree中的结构关系来保证,但通常为了提高鲁棒性是借助标签的属性或前述语义字符的相对关系等来保证。
(2)测试用例特征
本发明的测试用例编写应当符合一定特征,使用基本操作对象词汇表中的基本操作对象描述被测试对象,并使用基本操作词汇表中的基本操作词汇指代测试用例中的所执行的测试动作。基本操作词汇代表没有歧义的,应当产生单个有效 UI反馈的一个基本UI操作的词语及对应常用近义词语合集合,如表2所示。
表2基本操作词汇表
Figure BDA0002805175530000071
测试用例特征如下:
a)基本操作词汇表保证语义唯一
与基本操作对象表目的类似,是为了保证用户对Web应用的UI输入可以被程序唯一地识别。通过限制测试人员对测试操作的描述,保证后续装置可以准确地将语义转换为对应原语。当前NLP(自然语言处理技术)尚不支持零知识识别测试用例信息,故提供预设基本操作词汇表或提供预训练NLP的操作词汇表库给测试人员选择使用是很有必要的。
b)仅使用基本操作对象表和基本操作词汇表的可行性
由于操作对象全部产生于DOMTree中的节点,故测试对象必为DOMTree 节点集的子集。只需要保证基本操作对象生成装置生成的基本操作对象表对 DOMTree节点全覆盖则必然覆盖所有测试对象。实际工程应用中,可以剔除部分不常测的节点,提高生成装置效率。
由于Web应用的UI输入操作均为键盘、鼠标有限动作的组合完成,故对 UI操作标准化为基本操作词汇是可行的。
(3)翻译测试用例原理
用例翻译装置的基本思想是:首先,扫描各自动化测试用例,提取基本操作词汇、基本操作对象;其次,根据对应翻译表即基本操作对象词汇表和基本操作词汇表,将各基本操作、基本操作对象翻译为程序原语语句;然后按逻辑顺序组织同一测试用例的程序原语为测试程序;最后,输出测试执行程序。
a)用例翻译可行性
用例语句中有效信息分为三类,测试操作、测试对象、执行逻辑。其中,测试操作和测试对象分别对应基本操作词汇表和基本操作对象表。执行逻辑限于代码执行仅含判断、循环两种结果,故相应的NLP模型可以仅针对性训练这两种逻辑词汇的使用。由于这两种逻辑关系的词汇表述有限,故该转换可行。当NLP 训练数据不足时,依然可以选择在基本操作词汇中加入逻辑执行词汇进行限制,如循环、若…则等,退化为与测试操作一样,在描述时仅允许在基本操作词汇表中选择词汇。
b)用例翻译装置必要性
首先,当前程序语言中较为普及的语言均非自然语言描述类语言,接近自然语言描述的程序语言缺乏生态支持,且功能性不强,故直接通过自然语言描述类程序语言编写自动化测试程序不可行。其次,省略自然语言直接通过编写测试原语的不利于测试归档,在面向没有程序背景的用户时并不友好。故在自然语言与程序语言之间该翻译装置有存在的必要性。
(4)原语解析原理
原语解析装置的基本思想是:读入测试程序,针对扫描出来的程序原语扩展为特定的自动化测试工具脚本或直接扩展为对应浏览器通信接口的通信命令等可以直接驱动浏览器进行模拟用户操作的指令。其中程序原语是指一个基本操作的程序指令,其实现等价于用户完成一个基本UI操作。
a)原语解析
图5是专门满足本发明第四步而设计的,即原语解析。首先读入程序原语。其次,判断基于DOM解析的自动化测试工具能否实现。当自动化测试工具可实现时,将程序原语翻译为指定自动化测试工具的脚本,否则将程序原语翻译为浏览器通信接口命令。输出驱动浏览器执行指令。
b)原语解析的扩展性
因测试用例中的测试对象和测试操作均由基本操作词汇表和基本操作对象表提供,故测试用例在兼顾测试覆盖性同时约束了测试用例的范式。具体的,当测试需要覆盖更深的操作逻辑,更复杂的对象组合时仅需对测试用例描述逻辑作修改。当测试需要模拟更多操作,对更多对象进行测试时则先对基本操作词汇表和基本操作对象表进行更新,后在测试用例中补充编写。当Web应用升级或其他原因导致UI操作变化时,需要更新基本操作词汇表和基本操作对象表,相应的程序原语也需要做调整。
c)程序原语对用户操作的覆盖
程序原语的设计在模拟用户使用实际的同时归纳并标准化用户操作。当自动化测试工具或浏览器更新等具体程序指令发生变化时,通过更新程序原语的实现来保障测试执行结果的一致性。此外,可根据需要针对不同的浏览器、自动化测试工具、UI框架等维护一套程序原语和实现的对照表。测试程序的编写始终由测试人员通过组合程序原语完成,保留各操作语义性的同时提供操作的组合多样性。且因程序原语实现效果的一致性,保证了测试用例执行局限于程序原语的语义效果,保证对用户行为模仿的有效性。
本发明还提出一种分层规范的Web应用UI自动化测试系统,基于所述的方法进行Web应用UI自动化测试。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的方法进行Web 应用UI自动化测试。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法进行Web应用UI自动化测试。
实施例
为了验证本发明方案的有效性,进行如下仿真实验,分层规范的Web应用 UI自动化测试方法具体实现步骤如下所述。
输入:被测Web应用的源代码。
步骤101:对源代码进行预处理生成基本操作对象表,具体的,包括子步骤 (1)-(5):
(1)扫描源码,定位至下一基本组件/基本组件区域;
(2)调用自动定位工具(如Chrome中的XPath生成器)生成唯一定位标识;
(3)将对应唯一定位标识输入鲁棒性增强器,获得鲁棒性更高的程序唯一定位标识;
(4)将程序唯一定位标识输入给元素选择器,元素选择器据此在该源码文件中查找符合条件的唯一元素,输出元素包裹的唯一语义字符,拼接上元素规范名称后作为键名,如登录链接。键值为输入的XPath,形成一个键值对放入基本操作对象表中;
(5)循环以上(1)-(4)步,直至建立项目所需的基本操作对象表。
步骤102:测试用户编写各自动化测试用例时从基本操作对象表中选定涉及的基本操作对象,使用基本操作词汇编写,具体的,包括子步骤(1)-(5):
(1)在基本操作对象表中选择操作对象,如登录链接;
(2)选用基本操作词汇,如点击;
(3)编写一个测试步骤,如点击登录链接,填写预期结果;
(4)循环以上(1)-(3)步,直至编写完成一个测试用例;
(5)循环以上(1)-(4)步,直至编写完成所有测试用例。
步骤103:读入各自动化测试用例,并翻译为各程序原语合集,形成各测试程序,具体的,包括子步骤(1)-(4):
(1)扫描各自动化测试用例,提取基本操作词汇、基本操作对象;
(2)各基本操作、基本操作对象根据对应翻译表翻译为各以程序定位对象为输入参数的程序原语语句,如点击登录链接翻译为click(SIGN_IN_XPath);
(3)按逻辑顺序组织同一测试用例的程序原语为测试程序;
(4)循环以上(1)-(3)步,直至完成输出所有测试程序。
步骤104:将测试程序转换为自动化测试工具的脚本或浏览器通信接口命令,具体的,包括子步骤(1)-(3):
(1)读入程序原语;
(2)自动化测试工具可以实现时,转换为自动化测试工具的脚本,不能实现时转换为浏览器通信接口命令;
(3)输出可执行测试程序。
步骤105:执行测试。
输出:测试执行结果。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种分层规范的Web应用UI自动化测试方法,其特征在于,包括如下步骤:
步骤1,源代码预处理,获取源代码中所有基本组件或基本组件区域这些程序定位对象,记录程序定位用的唯一标识符和测试用户查找用的唯一语义字符,并以唯一语义字符为基本操作对象表的键名,自然语言标识和对应的程序定位属性为基本操作对象键值,构建基本操作对象表;
步骤2,编写自动化测试用例,从基本操作对象表中匹配与每个测试用例的测试对象对应的唯一语义字符描述,在编写各测试步骤时用基本操作词汇描述对测试对象的操作;
步骤3,翻译自动化测试用例,按逻辑顺序,将自动化测试用例中的每个步骤对基本操作对象所做的基本操作翻译为程序原语,最终形成每个测试用例的测试程序;
步骤4,将测试程序中的程序原语进行扩展,形成直接驱动浏览器模拟用户操作的命令;
步骤5,执行测试,输出测试用例的结果。
2.根据权利要求1所述的分层规范的Web应用UI自动化测试方法,其特征在于,步骤1中,构建的基本操作对象表如表1所示:
表1基本操作对象词汇表
Figure FDA0003830151860000011
其中,基本元素为指代Web应用中接收UI输入指令的基本组件或基本组件区域这些程序定位对象,元素含两个属性:唯一语义字符和唯一定位标识;
由于操作元素在页面中必有相对应的文字提醒,则必存在相关的语义字符,当出现重复语义字符时,借助当前节点在DOMTree中的结构关系,补充其他节点的语义字符与当前节点的关系描述,确保唯一性。
3.根据权利要求1所述的分层规范的Web应用UI自动化测试方法,其特征在于,步骤2中,基本操作词汇指代测试用例中的所执行的测试动作,基本操作词汇代表没有歧义的,应当产生单个有效UI反馈的一个基本UI操作的词语及对应近义词语集合,如表2所示:
表2基本操作词汇表
Figure FDA0003830151860000021
4.根据权利要求1所述的分层规范的Web应用UI自动化测试方法,其特征在于,步骤3中,所述逻辑顺序即执行逻辑,包含判断、循环两种,相应的NLP模型仅针对性训练这两种逻辑词汇;当NLP训练数据不足时,则择在基本操作词汇中加入逻辑执行词汇进行限制。
5.根据权利要求1所述的分层规范的Web应用UI自动化测试方法,其特征在于,步骤4中,将测试程序中的程序原语进行扩展,形成直接驱动浏览器模拟用户操作的命令,具体方法为:读入程序原语,判断基于DOM解析的自动化测试工具能否实现,当自动化测试工具能够实现时,将程序原语翻译为指定自动化测试工具的脚本,否则将程序原语翻译为浏览器通信接口命令,输出驱动浏览器执行指令。
6.根据权利要求5所述的分层规范的Web应用UI自动化测试方法,其特征在于,当测试需要模拟更多操作,对更多对象进行测试时,则先对基本操作词汇表和基本操作对象表进行更新,后在测试用例中补充编写;当Web应用升级或其他原因导致UI操作变化时,同样需要更新基本操作词汇表和基本操作对象表,相应的程序原语也需要做调整。
7.根据权利要求1所述的分层规范的Web应用UI自动化测试方法,其特征在于,当自动化测试工具或浏览器更新,具体程序指令发生变化时,更新程序原语和实现的对照表,实现测试执行结果的一致性。
8.一种分层规范的Web应用UI自动化测试系统,其特征在于,基于权利要求1-7任一项所述的方法进行Web应用UI自动化测试。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-7任一项所述的方法进行Web应用UI自动化测试。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法进行Web应用UI自动化测试。
CN202011365112.9A 2020-11-27 2020-11-27 一种分层规范的Web应用UI自动化测试方法 Active CN112416788B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011365112.9A CN112416788B (zh) 2020-11-27 2020-11-27 一种分层规范的Web应用UI自动化测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011365112.9A CN112416788B (zh) 2020-11-27 2020-11-27 一种分层规范的Web应用UI自动化测试方法

Publications (2)

Publication Number Publication Date
CN112416788A CN112416788A (zh) 2021-02-26
CN112416788B true CN112416788B (zh) 2022-11-29

Family

ID=74843029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011365112.9A Active CN112416788B (zh) 2020-11-27 2020-11-27 一种分层规范的Web应用UI自动化测试方法

Country Status (1)

Country Link
CN (1) CN112416788B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860587B (zh) * 2021-04-02 2024-04-05 中国工商银行股份有限公司 Ui自动测试方法和装置
CN113778898B (zh) * 2021-09-26 2024-02-20 杭州安恒信息技术股份有限公司 用户界面自动化测试方法、装置、电子设备及存储介质
CN117539793B (zh) * 2024-01-05 2024-03-26 畅捷通信息技术股份有限公司 一种浏览器ui自动测试的方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140229920A1 (en) * 2013-02-13 2014-08-14 Sap Ag Dynamic scenario testing of web application
CN105373478A (zh) * 2015-12-14 2016-03-02 广州华多网络科技有限公司 自动化测试方法和系统
CN109783388A (zh) * 2019-01-16 2019-05-21 北京金山云网络技术有限公司 Ui自动化测试方法、装置及电子设备
US20190179732A1 (en) * 2017-12-08 2019-06-13 Cognizant Technology Solutions India Pvt. Ltd. System and method for automatically generating software testing scripts from test cases

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140229920A1 (en) * 2013-02-13 2014-08-14 Sap Ag Dynamic scenario testing of web application
CN105373478A (zh) * 2015-12-14 2016-03-02 广州华多网络科技有限公司 自动化测试方法和系统
US20190179732A1 (en) * 2017-12-08 2019-06-13 Cognizant Technology Solutions India Pvt. Ltd. System and method for automatically generating software testing scripts from test cases
CN109783388A (zh) * 2019-01-16 2019-05-21 北京金山云网络技术有限公司 Ui自动化测试方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Selenium的Web软件自动化测试;姜文等;《计算机技术与发展》;20180516;第28卷(第9期);第47-52、58页 *

Also Published As

Publication number Publication date
CN112416788A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
CN112416788B (zh) 一种分层规范的Web应用UI自动化测试方法
US9063672B2 (en) Systems and methods for verifying model equivalence
CN108595171B (zh) 对象的模型生成方法、装置、设备及存储介质
CN111736840A (zh) 小程序应用的编译方法、运行方法、存储介质及电子设备
CN109725896A (zh) 一种在线编辑python代码的方法以及电子设备
CN115509514B (zh) 一种前端数据模拟方法、装置、设备及介质
CN114138244A (zh) 模型类文件自动生成方法、装置、存储介质及电子设备
CN115202626A (zh) 一种支持多技术栈组件的低代码前端开发方法
Zhao et al. Pattern-based design evolution using graph transformation
Cristiá et al. A language for test case refinement in the Test Template Framework
US20230011461A1 (en) Method and system for generating engineering diagrams in an engineering system
CN117707612A (zh) 代码的处理方法、装置及电子设备
CN112965909A (zh) 测试数据、测试用例生成方法及系统、存储介质
CN116560631A (zh) 一种机器学习模型代码的生成方法及装置
US20230041718A1 (en) Automated code generation based on pseudo-code
JP2760682B2 (ja) ハードウェアの設計支援システム
CN112667202B (zh) Mda与bpmn相结合的软件设计方法和装置
Pettit et al. Modeling behavioral patterns of concurrent software architectures using Petri nets
Autili et al. Towards a graphical tool for refining user to system requirements
Arcaini et al. Unified syntax for abstract state machines
CN113918165A (zh) 文字描述式流程说明编译为应用自动操作脚本方法及系统
CN104657162A (zh) 一种服务环境修改方法和装置
US20230325205A1 (en) System and computer-implemented method to generate a configuration for external datapoint access
Han et al. Domain‐specific translation tool from structured text to C source code with code readability enhancement in programmable logic controllers
CN114860252A (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
GR01 Patent grant
GR01 Patent grant