CN111694758B - 测试代码自动生成方法、装置、计算机设备和存储介质 - Google Patents
测试代码自动生成方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111694758B CN111694758B CN202010774771.1A CN202010774771A CN111694758B CN 111694758 B CN111694758 B CN 111694758B CN 202010774771 A CN202010774771 A CN 202010774771A CN 111694758 B CN111694758 B CN 111694758B
- Authority
- CN
- China
- Prior art keywords
- operation event
- coordinate information
- screenshot
- test code
- layout file
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012544 monitoring process Methods 0.000 claims abstract description 19
- 238000013507 mapping Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 10
- 238000011161 development Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 7
- 238000012790 confirmation Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- 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—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test 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
本发明实施例提出一种测试代码自动生成方法、装置、计算机设备和存储介质,涉及测试技术领域。该测试代码自动生成方法包括:获取布局文件、以及当前显示界面的截图;其中,布局文件包括坐标信息;监听在截图上产生的操作事件,并从坐标信息中获取与操作事件对应的目标坐标信息,其中,目标坐标信息表征操作事件在截图中所处位置;依据操作事件和目标坐标信息确定与操作事件对应的测试代码。其能够自动生成测试代码,简化测试代码开发过程,提高计算机设备的软件开发效率。
Description
技术领域
本发明涉及自动测试技术领域,具体而言,涉及一种测试代码自动生成方法、装置、计算机设备和存储介质。
背景技术
Uiautomatorviewer工具是Android SDK(Android Software Development Kit,安卓软件开发工具包)中提供的一种图形界面工具,用来扫描和分析应用的UI(UserInterface,用户界面)控件。
现有技术一般通过Uiautomatorviewer工具来获取UI控件的相关信息,通过这些信息来开发测试代码,但这个过程十分复杂且繁琐,且对终端的软件开发效率很低。
发明内容
有鉴于此,本发明的目的在于提供一种测试代码自动生成方法、装置、计算机设备和存储介质,其能够自动生成测试代码,简化测试代码开发过程,提高计算机设备的软件开发效率。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供一种测试代码自动生成方法,所述方法包括:
获取布局文件、以及当前显示界面的截图;其中,所述布局文件包括坐标信息;
监听在所述截图上产生的操作事件,并从所述坐标信息中获取与所述操作事件对应的目标坐标信息,其中,所述目标坐标信息表征所述操作事件在所述截图中所处位置;
依据所述操作事件和所述目标坐标信息确定与所述操作事件对应的测试代码。
在可选的实施方式中,所述布局文件还包括节点信息,所述节点信息包括所述坐标信息;
所述获取布局文件、以及当前显示界面的截图的步骤之后,所述方法还包括:
依据所述节点信息构造树;
将所述树与所述截图进行叠加,以使所述布局文件与所述截图相关联。
在可选的实施方式中,所述监听在所述截图上产生的操作事件,并从所述坐标信息中获取所述操作事件在所述截图中的目标坐标信息的步骤,包括:
监听在所述截图上产生的操作事件,并从所述树的节点信息中确定与所述操作事件对应的目标节点信息;
从所述目标节点信息中获取所述目标坐标信息。
在可选的实施方式中,所述依据所述操作事件和所述目标坐标信息确定与所述操作事件对应的测试代码的步骤,包括:
依据所述操作事件、所述目标坐标信息和预设关系映射表从预设的测试代码中确定与所述操作事件对应的目标测试代码;
其中,所述关系映射表包括所述操作事件与所述测试代码的对应关系、以及所述坐标信息与所述测试代码的对应关系。
在可选的实施方式中,所述获取布局文件的步骤包括:
通过图形界面工具获取所述布局文件。
第二方面,本发明实施例提供一种测试代码自动生成装置,所述装置包括:
获取模块,用于获取布局文件、以及当前显示界面的截图;其中,所述布局文件包括坐标信息;
监听获取模块,用于监听在所述截图上产生的操作事件,并从所述坐标信息中获取与所述操作事件对应的目标坐标信息,其中,所述目标坐标信息表征所述操作事件在所述截图中所处位置;
代码确定模块,用于依据所述操作事件和所述目标坐标信息确定与所述操作事件对应的测试代码。
在可选的实施方式中,所述布局文件还包括节点信息,所述节点信息包括所述坐标信息,所述装置还包括:
构造模块,用于依据所述节点信息构造树;
关联模块,用于将所述树与所述截图进行叠加,以使所述布局文件与所述截图相关联。
在可选的实施方式中,所述监听获取模块包括:
监听单元,用于监听在所述截图上产生的操作事件,并从所述树的节点信息中确定与所述操作事件对应的目标节点信息;
获取单元,用于从所述目标节点信息中获取所述目标坐标信息。
第三方面,本发明实施例提供一种计算机设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现前述实施方式任一所述的测试代码自动生成方法。
第四方面,本发明实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的测试代码自动生成方法。
本发明实施例提供的测试代码自动生成方法、装置、计算机设备和存储介质,该测试代码自动生成方法包括:获取布局文件、以及当前显示界面的截图;其中,布局文件包括坐标信息;监听在截图上产生的操作事件,并从坐标信息中获取与操作事件对应的目标坐标信息,其中,目标坐标信息表征操作事件在截图中所处位置;依据操作事件和目标坐标信息确定与操作事件对应的测试代码。可见,用户通过操作当前显示界面的UI控件,就能直接自动生成测试代码,简化了测试代码开发过程,提高了计算机设备的软件开发效率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的一种计算机设备的方框示意图;
图2示出了本发明实施例提供的一种测试代码自动生成方法的流程示意图;
图3示出了本发明实施例提供的另一种测试代码自动生成方法的流程示意图;
图4示出了本发明实施例提供的一种测试代码自动生成方法的应用示意图;
图5示出了本发明实施例提供的一种测试代码自动生成装置的功能模块图;
图6示出了本发明实施例提供的另一种测试代码自动生成装置的功能模块图;
图7示出了本发明实施例提供的又一种测试代码自动生成装置的功能模块图。
图标:100-计算机设备;110-存储器;120-处理器;130-通信模块;140-显示界面;150-测试代码自动生成装置;151-获取模块;152-监听获取模块;1521-监听单元;1522-获取单元;153-代码确定模块;154-构造模块;155-关联模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
请参照图1,是计算机设备100的方框示意图。所述计算机设备100包括存储器110、处理器120、通信模块130和显示界面140等。所述存储器110、处理器120、通信模块130以及显示界面140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。例如,当存储器110中存储的计算机程序被处理器120执行时,能够实现本发明实施例所揭示的测试代码自动生成方法。
通信模块130用于通过所述网络建立所述计算机设备100与其它通信终端之间的通信连接,并用于通过所述网络收发数据。
显示界面140在计算机设备100与用户之间同时提供一个输入及输出界面。在本实施例中,显示界面140能够感应来自到该显示界面140一个位置产生的触控或鼠标点击操作,并将该感应到的触控或鼠标点击操作交由处理器120进行处理。
应当理解的是,图1所示的结构仅为计算机设备100的结构示意图,所述计算机设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器120执行时实现如前述实施方式中任一项的测试代码自动生成方法。该存储介质可以是,但不限于,U盘、移动硬盘、ROM、RAM、PROM、EPROM、EEPROM、磁碟或者光盘等各种可以存储程序代码的介质。
在本实施例中,计算机设备100可以为手机、平板电脑、可穿戴设备、车载设备、增强现实(Augmented Reality,AR)/虚拟现实(Virtual Reality,VR)设备、笔记本电脑、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、上网本、个人数字助理(Personal Digital Assistant,PDA)等,本申请实施例对计算机设备100的具体类型不作任何限制。
请参考图2,为本发明实施例提供的测试代码自动生成方法的一种流程示意图。需要说明的是,本发明实施例提供的测试代码自动生成方法并不以图2以及以下的具体顺序为限制,应当理解,在其他实施例中,本发明实施例提供的测试代码自动生成方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该测试代码自动生成方法可以应用在图1所示的计算机设备100中,下面将对图2所示的具体流程进行详细阐述。
步骤S101,获取布局文件、以及当前显示界面的截图;其中,布局文件包括坐标信息。
其中,布局文件包含了当前计算机设备100显示界面140的信息。例如,布局文件包含了当前计算机设备100显示界面140的方框控件信息以及确认按键控件信息等。
在本实施例中,获取布局文件的具体原理可以为:通过图形界面工具获取布局文件。具体地,可以通过Uiautomatorviewer自带的dump工具获取布局文件。
可以理解,通过Uiautomatorviewer自带的dump工具获取当前计算机设备100的xml(Extensible Markup Language,可扩展标记语言,标准通用标记语言的子集)布局文件。
在本实施例中,当前显示界面140的截图可以理解为显示界面140当前显示页面的截图。其中,截图内容可以为应用程序的操作页面;该截图可以采用PNG格式,PNG格式是一种采用无损压缩算法的位图格式,其具有压缩比高、生成文件体积小的优点。
步骤S102,监听在截图上产生的操作事件,并从坐标信息中获取与操作事件对应的目标坐标信息,其中,目标坐标信息表征操作事件在截图中所处位置。
在本实施例中,操作事件包括滑动事件、触摸事件、单击事件以及双击事件等。可以理解,计算机设备100可以响应用户在截图上的滑动操作,获得对应的滑动事件;计算机设备100还可以响应用户在截图上的单击操作,获得对应的单击事件;计算机设备100也可以响应用户在截图上的双击操作,获得对应的双击事件。当然,在其它实施例中操作事件还可以为其它事件,在此并不做限制。
具体地,计算机设备100先响应用户在截图上的操作,获得对应的操作事件。计算机设备100再依据操作事件从坐标信息中获取与操作事件对应的目标坐标信息。例如,若计算机设备100响应用户在截图上的确认点击操作动作,获得对应的确认按键点击事件。计算机设备100依据确认按键点击事件中的确认按键可以从坐标信息中获取确认按键在截图中所处的位置。
步骤S103,依据操作事件和目标坐标信息确定与操作事件对应的测试代码。
在本实施例中,计算机设备100中预先设置有预设关系映射表和测试代码,关系映射表包括操作事件与测试代码的对应关系、以及坐标信息与测试代码的对应关系。计算机设备100依据操作事件、目标坐标信息和预设关系映射表可以从预设的测试代码中确定与操作事件对应的目标测试代码。
可以理解,计算机设备100预先设置了每个操作事件对应的测试代码,通过操作事件、目标坐标信息和预设关系映射表可以获得将操作事件与目标坐标信息对应起来的目标测试代码。
其中,由于关系映射表包括操作事件与测试代码的对应关系、以及坐标信息与测试代码的对应关系。故计算机设备100依据操作事件、目标坐标信息和预设关系映射表可以从预设的测试代码中确定与操作事件对应的目标测试代码。
请参照图3,在步骤S101之后,测试代码自动生成方法还包括以下步骤:
步骤S201,依据节点信息构造树。
在本实施例中,布局文件还包括节点信息,节点信息包括坐标信息。其中,节点信息还包括性能信息,性能信息包括控件是否可点击以及点击的时长等信息。节点信息可以理解为当前选中的控件属性,比如:当前选中的控件位置的相对坐标,控件是否可点击、可滑动等。树是一种数据结构,是由多个有限结点组成一个具有层次关系的集合。树的每个结点根据节点信息生成,根据每个节点信息生成的结点可以有零个或多个子结点。
在本实施例中,计算机设备100依据节点信息构造树(tree)后,会将树放入到UI界面开发组件中。UI界面开发组件可以采用Canvas SWT,即JAVA中的UI类。
步骤S202,将树与截图进行叠加,以使布局文件与截图相关联。
在本实施例中,由于树是布局文件的节点信息构造成的,故计算机设备100将构造好的树与获取的截图进行叠加处理,可以使布局文件与截图关联在一起。
可以理解,通过Android SDK中自带的Uiautomatorviewer工具就能自动让树与截图进行叠加。
在本实施例中,布局文件与截图关联在一起后,计算机设备100在监听截图上产生操作事件时,就能够从树的节点信息中确定与操作事件对应的目标节点信息,并从目标节点信息中获取目标坐标信息。
可以理解,计算机设备100响应用户在截图上的操作,获得对应的操作事件。计算机设备100再依据操作事件从树的节点信息中获取与操作事件对应的目标节点信息。
为了便于理解,请参照图4,为本实施例提供的一种测试代码自动生成方法应用示意图。图4中的第一显示区显示的内容为当前显示界面140的截图,第二显示区显示的内容为计算机设备100根据节点信息构造的树,第三显示区显示的内容为布局文件包括的控件属性,第四显示区显示的内容为依据操作事件和目标坐标信息生成的与操作事件对应的测试代码。
可以理解,计算机设备100先获取图4中第一显示区显示的当前显示界面140的截图,以及从存储介质中获取布局文件,其中,布局文件包括坐标信息。依据节点信息构造如图4中第二显示区显示的树,将第一显示区显示的截图与第二显示区显示的树进行叠加,使得布局文件与截图相关联。计算机设备响应用户在截图上的操作,获得对应的操作事件,依据操作事件从坐标信息中获取与操作事件对应的目标坐标信息。依据操作事件和目标坐标信息生成图4中第四显示区中与操作事件对应的测试代码。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种测试代码自动生成装置150的实现方式。进一步地,请参阅图5,图5为本发明实施例提供的一种测试代码自动生成装置150的功能模块图。需要说明的是,本实施例所提供的测试代码自动生成装置150,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该测试代码自动生成装置150包括:获取模块151、监听获取模块152和代码确定模块153。
获取模块151用于获取布局文件、以及当前显示界面140的截图;其中,布局文件包括坐标信息。
可以理解,获取模块151用于执行上述步骤S101中内容。
监听获取模块152用于监听在截图上产生的操作事件,并从坐标信息中获取与操作事件对应的目标坐标信息,其中,目标坐标信息表征操作事件在截图中所处位置。
如图6所示,监听获取模块152包括监听单元1521和获取单元1522。
监听单元1521用于监听在截图上产生的操作事件,并从树的节点信息中确定与操作事件对应的目标节点信息。
获取单元1522用于从目标节点信息中获取目标坐标信息。
可以理解,监听获取模块152、监听单元1521和获取单元1522用于执行上述步骤S102中内容。
代码确定模块153用于依据操作事件和目标坐标信息确定与操作事件对应的测试代码。
可以理解,代码确定模块153用于执行上述步骤S103中内容。
进一步地,如图7所示,测试代码自动生成装置150还包括构造模块154和关联模块155。
构造模块154用于依据节点信息构造树。
可以理解,构造模块154用于执行上述步骤S201中内容。
关联模块155用于将树与截图进行叠加,以使布局文件与截图相关联。
可以理解,关联模块155用于执行上述步骤S202中内容。
可选地,上述模块可以软件或固件(Firmware)的形式存储于图1所示的存储器110中或固化于该计算机设备100的操作系统(Operating System,OS)中,并可由图1中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。
在一个实施例中,提供了一种计算机设备100,包括处理器120和存储器110,该存储器110存储有计算机程序,该处理器120执行计算机程序时实现以下步骤:
步骤S101,获取布局文件、以及当前显示界面的截图;其中,布局文件包括坐标信息。
步骤S102,监听在截图上产生的操作事件,并从坐标信息中获取与操作事件对应的目标坐标信息,其中,目标坐标信息表征操作事件在截图中所处位置。
步骤S103,依据操作事件和目标坐标信息确定与操作事件对应的测试代码。
在一个实施例中,处理器120执行计算机程序时还实现以下步骤:
步骤S201,依据节点信息构造树。
步骤S202,将树与截图进行叠加,以使布局文件与截图相关联。
在本实施例中,用户通过操作当前显示界面140的UI控件,就能直接自动生成测试代码,简化了测试代码开发过程,提高了计算机设备100的软件开发效率。
在一个实施例中,提供了一种存储介质,其上存储有计算机程序,计算机程序被处理器120执行时实现以下步骤:
步骤S101,获取布局文件、以及当前显示界面的截图;其中,布局文件包括坐标信息。
步骤S102,监听在截图上产生的操作事件,并从坐标信息中获取与操作事件对应的目标坐标信息,其中,目标坐标信息表征操作事件在截图中所处位置。
步骤S103,依据操作事件和目标坐标信息确定与操作事件对应的测试代码。
在一个实施例中,处理器120执行计算机程序时还实现以下步骤:
步骤S201,依据节点信息构造树。
步骤S202,将树与截图进行叠加,以使布局文件与截图相关联。
在本实施例中,用户通过操作当前显示界面140的UI控件,就能直接自动生成测试代码,简化了测试代码开发过程,提高了计算机设备100的软件开发效率。
综上所述,本发明实施例提供了一种测试代码自动生成方法、装置、计算机设备和存储介质,该测试代码自动生成方法包括:获取布局文件、以及当前显示界面的截图;其中,布局文件包括坐标信息;监听在截图上产生的操作事件,并从坐标信息中获取与操作事件对应的目标坐标信息,其中,目标坐标信息表征操作事件在截图中所处位置;依据操作事件和目标坐标信息确定与操作事件对应的测试代码。可见,用户通过操作当前显示界面的UI控件,就能直接自动生成测试代码,简化了测试代码开发过程,提高了计算机设备的软件开发效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种测试代码自动生成方法,其特征在于,所述方法包括:
获取布局文件、以及当前显示界面的截图;其中,所述布局文件包括坐标信息,所述布局文件还包括节点信息,所述节点信息包括所述坐标信息;
依据所述节点信息构造树;
将所述树与所述截图进行叠加,以使所述布局文件与所述截图相关联;
监听在所述截图上产生的操作事件,并从所述坐标信息中获取与所述操作事件对应的目标坐标信息,包括:监听在所述截图上产生的操作事件,并从所述树的节点信息中确定与所述操作事件对应的目标节点信息;从所述目标节点信息中获取所述目标坐标信息,其中,所述目标坐标信息表征所述操作事件在所述截图中所处位置;
依据所述操作事件、所述目标坐标信息和预设关系映射表从预设的测试代码中确定与所述操作事件对应的目标测试代码;
其中,所述关系映射表包括所述操作事件与所述测试代码的对应关系、以及所述坐标信息与所述测试代码的对应关系。
2.根据权利要求1所述的测试代码自动生成方法,其特征在于,所述获取布局文件的步骤包括:
通过图形界面工具获取所述布局文件。
3.一种测试代码自动生成装置,其特征在于,所述装置包括:
获取模块,用于获取布局文件、以及当前显示界面的截图;其中,所述布局文件包括坐标信息,所述布局文件还包括节点信息,所述节点信息包括所述坐标信息;
构造模块,用于依据所述节点信息构造树;
关联模块,用于将所述树与所述截图进行叠加,以使所述布局文件与所述截图相关联;
监听获取模块,用于监听在所述截图上产生的操作事件,并从所述坐标信息中获取与所述操作事件对应的目标坐标信息,包括:监听在所述截图上产生的操作事件,并从所述树的节点信息中确定与所述操作事件对应的目标节点信息;从所述目标节点信息中获取所述目标坐标信息,其中,所述目标坐标信息表征所述操作事件在所述截图中所处位置;
代码确定模块,用于依据所述操作事件、所述目标坐标信息和预设关系映射表从预设的测试代码中确定与所述操作事件对应的目标测试代码;
其中,所述关系映射表包括所述操作事件与所述测试代码的对应关系、以及所述坐标信息与所述测试代码的对应关系。
4.一种计算机设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现权利要求1至2任一所述的测试代码自动生成方法。
5.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至2中任一项所述的测试代码自动生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010774771.1A CN111694758B (zh) | 2020-08-04 | 2020-08-04 | 测试代码自动生成方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010774771.1A CN111694758B (zh) | 2020-08-04 | 2020-08-04 | 测试代码自动生成方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111694758A CN111694758A (zh) | 2020-09-22 |
CN111694758B true CN111694758B (zh) | 2024-01-16 |
Family
ID=72486392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010774771.1A Active CN111694758B (zh) | 2020-08-04 | 2020-08-04 | 测试代码自动生成方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111694758B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377365B (zh) * | 2021-07-09 | 2023-07-18 | 北京字跳网络技术有限公司 | 代码显示方法、装置、设备、计算机可读存储介质及产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302413A (zh) * | 2015-10-14 | 2016-02-03 | 惠州Tcl移动通信有限公司 | 控件的ui测试方法及系统 |
WO2018045774A1 (zh) * | 2016-09-07 | 2018-03-15 | 中兴通讯股份有限公司 | 应用程序控制方法和装置 |
CN108170611A (zh) * | 2018-01-23 | 2018-06-15 | 网易(杭州)网络有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
CN108681508A (zh) * | 2018-05-15 | 2018-10-19 | 福建天泉教育科技有限公司 | 一种基于视觉识别的测试方法及终端 |
CN109117372A (zh) * | 2018-08-14 | 2019-01-01 | 平安壹钱包电子商务有限公司 | 测试代码生成方法、装置、计算机设备和存储介质 |
CN109710508A (zh) * | 2018-08-20 | 2019-05-03 | 平安普惠企业管理有限公司 | 测试方法、测试装置、测试设备及计算机可读存储介质 |
CN110968517A (zh) * | 2019-12-04 | 2020-04-07 | 上海华兴数字科技有限公司 | 自动测试方法、装置、平台和计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7475350B2 (en) * | 2005-02-02 | 2009-01-06 | International Business Machines Corporation | Method and system to layout topology objects |
US8694967B2 (en) * | 2010-06-11 | 2014-04-08 | Microsoft Corporation | User interface inventory |
WO2015161239A1 (en) * | 2014-04-17 | 2015-10-22 | Versata Development Group, Inc. | User interface test coverage |
-
2020
- 2020-08-04 CN CN202010774771.1A patent/CN111694758B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302413A (zh) * | 2015-10-14 | 2016-02-03 | 惠州Tcl移动通信有限公司 | 控件的ui测试方法及系统 |
WO2018045774A1 (zh) * | 2016-09-07 | 2018-03-15 | 中兴通讯股份有限公司 | 应用程序控制方法和装置 |
CN108170611A (zh) * | 2018-01-23 | 2018-06-15 | 网易(杭州)网络有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
WO2019144680A1 (zh) * | 2018-01-23 | 2019-08-01 | 网易(杭州)网络有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
CN108681508A (zh) * | 2018-05-15 | 2018-10-19 | 福建天泉教育科技有限公司 | 一种基于视觉识别的测试方法及终端 |
CN109117372A (zh) * | 2018-08-14 | 2019-01-01 | 平安壹钱包电子商务有限公司 | 测试代码生成方法、装置、计算机设备和存储介质 |
CN109710508A (zh) * | 2018-08-20 | 2019-05-03 | 平安普惠企业管理有限公司 | 测试方法、测试装置、测试设备及计算机可读存储介质 |
CN110968517A (zh) * | 2019-12-04 | 2020-04-07 | 上海华兴数字科技有限公司 | 自动测试方法、装置、平台和计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
基于事件流图的用户界面测试优化;路斯瑶;胡飞;;测控技术(05);全文 * |
牛嘉祥 ; 张红雨 ; .基于Android平台的GPS防盗器软件设计.电子质量.2016,(04),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111694758A (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170308617A1 (en) | Codeless sharing of spreadsheet objects | |
CN109739855B (zh) | 实现数据表拼接及自动训练机器学习模型的方法和系统 | |
US20140047368A1 (en) | Application development tool | |
CN111143004A (zh) | 一种场景引导方法、装置、电子设备及存储介质 | |
CN110875871A (zh) | 一种即时通信应用的管理方法及电子设备 | |
CN111694758B (zh) | 测试代码自动生成方法、装置、计算机设备和存储介质 | |
CN104834687A (zh) | 一种图片显示方法 | |
CN106952426B (zh) | 数据处理方法及装置 | |
CN107391914B (zh) | 一种参数显示方法、装置及设备 | |
CN113467862A (zh) | 桌面快捷方式的生成方法、装置、移动终端和存储介质 | |
CN113485909B (zh) | 测试方法、装置、计算设备以及介质 | |
CN114048415A (zh) | 表单生成方法及装置、电子设备和计算机可读存储介质 | |
CN113486635A (zh) | 一种文档编辑方法、装置、电子设备及计算机可读介质 | |
CN112905936A (zh) | 页面录制动画生成、页面操作日志查询方法和计算机设备 | |
US11861294B2 (en) | Syndication of associations relating data and metadata | |
CN113220386A (zh) | 一种仪表板发布方法及相关设备 | |
CN108282534A (zh) | 信息推送方法、装置、电子设备以及计算机存储介质 | |
CN112988663A (zh) | 文件存储方法和电子设备 | |
JP2017102847A (ja) | 情報処理システム、中継装置、方法およびプログラム | |
CN106569785B (zh) | 一种作业表单生成方法及设备 | |
CN110958243A (zh) | 一种网络漏洞提交方法、装置、存储介质及电子设备 | |
US11586335B2 (en) | Graphical user interface marking feedback | |
CN111694568B (zh) | 一种ui卡片文档的生成方法和装置 | |
CN111259621B (zh) | 一种云字体的显示方法、装置 | |
CN117873466A (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 |