数据存储方法、装置、存储介质及电子装置与流程
未命名
08-26
阅读:109
评论:0
1.本技术涉及数据存储领域,具体而言,涉及一种数据存储方法、装置、存储介质及电子装置。
背景技术:
2.网络产品界面设计(website user interface,简称为webui)在自动化用例的测试步骤中,会产生大量的页面和页面元素,目前的相关技术对页面对象和事件对象的管理较为复杂,导致当页面和页面元素发生变更时,自动化用例的可用性较差。
3.针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
4.本发明实施例提供了一种数据存储方法、装置、存储介质及电子装置,以至少解决相关技术中由于页面和页面元素的管理较为复杂,导致当页面和页面元素发生变更时,自动化用例的可用性较差的技术问题。
5.根据本发明实施例的一个方面,提供了一种数据存储方法,包括:获取对被测网站系统进行测试所产生的页面、组件和操作信息;对页面、组件和操作信息进行封装,得到多个页面对象和多个事件对象;基于多个页面对象和多个事件对象,构建有向图,其中,有向图用于表征多个页面对象和多个事件对象之间的执行顺序;对有向图进行存储。
6.可选地,对页面、组件和操作信息进行封装,得到多个页面对象和多个事件对象,包括:确定页面中同一个操作对应的至少一个页面,以及同一个操作对应的至少一个组件,并将至少一个页面和至少一个组件封装成同一个页面对象;将同一个操作的操作信息封装成同一个事件对象。
7.可选地,确定页面中同一个操作对应的至少一个页面,包括:确定同一个操作执行之前的第一时刻和同一个操作执行之后的第二时刻;获取被测网站系统在第一时刻输出的第一页面和第二时刻输出的第二页面;基于第一页面和第二页面,得到同一个操作对应的至少一个页面。
8.可选地,在利用多个测试用例对被测网站系统进行测试的情况下,方法还包括:确定页面、组件、操作信息与多个测试用例的目标映射关系;基于目标映射关系,确定多个页面对象与多个测试用例的第一映射关系,以及多个事件对象与多个测试用例的第二映射关系;基于第一映射关系,生成多个页面对象的第一标签;基于第二映射关系,生成多个事件对象的第二标签。
9.可选地,在对页面、组件和操作信息进行封装,得到多个页面对象和多个事件对象之后,方法还包括:响应于多个页面对象中至少一个页面发生变化,对多个页面对象进行扫描,确定至少一个页面对应的目标页面对象,其中,目标页面对象中包含有至少一个页面;对多个页面对象进行更新,并控制多个页面对象中除目标页面对象之外的其他页面对象保持不变。
10.可选地,在对页面、组件和操作信息进行封装,得到多个页面对象和多个事件对象之后,方法还包括:响应于操作信息中至少一个操作信息发生变化,对多个事件对象中至少一个操作信息对应的目标事件对象进行替换,并控制多个事件对象中除目标事件对象之外的其他事件对象保持不变。
11.可选地,上述方法还包括:将页面、组件和操作信息存储至关系型数据库。
12.可选地,对有向图进行存储,包括:将有向图存储至非关系型数据库。
13.可选地,上述方法还包括:对页面对应的组件信息进行缓存。
14.根据本发明实施例的另一方面,还提供了一种数据存储装置,其特征在于,包括:获取模块,用于获取对被测网站系统进行测试所产生的页面、组件和操作信息;封装模块,用于对页面、组件和操作信息进行封装,得到多个页面对象和多个事件对象;构建模块,用于基于多个页面对象和多个事件对象,构建有向图,其中,有向图用于表征多个页面对象和多个事件对象之间的执行顺序;存储模块,用于对有向图进行存储。
15.根据本发明实施例的另一方面,还提供了一种计算机可读的存储介质,其特征在于,计算机可读的存储介质包括存储的程序,其中,程序运行时执行上述任一项的方法。
16.根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器和处理器,其特征在于,存储器中存储有计算机程序,处理器被设置为通过计算机程序执行权利要求1至8中任一项的方法。
17.在本技术实施例中,获取对被测网站系统进行测试所产生的页面、组件和操作信息,对页面、组件和操作信息进行封装,得到多个页面对象和多个事件对象,基于多个页面对象和多个事件对象,构建有向图,对有向图进行存储。通过以上方法,将页面和组件封装成页面对象,将操作信息封装成事件对象,当页面和页面元素发生变更时,只需要修改对应的页面对象或事件对象,全量的业务用例即可用,达到了简化页面及页面元素的管理的目的,从而实现了提高自动化用例的可用性的技术效果,进而解决了相关技术对于页面和页面元素的管理较为繁杂,导致当页面和页面元素发生变更时,自动化用例的可用性较差的技术问题。
附图说明
18.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
19.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
20.图1是根据本技术实施例的一种智能设备的交互方法的硬件环境示意图;
21.图2是根据本技术实施例的一种数据存储方法的示意图;
22.图3是根据本技术实施例的一种有向图的示意图;
23.图4是根据本技术实施例的一种数据分解的示意图;
24.图5是根据本发明实施例的一种数据存储装置的示意图。
具体实施方式
25.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
26.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.实施例1
28.根据本技术实施例的一个方面,提供了一种智能家居设备的交互方法。该智能家居设备的交互方法广泛应用于智慧家庭(smart home)、智能家居、智能家用设备生态、智慧住宅(intelligence house)生态等全屋智能数字化控制应用场景。可选地,图1是根据本技术实施例的一种硬件环境的示意图,在本实施例中,上述智能家居设备的交互方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
29.上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:wifi(wireless fidelity,无线保真),蓝牙。终端设备102可以并不限定于为pc、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。
30.图2是根据本技术实施例的一种数据存储方法的示意图,如图2所示,该方法包括如下步骤:
31.步骤s202,获取对被测网站系统进行测试所产生的页面、组件和操作信息。
32.其中,被测网站系统可以理解为需要进行自动化测试的网站系统,页面是构成网站系统的基本元素,可以理解为一种信息页面形式,可以包括图形、文字、声音和视像等信息,组件可以理解为对网站系统的数据和方法进行封装的实体,可以用于进行业务逻辑的处理,操作信息可以理解为用户在网站上执行的操作,例如从地址栏查找信息、在网页中查找信息、在网页间跳转等。
33.具体地,可以在当需要对自动化用例进行测试时,获取对被测网站系统进行测试所产生的页面、组件和操作信息。
34.在一种可选的实施例中,可以通过后端框架、浏览器插件等获取对被测网站系统进行测试所产生的页面、组件和操作信息。
35.步骤s204,对页面、组件和操作信息进行封装,得到多个页面对象和多个事件对象。
36.其中,多个页面对象可以理解为对页面和组件进行封装后得到的多个对象,多个事件对象可以理解为对用户的操作信息进行封装后得到的多个对象。
37.具体地,封装是面向对象编程的三大特征之一,可以理解为将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。对页面、组件和操作信息进行封装,可以在页面和页面元素发生变更时,只修改对应的页面对象或事件对象,全量的业务用例即可用,达到了简化页面及页面元素的管理的目的。
38.在一种可选的实施例中,多个页面对象可以包括页面和组件中的所有数据,例如图形、文字、声音和视像等数据,多个事件对象可以包括操作信息中的所有数据,例如用户执行从地址栏查找信息、在网页中查找信息、在网页间跳转等操作产生的数据。
39.在另一种可选的实施例中,可以通过访问修饰符来实现对页面、组件和操作信息进行封装,得到多个页面对象和多个事件对象,其中,修饰符可以理解为一种用于限定类型以及类型成员的声明的一种符号。
40.在另一种可选的实施例中,对页面、组件和操作信息进行封装,可以是将关系型数据存储到关系型数据库中,将非关系型数据存储到非关系型数据库中。
41.步骤s206,基于多个页面对象和多个事件对象,构建有向图,其中,有向图用于表征多个页面对象和多个事件对象之间的执行顺序。
42.其中,有向图可以理解为有方向的连线组成的图像。
43.可以理解的是,构建有向图可以便于后续对组件或者页面可达性的关系分析,其中,可达性可以理解为从一个顶点到另一个顶点的容易程度,可以通过识别图的连接分量来确定所有顶点对之间的可达性,在本技术实施例中,可以理解为一个页面切换为另一个页面的容易程度。
44.图3是根据本技术实施例的一种有向图的示意图,如图3所示,在本技术实施例中,可以采用页面对象和事件对象描绘出页面1、页面2及页面3的有向图。具体过程为:通过获取页面对象和事件对象中的所有数据,包括但不限于页面要素、组件、用户的操作信息等,得出页面1、页面2及页面3之间的关联性,基于获得的关联性,描绘出有向图如图3所示,从图3中可以看出,页面1和页面3之间的关联是双向的,可以互相切换,页面1和页面2之间的关联是单向的,只能页面1切换成页面2,页面2和页面3之间没有关联。
45.步骤s208,对有向图进行存储。
46.在一种可选的实施例中,可以将有向图存储到数据库中,也可以使用邻接表、邻接矩阵等方式进行存储,本技术对此不做限定,在本技术实施例中,以将有向图存储到neo4j数据库中为例。
47.可以理解的是,将有向图进行存储,可以在之后需要对页面的可达性进行分析时,
可以直接从数据库中获取对应页面的有向图,无需重复绘制,提高工作效率。
48.具体地,neo4j数据库是一个高性能的图形数据库,也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性,neo4j数据库具有嵌入式、高性能、轻量级等优势。
49.通过以上步骤,获取对被测网站系统进行测试所产生的页面、组件和操作信息,对页面、组件和操作信息进行封装,得到多个页面对象和多个事件对象,基于多个页面对象和多个事件对象,构建有向图,对有向图进行存储。通过以上方法,将页面和组件封装成页面对象,将操作信息封装成事件对象,当页面和页面元素发生变更时,只需要将对应的页面对象或事件对象进行替换,全量的业务用例即可用,达到了简化页面及页面元素的管理的目的,从而实现了提高自动化用例的可用性的技术效果,进而解决了相关技术对于页面和页面元素的管理较为繁杂,导致当页面和页面元素发生变更时,自动化用例的可用性较差的技术问题。
50.可选地,对页面、组件和操作信息进行封装,得到多个页面对象和多个事件对象,包括:确定页面中同一个操作对应的至少一个页面,以及同一个操作对应的至少一个组件,并将至少一个页面和至少一个组件封装成同一个页面对象;将同一个操作的操作信息封装成同一个事件对象。
51.可以理解的是,至少一个页面和至少一个组件封装成同一个页面对象,并将同一个操作的操作信息封装成同一个事件对象之后,其他用户无法使用对象名、属性名等对数据进行修改,提高了数据的安全性,且当有多个调用者在使用的时候,只需要调用方法即可,简化了外部调用,便于用户操作,同时可以增强代码的复用性,提高工作效率。
52.可选地,确定页面中同一个操作对应的至少一个页面,包括:确定同一个操作执行之前的第一时刻和同一个操作执行之后的第二时刻;获取被测网站系统在第一时刻输出的第一页面和第二时刻输出的第二页面;基于第一页面和第二页面,得到同一个操作对应的至少一个页面。
53.其中,第一时刻可以理解为执行某一操作之前的时刻,第二时刻可以理解为执行该操作之后的时刻,例如,假设某一操作为“鼠标点击搜索栏”,则第一时刻可以是鼠标点击搜索栏的前一秒,第二时刻可以是鼠标点击搜索栏的后一秒,第一页面可以是鼠标点击搜索栏的前一秒输出的页面,第二页面可以是鼠标点击搜索栏的后一秒输出的页面。
54.具体地,上述步骤可以理解为将每次动作之前和之后的页面作为上述至少一个页面,将每次动作之前和之后的页面及其组件进行封装,可以提高数据的安全性,且当有多个调用者在使用的时候,只需要调用方法即可,简化了外部调用,便于用户操作,同时可以增强代码的复用性,提高工作效率。
55.可选地,在利用多个测试用例对所述被测网站系统进行测试的情况下,上述方法还包括:确定页面、组件、操作信息与多个测试用例的目标映射关系;基于目标映射关系,确定多个页面对象与多个测试用例的第一映射关系,以及多个事件对象与多个测试用例的第二映射关系;基于第一映射关系,生成多个页面对象的第一标签;基于第二映射关系,生成多个事件对象的第二标签。
56.其中,目标映射关系可以理解为页面、组件、操作信息与多个测试用例之间的对应关系,第一映射关系可以理解为多个页面对象与多个测试用例之间的对应关系,第二映射
关系可以理解为多个事件对象与多个测试用例之间的对应关系,第一标签可以理解为包含多个页面对象在多个测试用例中的信息的标签,第二标签可以理解为包含多个事件对象在多个测试用例中的信息的标签。
57.在一种可选的实施例中,第一标签可以以文本(例如文字、数字、字母等至少之一)和/或图像(例如图片、图案、图形等至少之一)的形式反馈,例如,第一标签可以以文字的形式反馈为“页面对象1面,将该标签打到某一页面对象上,用于表征该页面对象为多个测试用例中的第一个页面对象,第二标签可以以文本(例如文字、数字、字母等至少之一)和/或图像(例如图片、图案、图形等至少之一)的形式反馈,例如,第二标签可以以文字的形式反馈为“事件对象1件,将该标签打到某一事件对象上,用于表征该事件对象为多个测试用例中的第一个事件对象。
58.可以理解的是,由于多个页面对象是由页面及组件封装而成的,因此可以基于页面、组件与多个测试用例的目标映射关系,确定多个页面对象与多个测试用例的第一映射关系,同样的,由于多个事件对象是由操作信息封装而成的,因此可以基于操作信息与多个测试用例的目标映射关系,确定多个事件对象与多个测试用例的第二映射关系。
59.具体地,为多个页面对象打上标签,可以将多个页面对象进行区分,便于之后当有页面发生变化时,精准确定到对应的页面对象,从而可以进行替换,为多个事件对象打上标签,可以将多个事件对象进行区分,便于之后当有事件发生变化时,精准确定到对应的事件对象,从而可以进行替换。通过以上方法可以提高数据的复用性。
60.可选地,在对页面、组件和操作信息进行封装,得到多个页面对象和多个事件对象之后,上述方法还包括:响应于多个页面对象中至少一个页面发生变化,对多个页面对象进行扫描,确定至少一个页面对应的目标页面对象,其中,目标页面对象中包含有至少一个页面;对多个页面对象进行更新,并控制多个页面对象中除目标页面对象之外的其他页面对象保持不变。
61.其中,目标页面对象可以理解为有页面发生了变化的页面对象。
62.在一种可选的实施例中,可以通过扫描工具对多个页面对象进行扫描,例如awvs(acunetix web vulnerability scanner)、ibm appscan(ibm security appscan standard)等。
63.可以理解的是,当封装好的页面对象中有有至少一个页面对象发生变化时,可以通过扫描工具对变化后的多个页面对象进行扫描,得到发生变化的页面所对应的页面对象,然后将该页面对象进行替换,全量的业务用例即可用。通过上述方法,当有页面发生变化后,仅仅需要替换对应的一个页面对象即可,无需对整个用例中的所有页面对象都进行替换,实现了在业务流程变动较小的前提下,测试用例的高替换性。
64.在另一种可选的实施例中,页面发生的变化可以包括页面的布局和配色上的改变,也可以包括页面中内容发生的变化,本技术对此不做限定。
65.可选地,在对页面、组件和操作信息进行封装,得到多个页面对象和多个事件对象之后,上述方法还包括:响应于操作信息中至少一个操作信息发生变化,对多个事件对象中至少一个操作信息对应的目标事件对象进行替换,并控制多个事件对象中除目标事件对象之外的其他事件对象保持不变。
66.其中,目标事件对象可以理解为有事件发生了变化的事件对象。
67.在一种可选的实施例中,可以通过手动操作对多个事件对象中至少一个操作信息对应的目标事件对象进行替换。
68.可以理解的是,当封装好的事件对象中有有至少一个操作信息发生变化时,可以通过手动操作对多个事件对象中至少一个操作信息对应的目标事件对象进行替换,全量的业务用例即可用。通过上述方法,当有操作信息发生变化后,仅仅需要替换对应的一个事件对象即可,无需对整个用例中的所有事件对象都进行替换,实现了在业务流程变动较小的前提下,测试用例的高替换性。
69.在另一种可选的实施例中,操作信息发生的变化可以包括鼠标操作发生的变化,例如,从单击打开网页变化成了双击才能打开网页,本技术对此不做限定。
70.可选地,上述方法还包括:将页面、组件和操作信息存储至关系型数据库。
71.其中,关系型数据库可以理解为采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称作表,一组表可以组成一个数据库,在本技术实施例中,以mysql数据库为例。
72.具体地,将页面、组件和操作信息存储至关系型数据库中,可以利用关系型数据库的特性,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,通过上述方法,可以加快数据处理的速度,提高了数据的灵活性。
73.图4是根据本技术实施例的一种数据分解的示意图,如图4所示,页面对象中包括组件,事件对象中包括操作信息,可以根据图4中的数据分解,将数据存储到mysql数据库,将页面、组件和操作信息抽离出来,以便于将不同类型的数据存储到不同类型的数据库中。
74.可以理解的是,页面对象的唯一性可以告诉我们有多少用例采用了此页面,组件的唯一性在于查找方式和查找字符串的唯一性,这样也可以知道我们哪些用例使用了这些组件。当在业务未发生大的改动时,我们可以根据页面对象或者组件的替换来更新我们的所有用例,这样可以达到维护的高效性。
75.可选地,对有向图进行存储,包括:将有向图存储至非关系型数据库。
76.其中,非关系型数据库可以理解为一种将数据以键值对存储的数据库,且该键值对的结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不局限于固定的结构,可以减少一些时间和空间的消耗。使用非关系型数据库,用户可以根据需要去添加自己需要的字段,在需要获取用户的不同信息时,不需要向关系型数据库中,要对多表进行关联查询,仅需根据用户名取出相应的值就可以完成查询,在本技术实施例中,以neo4j数据库为例。
77.具体地,将抽离出来的数据以图的形式存储到neo4j数据库中,可以方便后续采用人工智能手段对组件或者页面可达性的关系分析等。
78.可选地,上述方法还包括:对页面对应的组件信息进行缓存。
79.其中,组件信息可以包括组件的标题、描述信息、状态、默认值、格式等。
80.可以理解的是,对页面对应的组件信息进行缓存,可以直接从缓存下的信息中直接调取用户需要的信息,不需要从数据库中进行多次查询,避免了查询次数过多导致锁表的问题,提高了数据运行效率,避免了不必要的资源浪费。
81.实施例2
82.根据本发明实施例的另一方面,还提供了一种数据存储装置,该装置可以执行上
述实施例1中的数据存储方法,该实施例中的具体实现方案和应用场景与上述实施例1相同,在此不做赘述。
83.图5是根据本发明实施例的一种数据存储装置的示意图,如图5所示,该装置包括:获取模块502,用于获取对被测网站系统进行测试所产生的页面、组件和操作信息;封装模块504,用于对页面、组件和操作信息进行封装,得到多个页面对象和多个事件对象;构建模块506,用于基于多个页面对象和多个事件对象,构建有向图,其中,有向图用于表征多个页面对象和多个事件对象之间的执行顺序;存储模块508,用于对有向图进行存储。
84.封装模块504包括:第一封装单元,用于确定页面中同一个操作对应的至少一个页面,以及同一个操作对应的至少一个组件,并将至少一个页面和至少一个组件封装成同一个页面对象;第二封装单元,用于将同一个操作的操作信息封装成同一个事件对象。
85.第一封装单元包括:时刻确定子单元,用于确定同一个操作执行之前的第一时刻和同一个操作执行之后的第二时刻;第一获取子单元,用于获取被测网站系统在第一时刻输出的第一页面和第二时刻输出的第二页面;第二获取子单元,用于基于第一页面和第二页面,得到同一个操作对应的至少一个页面。
86.在利用多个测试用例对被测网站系统进行测试的情况下,上述装置还包括:第一确定模块,用于确定页面、组件、操作信息与多个测试用例的目标映射关系;第二确定模块,用于基于目标映射关系,确定多个页面对象与多个测试用例的第一映射关系,以及多个事件对象与多个测试用例的第二映射关系;第一生成模块,用于基于第一映射关系,生成多个页面对象的第一标签;第二生成模块,用于基于第二映射关系,生成多个事件对象的第二标签。
87.在对页面、组件和操作信息进行封装,得到多个页面对象和多个事件对象之后,上述装置还包括:扫描模块,用于响应于多个页面对象中至少一个页面发生变化,对多个页面对象进行扫描,确定至少一个页面对应的目标页面对象,其中,目标页面对象中包含有至少一个页面;更新模块,用于对多个页面对象进行更新,并控制多个页面对象中除目标页面对象之外的其他页面对象保持不变。
88.在对页面、组件和操作信息进行封装,得到多个页面对象和多个事件对象之后,上述装置还包括:替换模块,用于响应于操作信息中至少一个操作信息发生变化,对多个事件对象中至少一个操作信息对应的目标事件对象进行替换,并控制多个事件对象中除目标事件对象之外的其他事件对象保持不变。
89.上述装置还包括:数据存储模块,用于将页面、组件和操作信息存储至关系型数据库。
90.存储模块508包括:存储单元,用于将有向图存储至非关系型数据库。
91.上述装置还包括:缓存模块,用于对页面对应的组件信息进行缓存。
92.实施例3
93.根据本发明实施例的另一方面,还提供了一种计算机可读的存储介质,计算机可读的存储介质包括存储的程序,其中,程序运行时执行上述数据存储方法。
94.实施例4
95.根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器和处理器,其特征在于,存储器中存储有计算机程序,处理器被设置为通过计算机程序执行上述数据存
储方法。
96.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
97.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
98.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
99.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
100.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
101.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
102.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
技术特征:
1.一种数据存储方法,其特征在于,包括:获取对被测网站系统进行测试所产生的页面、组件和操作信息;对所述页面、所述组件和所述操作信息进行封装,得到多个页面对象和多个事件对象;基于所述多个页面对象和所述多个事件对象,构建有向图,其中,所述有向图用于表征所述多个页面对象和所述多个事件对象之间的执行顺序;对所述有向图进行存储。2.根据权利要求1所述的方法,其特征在于,对所述页面、所述组件和所述操作信息进行封装,得到多个页面对象和多个事件对象,包括:确定所述页面中同一个操作对应的至少一个页面,以及所述同一个操作对应的至少一个组件,并将所述至少一个页面和所述至少一个组件封装成同一个页面对象;将同一个操作的操作信息封装成同一个事件对象。3.根据权利要求2所述的方法,其特征在于,确定所述页面中同一个操作对应的至少一个页面,包括:确定所述同一个操作执行之前的第一时刻和所述同一个操作执行之后的第二时刻;获取所述被测网站系统在所述第一时刻输出的第一页面和所述第二时刻输出的第二页面;基于所述第一页面和所述第二页面,得到所述同一个操作对应的所述至少一个页面。4.根据权利要求1所述的方法,其特征在于,在利用多个测试用例对所述被测网站系统进行测试的情况下,所述方法还包括:确定所述页面、所述组件、所述操作信息与所述多个测试用例的目标映射关系;基于所述目标映射关系,确定所述多个页面对象与所述多个测试用例的第一映射关系,以及所述多个事件对象与所述多个测试用例的第二映射关系;基于所述第一映射关系,生成所述多个页面对象的第一标签;基于所述第二映射关系,生成所述多个事件对象的第二标签。5.根据权利要求1所述的方法,其特征在于,在对所述页面、所述组件和所述操作信息进行封装,得到所述多个页面对象和所述多个事件对象之后,所述方法还包括:响应于所述多个页面对象中至少一个页面发生变化,对所述多个页面对象进行扫描,确定所述至少一个页面对应的目标页面对象,其中,所述目标页面对象中包含有所述至少一个页面;对所述多个页面对象进行更新,并控制所述多个页面对象中除所述目标页面对象之外的其他页面对象保持不变。6.根据权利要求1所述的方法,其特征在于,在对所述页面、所述组件和所述操作信息进行封装,得到所述多个页面对象和所述多个事件对象之后,所述方法还包括:响应于所述操作信息中至少一个操作信息发生变化,对所述多个事件对象中所述至少一个操作信息对应的目标事件对象进行替换,并控制所述多个事件对象中除所述目标事件对象之外的其他事件对象保持不变。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述页面、所述组件和所述操作信息存储至关系型数据库。8.根据权利要求1所述的方法,其特征在于,对所述有向图进行存储,包括:
将所述有向图存储至非关系型数据库。9.根据权利要求1所述的方法,其特征在于,所述方法还包括:对所述页面对应的组件信息进行缓存。10.一种数据存储装置,其特征在于,包括:获取模块,用于获取对被测网站系统进行测试所产生的页面、组件和操作信息;封装模块,用于对所述页面、所述组件和所述操作信息进行封装,得到多个页面对象和多个事件对象;构建模块,用于基于所述多个页面对象和所述多个事件对象,构建有向图,其中,所述有向图用于表征所述多个页面对象和所述多个事件对象之间的执行顺序;存储模块,用于对所述有向图进行存储。11.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至9中任一项所述的数据存储方法。12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至9中任一项所述的数据存储方法。
技术总结
本申请公开了一种数据存储方法、存储介质及电子装置,涉及智慧家庭技术领域,该数据存储方法包括:获取对被测网站系统进行测试所产生的页面、组件和操作信息;对页面、组件和操作信息进行封装,得到多个页面对象和多个事件对象;基于多个页面对象和多个事件对象,构建有向图,其中,有向图用于表征多个页面对象和多个事件对象之间的执行顺序;对有向图进行存储。本申请解决了相关技术对于页面和页面元素的管理较为繁杂,导致当页面和页面元素发生变更时,自动化用例的可用性较差的技术问题。自动化用例的可用性较差的技术问题。自动化用例的可用性较差的技术问题。
技术研发人员:张军
受保护的技术使用者:青岛海尔科技有限公司 海尔智家股份有限公司
技术研发日:2023.05.31
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
