一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种自动化测试纠错方法及装置与流程

2022-05-21 05:28:54 来源:中国专利 TAG:
1.本发明属于工业软件自然语言自动化测试应用领域,具体涉及一种自动化测试纠错方法及装置。
背景技术
::2.众所周知,自动化测试能够提高测试效率,节省时间和人力成本。为了节省编写自动化测试脚本的过程所耗费的时间,seleniumide开发工具诞生了,selenium是一种用于web应用程序测试的工具,该工具可以通过firefox浏览器进行用例即自动化测试脚本的录制,并最终生成自动化测试脚本,这不仅可以节约测试人员编写自动化测试脚本的是时间,同时,对于没有脚本编写能力的测试人员而言,还能通过录制功能进行自动化测试脚本的生成。图1是现有技术自动化测试脚本录制功能流程图3.虽然用例的录制功能可以节省测试人员手动编写自动化测试脚本的时间,但是如果浏览器上页面元素发生变动,会造成引用了变动元素的脚本在进行自动化测试冒烟的时候过程中出现执行不通过的情况,测试人员不得不需要投入时间和人力成本去查询由此原因引起的自动化测试脚本不稳定的情况。技术实现要素:4.为了解决上述问题,本发明提出了一种自动化测试纠错方法及装置,能够降低用例脚本在执行过程中出现不稳定的现象,在自动化脚本录制过程中增加监听机制,自动拦截页面元素,并进行页面的存储,同时对页面元素进行解析,将元素新增或修改的内容通过监听机制发送到用例维护模块,对用例的状态进行更改。5.为此,本发明第一目的在于提供一种自动化测试纠错方法,包括如下步骤:6.1)初始化:部署自动化测试纠错装置工具,启动自动化测试纠错装置的用例维护模块和页面全量元素维护模块初始化;7.2)用例维护模块导入测试用例,对导入的测试用例进行解析,将解析的内容存储到用例维护表中,并生成用例更新事件发送给更新事件队列;8.3)页面全量元素维护模块接收用例更新事件,并对接收到的用例更新事件进行解析后存储至页面全量元素维护表中;9.4)页面全量元素维护模块在录制过程中拦截页面信息,对拦截到的页面元素信息进行解析,将解析后的页面元素与页面全量元素维护表中的信息进行比对,生成失效或生效通知事件发送给消息中间件;10.5)用例维护模块接收到生效或失效事件,进行解析,更新用例维护表。11.进一步的,用例纠错处理完成后,用例维护模块将变更后的用例推送至自动化执行引擎;自动化执行引擎在收到测试用例后,将其纳入引擎的执行过程中,并在执行完成后,将执行结果反馈给自动化测试纠错装置,自动化测试纠错装置最终通过接口反馈给用户终端。12.进一步的,所述的对接收到的生效或失效事件进行解析并更新用例维护表包括如下方面:13.通过页面元素进行判断,如果用例更新表中存在解析的页面元素,则从用例维护表中移除;14.通过页面元素进行判断,如果用例更新表中不存在解析的页面元素,则页面元素加入到用例维护表中。15.进一步的,所述用例维护模块初始化包括如下方面:16.1)启动用例解析服务;17.2)为测试用例创建文件系统存储目录;18.3)创建用例维护表,用于存储对测试用例进行解析后的内容;19.4)创建用例更新事件队列;20.5)订阅用例更新事件队列和生效失效事件队列。21.进一步的,所述页面全量元素维护模块初始化包括如下方面:22.1)启动页面录制服务;23.2)启动页面解析服务;24.3)启动页面比对服务;25.4)创建页面元素存储表;26.5)创建消息失效/生效队列;27.6)订阅用例更新事件队列和生效失效事件队列。28.进一步的,所述页面全量元素维护模块对拦截到的页面元素信息进行解析,并将解析后的页面元素与页面全量元素引用表中的信息进行比对包括如下步骤:29.1)解析本地文件系统中存储的页面全量元素文件,获取经过拦截解析后的所有页面id信息组成集合;30.2)从页面全量元素维护表中查询出所有元素label的id集合;31.3)将拦截解析后的所有元素label的id集合和通过数据库查询到的所有元素label的id集合按如下规则进行比对:32.a)对于拦截解析后的所有元素label的id集合中不存在但从全量元素维护表中查询出所有的元素label的id集合中存在的页面元素,删除页面全量元素引用表中页面元素id对应的数据,并发起监听事件通知到消息中间件;33.b)对于拦截解析后的所有元素label的id集合中存在但从全量元素维护表中查询出所有的元素label的id集合中的不存在页面元素,直接加入至页面全量元素引用表,并发起监听事件通知到消息中间件。34.进一步的,还包括手动将失效或生效事件输入到自动化测试纠错装置,纠错步骤如下:35.1)输入失效或生效通知事件;36.2)对接收到的消息格式和数据值进行校验,如果校验失败,将错误信息直接反馈给使用用户,并终止流程;如果校验通过,发送给消息中间件;37.3)消息中间件接收到事件通知后发送到用例维护模块。38.4)用例维护模块接收消息并按事件类型更新用例。39.本发明第二目的在于提供一种自动化测试纠错装置,包括:40.初始化模块,用于用例维护模块和页面全量元素维护模块初始化;41.用例维护模块,用于对导入的测试用例进行解析,将解析的内容存储到用例维护表中,并生成用例更新事件发送给更新事件队列;42.页面全量元素维护模块,用于接收用例更新事件,并对接收到的用例更新事件进行解析后存储至页面全量元素维护表中,以及在录制过程中拦截页面信息,对拦截到的页面元素信息进行解析,将解析后的页面元素与页面全量元素维护表中的信息进行比对,生成失效或生效通知事件发送给消息中间件;43.消息中间件,用于用例维护模块和页面全量元素维护模块之间消息事件的收发。44.进一步的,还包括自动化执行引擎,用于在用例纠错处理完成后,接收用例维护模块变更后的用例并将其纳入引擎的执行过程中。45.进一步的,所述用例维护模块包括:46.用例解析模块,用于对用户导入的用例解析,将用例中的元素解析出来,形成用例与元素集合关系;47.用例解析存储模块,用于解析后的用例存储至用例维护表中;48.用例脚本存储文件系统,用于存储用例脚本;49.消息收发模块一,负责发送用例更新事件,接收页面元素失效/生效事件,并基于接收事件对用例进行更新;50.所述页面全量元素维护模块包括:51.页面录制模块,用于对输入的页面进行整体的录制,同时在对页面进行录制后设置拦截点,并将拦截到的全量元素信息存入本地文件系统内;52.页面解析模块,用于对录制页面的每个页面元素进行解析,获取其中的元素id信息;53.元素信息比对模块,用于将页面录制解析后的信息与用户已有的用例元素信息进行比对;54.页面全量元素存储模块,用于存储页面解析后的元素,同时在接收到用例更新事件时,也会更新存储中的label与用例的关系。55.消息收发模块二,负责发送失效/生效事件,接收用例更新事件,并执行接收事件后的更新动作。56.采用本发明技术方案,在被测环境进行冒烟时,调用由用例维护模块推送状态为有效的用例,可保证在通过自动化测试脚本进行冒烟过程中不会因为页面元素发生变动,造成用例脚本执行的不稳定性的情况。附图说明57.为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。58.图1为现有一种自动化测试脚本录制功能流程示意图;59.图2为本发明实施例一种自动化测试纠错装置原理框图;60.图3为本发明实施例的用例维护模块的初始化流程示意图;61.图4为本发明实施例的页面全量元素维护模块的初始化流程示意图;62.图5为本发明实施例用例维护模块的用户导入测试用例流程示意图;63.图6为本发明实施例页面全量元素维护模块更新事件流程示意图;64.图7为本发明实施例页面全量元素维护模块维护生效、失效事件的流程图;65.图8为本发明实施例用例维护模块对生效、失效事件处理的流程示意图;66.图9为本发明实施例手动输入生效、失效事件的纠错流程示意图。具体实施方式67.下面结合本发明实施例附图,对本发明实施例中的技术进行清楚、完整地描述。所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。68.实施例169.如图2所示,为本发明实施例的自动化测试纠错装置整体架构图,整体的框架分为两个核心模块:用例维护模块和页面全量元素维护模块。70.所述页面全量元素维护模块可在用例的录制过程中设置拦截点,对待测页面元素信息进行收集,同时对待测试页面元素进行分析,并将分析出来的信息转为生效、失效消息事件通知到用例维护模块。71.所述用例维护模块负责对导入的用例进行维护,并结合通知事件,以用例和页面的引用关系为基础,来对用例执行“失效”和“生效”。所述可来自于自动监测和用户手动输入。72.下面,具体介绍本实施例纠错装置的整体架构图。参见图2。73.p1:用户层接口74.用于提供用户与纠错装置的交互,提供了用例导入接口/页面录制接口/生效失效事件发送接口。所有的接口以rest接口形式提供给用户使用。75.p2:用例维护模块76.负责对用户导入的用例进行管理,其核心的功能如下:77.lm1:用例解析模块,负责对用户导入的用例解析,将用例中的元素解析出来,形成1:n的用例与元素集合关系,即一个用例可对应多个元素集合。如:78.{testcase:labelid1,labelid2,……}。79.lm2:用例解析存储模块,解析后的用例需要存储至某个用户自己的用例表中,本模块负责对用例和label关系进行持久化维护,其真实的用例脚本会存储再lm3中。80.lm3:用例脚本存储文件系统,用例的真实脚本存储点,本实施例中使用本地文件系统。81.lm4:消息收发模块一,负责发送用例更新事件,接收页面元素失效/生效事件,并基于接收事件对用例进行更新。82.p3:页面全量元素维护模块83.rm1:页面录制模块,负责对输入的页面进行整体的录制,同时在对页面进行录制后设置拦截点,并将拦截到的全量元素信息存入本地文件系统内。84.rm2:页面解析模块,负责对录制页面的每个页面元素进行解析,获取其中的元素id信息。85.rm3:元素信息比对模块,将页面录制解析后的信息与用户已有的用例元素信息进行比对。发现新增和删除元素,并将以此生成失效和生效事件。86.在本实施例中,元素的变化包括新增和删除两种情形,元素新增包括元素修改。本实施例将元素新增定义为生效事件,将元素删除定义为失效事件。需要说明的是,元素变化以及事件类型,也可以根据情况做另外的定义。87.rm4:页面全量元素存储模块,存储页面解析后的元素,同时在接收到用例更新事件时,也会更新存储中的label与用例的关系。88.rm5:消息收发模块二,负责发送失效/生效事件,接收用例更新事件,并执行接收事件后的更新动作。89.p4:消息中间件90.本实施例中使用kafka消息中间件,其负责对topic的生产和消费,具体的kafka是开源成熟技术,不在本实施例中赘述。kafka是一个分布式的发布-订阅消息系统,topic是指消息发布者和订阅者之间的传输中介,通过topic实现消息的发送和接收,从而实现服务端与设备端的通信。91.p5:第三方自动化执行引擎模块92.将纠错后的用例,通过第三方自动化用例测试框架的api导入并进行用例的执行。该第三方自动化执行引擎模块是现有技术,本实施例中不多描述。93.实施例294.本实施例的自动化测试纠错方法包括以下步骤,参见图2:95.1)自动化测试纠错装置初始化:在单台服务器上部署本实施例的额自动化测试纠错装置工具,启动自动化纠错装置的两个核心模块用例维护模块和页面全量元素维护模块,其中包含用例解析服务、页面录制服务、页面解析服务、页面对比服务等;96.2)用例维护模块进行测试用例的导入;自动化测试纠错装置将导入的测试用例存储至文件系统中,导入的测试用例进行解析后,用例解析的内容存储到用例维护表中,并生成用例更新事件发送给消息中间件的更新事件队列。97.3)页面全量元素维护模块通过消息收发模块二接收到用例更新事件,对接收到的用例更新事件进行解析,并存储至页面全量元素维护表中。98.4)页面全量元素维护模块在录制过程中拦截页面信息并进行比对分析,并生成失效或生效通知事件通过消息收发模块二发送到消息中间件,具体包括如下步骤:99.用户输入页面地址信息,页面元素维护模块打开页面地址进行录制;100.拦截完整的页面元素信息,对拦截到的页面元素信息进行解析;101.对解析后的页面元素与页面全量元素维护表中的信息进行比对,如发现新增或删除,则直接生成失效、生效通知事件。102.5):用例维护模块通过消息收发模块一从消息中间件接收到生效或失效事件后,进行解析,更新用例维护表,完成对测试用例的纠错和维护。具体步骤如下:103.对生效事件进行解析:通过页面元素进行判断,如果用例更新表中存在解析的页面元素,则从用例维护表中移除;104.对失效事件进行解析:通过页面元素进行判断,如果用例更新表中不存在解析的页面元素,则页面元素加入到用例维护表中。105.以上是本实施例自动化测试纠错装置的纠错工作流程。本实施例中,纠错装置在发现用例纠错处理完成后,可进一步将变更后的用例推送至自动化执行引擎。106.第三方自动化执行引擎在收到测试用例后,将其纳入引擎的执行过程中。并在执行完后,将执行结果反馈给纠错装置,纠错装置最终通过接口反馈给用户终端。107.在本实施例中,在单台服务器上部署自动化测试纠错装置服务,需要进行相关服务的初始化,如图3中相关服务的初始化流程示意图。本实施例的相关服务的初始化包含两块内容:用例维护模块初始化和页面全量元素维护模块初始化。108.下面,详细介绍本实施例的用例维护模块初始化流程,参见图3。109.步骤101:启动用例解析服务。在安装完自动化测试纠错装置服务后,需要启动用例解析服务。110.步骤102:创建文件系统用例存储目录,本实施例中系统用例存储目录如下所示:111.f:\autotest\testcase\testcase1.py。112.步骤103:创建用例维护表。在本实施例中,用例维护表testcase通过以下sql语句进行创建,表内信息通过oracle数据库进行存储:113.createtabletestcase(caseaddressvarchar2(20)notnull,testcaseidvarchar2(20)notnull,caseaddressvarchar2(20)notnullunworkablevarchar2(20),tagchar(1))114.本实施例创建的“用例维护表”表结构的具体信息如表1所示:115.表1:用例维护表表结构[0116][0117]表1中各字段说明如下:[0118]id:表示用例维护表行数据的唯一标识。本实施例中,从1开始升序标识。[0119]caseaddress:表示测试用例的实际文件保存地址。如,本实施例的用例维护表中实际文件保存地址为f:\autotest\testcase\testcase1.py。[0120]testcaseid:表示对应的测试用例id。如,本实施例的用例维护表中,对应的第一条测试用例id为testcase1。[0121]unworkable:表示测试用例中失效的页面元素label的id集合。如,本实施例的用例维护表中,第一条测试用例的页面元素label的id集合为labelid1,labelid2。一个测试用例对应的元素label可以是一个或多个。[0122]tag:表示用例的状态为生效还是失效,生效用例用true标识,失效用例用false标识。在oracle数据库中通过1代表生效,0代表失效。[0123]步骤104:创建用例更新事件队列。本实施例的纠错装置服务在启动时需要创建用例更新事件队列,存放用例更新事件。[0124]步骤105:订阅用例更新事件队列和生效失效事件队列。本实施例中,通过kafka消息中间件进行用例更新事件队列和生效失效事件队列的订阅。[0125]下面,详细介绍本实施例的页面全量元素维护模块初始化流程,参见图4。[0126]步骤201:启动页面录制服务。本实施例纠错装置服务在启动时需要启动页面录制服务,录制加拦截页面元素需要用到该服务。[0127]步骤202:启动页面解析服务。本实施例纠错装置服务在启动时需要启动页面录制服务,对拦截到的页面元素进行解析时,需要用到该服务。[0128]步骤203:启动页面比对服务,本施例纠错装置服务在启动时需要启动页面比对服务,对解析后的页面元素和页面全量元素维护表中的页面元素进行比对时,需要用到该服务。[0129]步骤204:创建页面全量元素引用表。在本实施例中,所述页面全量元素引用表pagefullelement通过以下sql语句进行创建,表内信息通过oracle数据库进行存储。[0130]createtablepagefullelement(pageidvarchar2(20)notnull,labelidvarchar2(20),reftestcasevarchar2(200))[0131]本实施例创建的“页面全量元素引用表”,表结构的具体信息如表2所示:[0132]表2:页面全量元素引用表[0133]idpageidlabelid集合reftestcase[集合]1pageid1labelid1,labelid2testcase1,testcase22pageid2labelid3,labelid4,……testcase3,testcase4,……[0134]表2中各字段说明如下:[0135]id:表示页面全量元素引用表行数据的唯一标识。本实施例中,从1开始升序标识。[0136]pageid:表示页面的id。如,本实施例中,拦截到的第一个页面的id为pageid1。[0137]labelid:表示页面内的元素labelid。如,本实施例中,拦截到的第一个页面内的元素labelid为labelid1,labelid2。[0138]reftestcase:表示与页面内的元素label相关的测试用例id集合。如,本实施例中,与第一个页面内的元素label相关的测试用例id集合为testcase1,testcase2。表2的测试用例id和用例维护表中的testcaseid字段为对应关系。[0139]步骤205:创建消息失效/生效队列。本实施例纠错装置服务在启动时需要创建页面元素更新事件队列,存放生效/失效的页面元素。[0140]步骤206:订阅用例更新事件队列 生效失效事件队列。本实施例中通过kafka消息中间件进行用例更新事件队列 生效失效队列的订阅。[0141]本实施例的自动化测试纠错装置在使用过程中需要用户导入具体的测试用例,具体的流程说明如下,如图5所示。[0142]步骤301:用例维护模块解析用例。用例维护模块解析用户导入的自动化测试用例,本实施例中,导入的自动化测试用例可以是一个或多个,如:[0143]testcase1.py,testcase2.py;[0144]本实施例中,纠错装置对自动化测试用例进行解析包括对用例中元素label的id的解析。本实施例中的解析,可以通过现有技术,如通过正则表达式:/id=".*"/对元素label的id进行解析,解析的文件内容格式如下:[0145]self.driver.find_element_by_id(‘//*[@id=”labelid1”]’),[0146]解析的目的,是为了获取到所有的元素label的id,汇总成页面元素label引用集合。以下是将解析后的用例和页面元素对应关系放入用例维护表中,用例和页面元素对应关系如下所示:[0147][0148]步骤302:根据用例的名称判断用例是否存在;[0149]步骤303:如果用例名称已存在,则直接结束流程;如果用例名称不存在,则将s1中解析的内容存储至用例维护表中,同时存储到本地文件系统中,本实例中本地文件系统如下:[0150]f:\autotest\testcase\testcase1.py;[0151]步骤304:生成用例更新事件,通过如下消息格式发送用例通知事件,topic和消息格式如下:[0152][0153]步骤305:将生成的用例更新事件发送到用例更新队列中。[0154]本实施例中,页面全量元素维护模块接收用例更新事件,进行更新事件处理的具体流程如下,参见图6。[0155]步骤401:用例维护模块发送用例更新事件。本实施例中,用例维护模块发送用例更新事件到消息收发模块一,再通过kafka消息中间件发送更新事件。[0156]步骤402:消息中间件接收消息。本实施例中,topic:/testcase/new接收到更新事件。[0157]步骤403:消息中间件通知订阅用例更新队列的订阅者,即页面全量元素维护模块。[0158]步骤404:页面全量元素维护模块解析更新事件。本实施例中,页面全量元素维护模块通过消息收发模块二从kafka消息中间件对用例事件topic:/testcase/new进行监听,即接收用例更新事件。[0159]步骤405:页面元素维护模块更新元素和用例的对应关系。本实施例中,接收topic发送的消息后,对接收到的消息进行解析为如下格式:{submitbutton:testcase1},同时将对应的信息存入页面全量元素引用表中。[0160]本实施例中,所述页面全量元素维护模块对拦截到的页面元素信息进行分析比对,并发送事件。具体流程如下,参见图7。[0161]步骤501:页面全量元素维护模块拦截页面信息:本实施例中在页面进行自动化脚本录制的过程中,通过javascript的通用监听方法对包括页面元素id、xpath、css以及页面元素对应的事件如click、onclick等对像进行拦截;[0162]步骤502:页面全量元素维护模块对拦截到的页面信息进行解析。本实施例中对拦截到的页面信息进行解析包含如下步骤:[0163]对拦截的内容通过正则表达式:/id=".*"/进行解析,获取到所有的元素label的id,最终得到一个页面id与一个或多个元素id的关联关系。页面id与一个或多个元素id对应关系如下:[0164]body:{[0165]pageid:pageid1。//页面id[0166]labelid:{labelid1//每个元素对应的id}[0167]}[0168]同时将解析后的页面信息存入本地文件系统,其中所述的本地文件系统如下所示:f:\autotest\pagefullelement\pageelement1json。[0169]步骤503:拦截到的页面信息和页面全量元素表进行比对。[0170]以下是本实施例对拦截到的页面信息和页面全量元素表比对。具体包括如下步骤:[0171]1)解析本地文件系统中存储的页面全量元素文件pageelement1json,获取到所有的页面id信息组成集合pageids{pageid1,pageid2},获取到所有的元素label的id组成集合:afterlabelids{labelid1,labelid2,labelid5};[0172]2)借助sql语句从全量元素维护表中查询出所有的元素label的id集合beforelabelids{labelid1,labelid2,labelid3};[0173]sql语句如下所示:[0174]selectlabelidfrompagefullelementwherepageidin(pageids)[0175]3)将拦截解析后的所有元素label的id集合afterlabelids和通过数据库查询到的所有元素label的id集合beforelabelids进行比对。[0176]步骤505:判断是否存在新增:集合afterlabelids中不存在并且集合beforelabelids中存在的页面元素,判定为新增。[0177]步骤507:直接将新增内容加入至页面全量元素引用表。[0178]步骤509:生成生效事件:对新增的内容发起“生效”监听事件通知到消息中间件中,定义的topic格式:/pagefullelement/update,监听格式如下:[0179][0180]步骤504:判断是否存在删除。集合afterlabelids中存在并且集合beforelabelids中不存在的页面元素,判定为删除。[0181]步骤506:删除页面全量元素引用表中页面元素id对应的数据。[0182]步骤508:生成失效事件。定义的topic格式:/pagefullelement/update,监听格式如下:[0183][0184][0185]步骤510:页面全量元素维护模块发送事件至消息中间件。本实施例中将topic:/pagefullelement/update消息发送到kafka消息中间件中。[0186]本实施例中,所述用例维护模块接收到生效或失效事件,对内部的用例进行纠错。具体的纠错流程如图8所示:[0187]步骤601:用例维护模块监接收到元素变更事件topic。[0188]步骤602:按事件种类分支判断。通过body中的status进行事件分类,两类的监听处理机制分别如下:[0189](一)失效事件[0190]步骤604:匹配失效关联的所有用例。如果接收到的是失效事件,解析到topic(/pagefullelement/update)消息中的页面元素“labelid”和页面元素对应的测试用例“reftestcase”的对应关系,和用例维护模块中的测试用例“testcaseid”和失效元素集合“unworkable”建立对应比对关系。[0191]步骤606:匹配行的unworkable中加入失效label:如果在“unworkable”列中不存在的元素“labelid”,则加入“unworkable”集合中。[0192]步骤608:获取对应的匹配行的tag状态。[0193]步骤610:将匹配行的tag状态置为false。[0194](二)生效事件[0195]步骤603:匹配用例的unworkable中存在生效label的用例行。如果监听到的是生效事件,解析到topic(/pagefullelement/update)消息中的页面元素“labelid”和页面元素对应的测试用例“reftestcase”的对应关系,和用例维护模块中的测试用例“testcaseid”和失效元素集合“unworkable”建立对应比对关系。[0196]步骤605:从匹配的unworkable集合中删除生效label。如果在“unworkable”列中存在的元素“labelid”,则从“unworkable”集合中移除。[0197]步骤607:获取对应的匹配行的tag状态。[0198]步骤609:将匹配行的tag状态置为true。如果当前“unworkable”集合中只有一个元素且被移除后,则将用例维护表表中,对应的tag状态置为true。[0199]实施例3[0200]除了通过录制的自动化脚本中页面元素事件和定位可以定期进行自动化更新外,本实施例的纠错装置还可以维护手动编写的自动化测试脚本。在有些场景下,用例会将旧版本的用例先导入,但在针对新版本使用时,会有部分需要调整。这种情况下,用户可通过一次性批量导入测试用例集,然后再对页面元素调整的地方进行全部修改。但如果逐个用例进行修改,那将十分耗时且易错。本实施例中,可通过自定义页面元素变更事件,将其通知给用例维护模块,由其进行一次性的全部修订。[0201]以下是具体操作流程,参见图9:[0202]步骤701:用户构建失效或生效通知事件,并通过本发明的纠错装置的p1用户接口层传入通知事件,事件的编写格式如下:[0203]{[0204]from:{type:auto}[0205]head:{version:1.0}[0206]body:{[0207]pageid:”pageid1”//页面id。[0208]labelid:”labelid3”//页面元素id。[0209]status:”false”//消息值分为“true”和“false”,生效或失败。[0210]timestamp:”2021-10-0508:30:31”。//消息发送的时间[0211]}[0212]}[0213]步骤702:用户通过本实施例纠错装置的用户接口层传入通知事件,接口层接收到消息后,对事件中的格式和数据值进行校验。[0214]步骤703:接口层对接收到的消息格式校验是否正确。对消息中的数据值进行校验,检查其中的pageid/labelid是否不为空,检查status状态是否为true和false范围内。[0215]步骤705:接口层对接收到的消息格式校验失败,则将错误信息直接反馈给使用用户,并终止流程。[0216]步骤704:检查如果通过,发送给消息中间件。[0217]步骤706:消息中间件在生效失效事件队列收到新通知时,会将该消息推送给队列的订阅者,即本实施例纠错装置中的用例维护模块。[0218]步骤707:用例维护模块接收消息并按事件类型更新用例,更新用例的流程同图8的流程。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献