CN117472738A - 测试脚本生成方法、装置、可读存储介质及电子设备 - Google Patents
测试脚本生成方法、装置、可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN117472738A CN117472738A CN202311291025.7A CN202311291025A CN117472738A CN 117472738 A CN117472738 A CN 117472738A CN 202311291025 A CN202311291025 A CN 202311291025A CN 117472738 A CN117472738 A CN 117472738A
- Authority
- CN
- China
- Prior art keywords
- test
- determining
- target
- display
- video frame
- 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 292
- 238000013515 script Methods 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000004590 computer program Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 12
- 238000011161 development Methods 0.000 abstract description 9
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000003708 edge detection Methods 0.000 description 7
- 238000012015 optical character recognition Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 102100032202 Cornulin Human genes 0.000 description 2
- 101000920981 Homo sapiens Cornulin Proteins 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013522 software testing Methods 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- User Interface Of Digital Computer (AREA)
Abstract
本公开涉及一种测试脚本生成方法、装置、可读存储介质及电子设备,方法包括:获取目标视频;根据目标视频帧和所述目标视频帧中光标触点的位置信息,从预设的视频帧识别库中确定所述目标视频帧中对应所述光标触点的显示信息;至少根据所述显示信息确定所述目标视频帧的测试语句;根据所述多个视频帧的测试语句,确定所述待测试软件的测试脚本。通过上述技术方案,不需要根据待测试软件的源代码和开发架构编写自动化测试脚本,因此可以有效的提高测试脚本的生成效率和准确性。
Description
技术领域
本公开涉及软件测试技术领域,具体地,涉及一种测试脚本生成方法、装置、可读存储介质及电子设备。
背景技术
随着软件架构逐渐向移动端和云原生迁移,版本上线发布频率越来越高,软件回归测试工作量越来越大,对自动化测试需求也随之越来越多。
相关技术在对软件进行自动化测试时,需要根据软件的源代码和开发架构编写自动化测试脚本,对测试人员的技术要求较高,导致软件的测试效率较低。
发明内容
本公开的目的是提供一种测试脚本生成方法、装置、可读存储介质及电子设备,以解决上述技术问题。
为了实现上述目的,本公开第一方面提供一种测试脚本生成方法,所述方法包括:
获取目标视频,所述目标视频为待测试软件的操作过程的录制视频;
根据目标视频帧和所述目标视频帧中光标触点的位置信息,从预设的视频帧识别库中确定所述目标视频帧中对应所述光标触点的显示信息,其中,所述目标视频帧为所述目标视频中多个视频帧中的任一视频帧,所述视频帧识别库用于表征所述任一视频帧中显示信息与位置信息之间的对应关系;
至少根据所述显示信息确定所述目标视频帧的测试语句;
根据所述多个视频帧的测试语句,确定所述待测试软件的测试脚本。
可选地,所述显示信息包括显示内容和所述显示内容对应的显示类型,
其中,所述至少根据所述显示信息确定所述目标视频帧的测试语句的步骤,具体包括:
根据所述显示类型,确定目标测试语句模板;
至少根据所述显示内容和所述目标测试语句模板,确定所述目标视频帧的测试语句。
可选地,所述根据所述显示类型,确定目标测试语句模板的步骤,具体包括:
当所述显示类型为文本类型、图像类型和选择框类型中的任一者时,确定以生成点击操作的测试语句模板的第一测试语句模板为所述目标测试语句模板;
当所述显示类型为输入框类型时,确定以生成输入操作的测试语句模板的第二测试语句模板为所述目标测试语句模板。
可选地,所述根据所述显示类型,确定目标测试语句模板的步骤,具体包括:
确定所述显示类型是否为文本类型;
在所述显示类型为所述文本类型时,确定以生成点击操作的测试语句模板的第三测试语句模板为所述目标测试语句模板;
在所述显示类型不是所述文本类型时,确定所述显示类型是否为图像类型;
在所述显示类型为所述图像类型时,确定以生成点击操作的测试语句模板的第四测试语句模板为所述目标测试语句模板;
在所述显示类型不是所述图像类型时,确定所述显示类型是否为选择框类型;
在所述显示类型为所述选择框类型时,确定以生成点击操作的测试语句模板的第五测试语句模板为所述目标测试语句模板;
在所述显示类型不是所述选择框类型时,确定以生成输入操作的测试语句模板的第六测试语句模板为所述目标测试语句模板。
可选地,所述方法还包括:
在所述显示类型为所述图像类型的情况下,确定所述显示内容是否为预设文本;
在所述显示内容为所述预设文本时,确定以生成点击操作的测试语句模板的第七测试语句模板为所述目标测试语句模板,并存储所述显示信息;
所述确定以生成点击操作的测试语句模板的第四测试语句模板为所述目标测试语句模板,包括:
在所述显示内容不是所述预设文本时,确定以生成点击操作的测试语句模板的第四测试语句模板为所述目标测试语句模板。
可选地,在所述显示内容为选择框控件,所述显示类型为选择框类型的情况下,
所述至少根据所述显示内容和所述目标测试语句模板,确定所述目标视频帧的测试语句的步骤,具体包括:
在所述目标视频帧中确定位于所述选择框控件预设位置处的第一文本;
将所述第一文本作为所述选择框控件对应的第一控件名称,将所述第一控件名称填充至所述目标测试语句模板中,得到所述测试语句。
可选地,在所述显示内容为输入框控件,所述显示类型为输入框类型的情况下,
所述至少根据所述显示内容和所述目标测试语句模板,确定所述目标视频帧的测试语句的步骤,具体包括:
确定所述输入框控件的第一位置坐标;
在所述目标视频帧中确定位于所述输入框控件预设位置处的第二文本,并根据所述第一位置坐标在下一视频帧中确定第三文本;
将所述第三文本作为输入所述输入框控件中的目标内容,所述第二文本作为所述输入框控件对应的第二控件名称,并将所述目标内容和所述第二控件名称填充至所述目标测试语句模板,得到所述测试语句。
可选地,所述方法还包括:
确定所述显示内容在所述目标视频帧中的显示顺序;
所述至少根据所述显示内容和所述目标测试语句模板,确定所述目标视频帧的测试语句的步骤,具体包括:
根据所述显示内容、所述显示内容在所述目标视频中的显示顺序以及所述目标测试语句模板,确定所述目标视频帧的测试语句。
本公开第二方面提供一种测试脚本生成装置,所述装置包括:
获取模块,用于获取目标视频,所述目标视频为待测试软件的操作过程的录制视频;
第一确定模块,用于根据目标视频帧和所述目标视频帧中光标触点的位置信息,从预设的视频帧识别库中确定所述目标视频帧中对应所述光标触点的显示信息,其中,所述目标视频帧为所述目标视频中多个视频帧中的任一视频帧,所述视频帧识别库用于表征所述任一视频帧中显示信息与位置信息之间的对应关系;
第二确定模块,用于至少根据所述显示信息确定所述目标视频帧的测试语句;
第三确定模块,用于根据所述多个视频帧的测试语句,确定所述待测试软件的测试脚本。
本公开第三方面提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述方法的步骤。
本公开第四方面提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面中任一项所述方法的步骤。
通过上述技术方案,可以对待测试软件的录制视频进行解析,以得到用户在待测试软件中所做的所有操作步骤,从而可以根据每个操作步骤生成对应的测试语句,以及根据测试语句生成测试脚本。由于测试脚本生成过程中,不需要根据待测试软件的源代码和开发架构编写自动化测试脚本,因此可以有效的提高测试脚本的生成效率和测试脚本的准确性。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开一示例性实施例示出的一种测试脚本生成方法的流程图;
图2是根据本公开一示例性实施例示出的一种确定过渡视频帧的示意图;
图3是根据本公开一示例性实施例示出的一种生成测试脚本的流程图;
图4是根据本公开一示例性实施例示出的一种确定第一文本的示意图;
图5是根据本公开一示例性实施例示出的一种确定第二文本及第三文本的示意图;
图6是根据本公开一示例性实施例示出的一种生成视频帧识别库的流程图;
图7是根据本公开一示例性实施例示出的一种测试脚本生成装置的框图;
图8是根据本公开一示例性实施例示出的一种电子设备的框图;
图9是根据本公开一示例性实施例示出的一种电子设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
正如背景技术所言,随着软件架构逐渐向移动端和云原生迁移,版本上线发布频率越来越高,软件回归测试工作量越来越大,对自动化测试需求也随之越来越多。
相关技术在对软件进行自动化测试时,一般通过以下两种方式来进行自动化测试时:
方式1:根据软件的源代码和开发架构编写自动化测试脚本。此种测试方式,需要测试人员了解软件的源代码和开发架构,对测试人员的技术要求较高,导致软件的测试效率较低。
方式2:针对待测试软件,需要额外开发录制工具并安装在测试人员所使用的测试设备上,从而在测试过程中,可以通过该录制工具对测试人员在待测试软件中的操作步骤进行录制,进而根据录制的操作步骤生成测试脚本。此种测试方式,不仅需要额外开发录制工具,还需要测试人员学习待测试软件的使用方式,增加了测试脚本的生成难度。
有鉴于此,本公开实施例提供了一种测试脚本生成方法、装置、可读存储介质及电子设备,以解决上述技术问题。
以下结合附图对本公开的具体实施方式进行详细说明。
图1是根据本公开一示例性实施例示出的一种测试脚本生成方法的流程图,参照图1,该方法可以包括以下步骤:
S101:获取目标视频,所述目标视频为待测试软件的操作过程的录制视频。
其中,目标视频可以通过终端设备,例如手机或电脑的录屏工具,对待测试软件的操作过程进行录制得到。相较于相关技术中需要额外开发录制工具并安装在测试人员所使用的测试设备上进行操作步骤的录制,本方案不需要额外开发录制工具,可以有效的降低测试脚本的生成难度,进一步提高测试效率。
在可能的实施方式中,还可以在开启终端设备的录屏功能之前,先打开终端设备的光标触点显示,从而可以在目标视频中显示光标触点,进而可以根据光标触点直观的体现出待测试软件的操作过程。
S102:根据目标视频帧和所述目标视频帧中光标触点的位置信息,从预设的视频帧识别库中确定所述目标视频帧中对应所述光标触点的显示信息,其中,所述目标视频帧为所述目标视频中多个视频帧中的任一视频帧,所述视频帧识别库用于表征所述任一视频帧中显示信息与位置信息之间的对应关系。
应当理解的是,视频是由多幅静止的画面组成,每一幅静止的画面就是一个视频帧,所有视频帧连续不断地播放便形成运动的视频。由此通过对目标视频进行解析,可以得到组成该目标视频的多个视频帧。
S103:至少根据所述显示信息确定所述目标视频帧的测试语句。
S104:根据所述多个视频帧的测试语句,确定所述待测试软件的测试脚本。
应当理解的是,生成视频帧的速率比较快,因此目标视频中存在较多的重复视频帧,即画面内容相同的视频帧。因此在针对每个视频帧生成对应的测试语句后,会得到相同的测试语句,从而影响测试脚本的运行。
为克服上述问题,在可能的实施方式中,可以在得到每个视频帧的测试语句后,先根据视频帧的显示顺序过滤掉相同的测试语句,然后再根据剩余的测试语句生成测试脚本。
在可能的实施方式中,为了减少对视频帧的处理数量,提升测试脚本的生成效率,还可以在生成每个视频帧的测试语句之前,先根据视频帧的显示顺序对视频帧进行筛选,即过滤掉画面内容相同的视频帧和/或过滤掉无用的视频帧,然后再对剩余的视频帧进行处理,生成测试脚本。
其中,无用的视频帧可以是从第一目标视频帧到第二目标视频帧之间的过渡视频帧。示例地,如图2所示,其中,(a)为第一目标视频帧,(d)为第二目标视频帧。由于视频帧的生成速度很快,因此在从第一目标视频帧中“金额”对应的输入框中的文字“请输入金额”,变成第二目标视频帧中“金额”对应的输入框中的数字“100”时,第一目标视频帧和第二目标视频帧中还会存在许多过渡帧,在这些过渡帧中,“金额”对应的输入框中的数字与第二目标视频帧中“金额”对应的数字不同,例如图2中的(b)和(c)。
通过上述技术方案,可以对待测试软件的录制视频进行解析,以得到用户在待测试软件中所做的所有操作步骤,从而可以根据每个操作步骤生成对应的测试语句,以及根据测试语句生成测试脚本。由于测试脚本生成过程中,不需要根据待测试软件的源代码和开发架构编写自动化测试脚本,因此可以有效的提高测试脚本的生成效率和测试脚本的准确性。另一方面,由于待测试软件的录制视频可以通过终端设备自带的录制工具进行录屏得到,因此相较于相关技术中需要额外开发录制工具并安装在测试人员所使用的测试设备上进行操作视频的录制,本方案不仅不需要额外开发录制工具,还不需要测试人员学习待测试软件的使用方法,因此可以有效的降低测试脚本的生成难度,进一步提高测试效率。
在可能的实施方式中,所述显示信息包括显示内容和所述显示内容对应的显示类型,其中,所述至少根据所述显示信息确定所述目标视频帧的测试语句的步骤,具体可以包括:
根据所述显示类型,确定目标测试语句模板;至少根据所述显示内容和所述目标测试语句模板,确定所述目标视频帧的测试语句。
应当理解的是,显示内容以及显示内容对应的显示类型可以根据实际情况进行确定,本公开实施例对此不作任何限制。在可能的实施方式中,显示内容可以是文字、控件或者图标。对应的,显示类型可以是文本类型、控件类型或者图像类型。
另外应当理解的是,不同的显示内容在视频帧中的显示方式或显示类型不一致,因此用户对不同的显示内容所做的操作也不尽相同,为根据用户对显示内容的操作快速的生成测试语句,本实施例根据显示内容的显示类型配置有不同的测试语句模板,从而可以根据显示内容的显示类型,调用对应的目标测试语句模板,以快速的生成测试语句,提高测试脚本的生成效率。
在可能的实施方式中,所述根据所述显示类型,确定目标测试语句模板的步骤,具体可以包括:
当所述显示类型为文本类型、图像类型和选择框类型中的任一者时,确定以生成点击操作的测试语句模板的第一测试语句模板为所述目标测试语句模板;当所述显示类型为输入框类型时,确定以生成输入操作的测试语句模板的第二测试语句模板为所述目标测试语句模板。
应当理解的是,文本类型对应的显示内容一般为文本,图像类型对应的显示内容一般为图像或图标,选择框类型对应的显示内容一般为单选框或复选框,输入框类型对应的显示内容一般为输入框。而在软件的操作页面中,用户针对文本、图像、图标、单选框和/或复选框的操作一般为点击操作,用户针对输入框的操作一般为输入操作。因此本实施例通过将以生成点击操作的测试语句模板的第一测试语句模板确定为文本类型、图像类型和/或选择框类型的目标测试语句模板,将以生成输入操作的测试语句模板的第二测试语句模板确定为输入框类型目标测试语句模板,以快速生成准确的测试语句。
在可能的实施方式中,所述根据所述显示类型,确定目标测试语句模板的步骤,具体可以包括:
确定所述显示类型是否为文本类型;在所述显示类型为所述文本类型时,确定以生成点击操作的测试语句模板的第三测试语句模板为所述目标测试语句模板;在所述显示类型不是所述文本类型时,确定所述显示类型是否为图像类型;在所述显示类型为所述图像类型时,确定以生成点击操作的测试语句模板的第四测试语句模板为所述目标测试语句模板;在所述显示类型不是所述图像类型时,确定所述显示类型是否为选择框类型;在所述显示类型为所述选择框类型时,确定以生成点击操作的测试语句模板的第五测试语句模板为所述目标测试语句模板;在所述显示类型不是所述选择框类型时,确定以生成输入操作的测试语句模板的第六测试语句模板为所述目标测试语句模板。
应当理解的是,通过待测试软件的操作过程的录制视频来生成测试脚本时,由于录制视频中包含待测试软件的显示页面中的所有内容,而显示页面中显示内容的显示类型占比一般是文本类型大于图像类型,图像类型大于控件类型。为减少对显示类型的判断次数,本实施例通过在获取到显示内容的显示类型时,首先判断显示类型是否为文本类型,在显示类型不是文本类型时,再判断显示类型是否为图像类型,以通过此种判断顺序来减少对显示类型的判断次数,进一步提升测试脚本的生成效率。
另外应当理解的是,控件类型一般包括输入框类型和选择框类型(单选框类型或复选框类型)两种,不同类型的控件对应的测试语句不同。由此本实施例在确定显示类型不是图像类型时,再对控件的类型进行判断,从而根据不同类型的控件生成对应的测试语句。
在可能的实施方式中,所述方法还可以包括:
在所述显示类型为所述图像类型的情况下,确定所述显示内容是否为预设文本;在所述显示内容为所述预设文本时,确定以生成点击操作的测试语句模板的第七测试语句模板为所述目标测试语句模板,并存储所述显示信息;
所述确定以生成点击操作的测试语句模板的第四测试语句模板为所述目标测试语句模板,可以包括:
在所述显示内容不是所述预设文本时,确定以生成点击操作的测试语句模板的第四测试语句模板为所述目标测试语句模板。
应当理解的是,预设文本可以根据实际情况进行设置,本公开实施例对此不作任何限制。在可能的实施方式中,预设文本可以是“未识别图像”或者“未知图”。相应地,在显示内容为预设文本时,生成点击预设文本的测试语句可以是“点击未识别图像”。
另外应当理解的是,图像中的图像内容一般是通过图像内容识别模型进行识别。而图像内容识别模型在识别图像的图像内容之前,需要先根据训练样本进行训练,而训练样本通常是有限的,导致训练好的图像内容识别模型并非能够识别所有图像的图像内容。因此本实施例通过将图像内容未知的图像存储起来,以作为新的训练样本对图像内容识别模型进行训练,以便图像内容识别模型后续能够识别出该图像内容。
其中,图像内容识别模型可以是相关技术中已有的图像内容识别模型,也可以是改进后的图像内容识别模型,本公开实施例对此也不作任何限制。在可能的实施方式中,图像内容识别模型可以是多视角卷积神经网络(Multi-view Convolutional NeuralNetwork,MVCNN)或者区域卷积神经网络(Region-based Convolutional NeuralNetworks,R-CNN)等。
在可能的实施方式中,在所述显示内容为选择框控件,所述显示类型为选择框类型的情况下,所述至少根据所述显示内容和所述目标测试语句模板,确定所述目标视频帧的测试语句的步骤,具体可以包括:
在所述目标视频帧中确定位于所述选择框控件预设位置处的第一文本;将所述第一文本作为所述选择框控件对应的第一控件名称,将所述第一控件名称填充至所述目标测试语句模板中,得到所述测试语句。
其中,选择框控件可以是单选框控件,也可以是复选框控件,本公开实施例对此不作任何限制。预设位置处的第一文本可以根据实际情况进行确定,本公开实施例对此也不作任何限制。在可能的实施方式中,预设位置处的第一文本可以是位于选择框控件右侧,且距离选择框控件最近位置处的文本。
示例地,如图4所示,显示内容为“单选框控件”,“单选框控件”右侧的第一文本为“女”。相应地,将第一文本作为单选框控件对应的控件名称,将控件名称填充至目标测试语句模板中,得到的测试语句可以为“点击单选框控件女”,或者“点击女对应的单选框控件”等。
在可能的实施方式中,在所述显示内容为输入框控件,所述显示类型为输入框类型的情况下,所述至少根据所述显示内容和所述目标测试语句模板,确定所述目标视频帧的测试语句的步骤,具体可以包括:
确定所述输入框控件的第一位置坐标;在所述目标视频帧中确定位于所述输入框控件预设位置处的第二文本,并根据所述第一位置坐标在下一视频帧中确定第三文本;将所述第三文本作为输入所述输入框控件中的目标内容,所述第二文本作为所述输入框控件对应的第二控件名称,并将所述目标内容和所述第二控件名称填充至所述目标测试语句模板,得到所述测试语句。
应当理解的是,在下一视频帧中根据第一位置坐标确定第三文本,可以是先根据第一位置坐标在下一视频帧中定位到同一输入框控件,然后再根据通用文字识别模型对该输入框控件中的文字进行识别,得到第三文本。其中,通用文字识别模型可以是场景文本检测器(Efficient and Accurate Scene Text Detector,EAST)、光学字符识别模型(Optical Character Recognition,OCR)或者卷积循环神经网络(ConvolutionalRecurrent Neural Network,CRNN)。
另外应当理解的是,位于输入框控件预设位置处的第二文本可以根据实际情况进行确定,本公开实施例对此不作任何限制。在可能的实施方式中,位于输入框控件预设位置处的第二文本可以是靠近输入框控件左侧的文本,也可以是是靠近输入框控件上方的文本。
示例地,如图5所示,显示内容为“输入框控件”,“输入框控件”左侧的第二文本为“出生日期”,下一视频帧中的第三文本为“xx年xx月xx日”。相应地,将第三文本作为输入至输入框控件中的目标内容,第二文本作为输入框控件对应的控件名称,并将目标内容和控件名称填充至第二测试语句目标,得到的测试语句可以为“向出生日期输入框中输入xx年xx月xx日”或者“向出生日期对应的输入框中输入xx年xx月xx日”等。
在可能的实施方式中,所述方法还可以包括:
确定所述显示内容在所述目标视频帧中的显示顺序;
相应地,所述至少根据所述显示内容和所述目标测试语句模板,确定所述目标视频帧的测试语句的步骤,具体可以包括:
根据所述显示内容、所述显示内容在所述目标视频中的显示顺序以及所述目标测试语句模板,确定所述目标视频帧的测试语句。
应当理解的是,显示内容在目标视频帧中的显示顺序可以根据实际情况进行设置,本公开实施例对此不做任何限制。在可能的实施方式中,显示内容的显示顺序可以根据显示内容在目标视频帧中从左至右的排列顺序进行确定。即,针对目标视频帧中的每一显示行,依次遍历对应的显示内容,并根据遍历顺序确定对应显示内容的显示顺序。
示例地,一目标视频帧存在5个显示行,第二个显示行和第五个显示行中均存在显示内容“搜索控件”,且第二个显示行中存在两个“搜索控件”,则该目标视频帧中“搜索控件”的显示顺序可以是:将在第二个显示行中遍历到的第一个“搜索控件”的显示顺序确定为1,将在第二个显示行中遍历到的第二个“搜索控件”的显示顺序确定为2,将在第五个显示行中遍历到的“搜索控件”的显示顺序确定为3。相应地,根据显示内容、显示内容在目标视频中的显示顺序以及目标测试语句模板,确定的测试语句可以为“点击第2个搜索控件”或者“点击显示顺序为2对应的搜索控件”等。
应当理解的是,显示内容在目标视频帧中显示顺序的确定方式仅为示意,并不构成对方案的限制。在可能的实施方式中,还可以根据从上至下的顺序进行确定。即,针对目标视频帧中的每一显示列,依次遍历对应的显示内容,并根据遍历顺序确定对应显示内容的显示顺序。
在可能的实施方式中,为了简化测试语句,在目标视频帧中只有一个显示内容时,仅根据显示内容和目标测试语句模板,确定测试语句。示例地,当显示内容为“搜索控件”,且目标视频帧中仅存在一个“搜索控件时”,则根据显示内容和目标测试语句模板,确定的测试语句可以是“点击搜索控件”。
在可能的实施方式中,如图6所示,所述视频帧识别库可以通过如下方式生成:
根据边缘检测算法对每个视频帧进行切割,得到多个无嵌套图;针对每个所述无嵌套图,基于文字识别模型和/或图像内容识别模型确定所述无嵌套图中的显示信息;确定每个所述无嵌套图在对应视频帧中的第二位置坐标、每个所述显示信息的显示类型、每个所述显示信息在对应视频帧中的显示顺序,以及所述视频帧、所述无嵌套图、所述显示信息、所述显示顺序、所述第二位置坐标以及所述显示类型之间的对应关系;根据所有的所述视频帧、所述无嵌套图、所述第二位置坐标、所述显示信息、所述显示顺序、所述显示类型以及所述对应关系,确定所述视频帧识别库。
应当理解的是,边缘检测算法是通过对图像中的像素值进行分析和计算,从而确定出像素之间的变化和边界信息,进而确定出图像中各元素的边界。本实施例中通过边缘检测算法对视频帧中各元素的边界进行切割,从而可以得到多个仅包含单一元素的图像,进而在根据光标触点的位置信息确定光标触点的显示信息时,可以使得显示信息对应的元素均为同一个元素,由此保证根据显示信息确定的测试语句的准确性以及唯一性。
另外应当理解的是,边缘检测算法可以是相关技术中已有的边缘检测算法,也可以是改进后的边缘检测算法,本公开实施例对此不作任何限制。在可能的实施方式中,边缘检测算法可以是拉普拉斯算子(Laplacian)、罗伯茨算子(Roberts)或者索贝尔算子(Sobel)。
此外还应当理解的是,文字识别模型也可以是相关技术中已有的文字识别模型,也可以是改进后的文字识别模型,本公开实施例对此也不作任何限制。在可能的实施方式中,文字识别模型可以是光学字符识别模型(Optical Character Recognition,OCR)或者卷积循环神经网络(Convolutional Recurrent Neural Network,CRNN)等。
基于同一构思,本公开实施例还提供一种测试脚本生成装置,如图7所示,所述测试脚本生成装置700可以包括:
获取模块710,用于获取目标视频,所述目标视频为待测试软件的操作过程的录制视频;
第一确定模块720,用于根据目标视频帧和所述目标视频帧中光标触点的位置信息,从预设的视频帧识别库中确定所述目标视频帧中对应所述光标触点的显示信息,其中,所述目标视频帧为所述目标视频中多个视频帧中的任一视频帧,所述视频帧识别库用于表征所述任一视频帧中显示信息与位置信息之间的对应关系;
第二确定模块730,用于至少根据所述显示信息确定所述目标视频帧的测试语句;
第三确定模块740,用于根据所述多个视频帧的测试语句,确定所述待测试软件的测试脚本。
在可能的实施方式中,所述显示信息包括显示内容和所述显示内容对应的显示类型,相应地,所述第二确定模块730可以包括:
第一确定单元,用于根据所述显示类型,确定目标测试语句模板;
第二确定单元,用于至少根据所述显示内容和所述目标测试语句模板,确定所述目标视频帧的测试语句。
在可能的实施方式中,所述第一确定单元可以包括:
第一确定子单元,用于当所述显示类型为文本类型、图像类型和选择框类型中的任一者时,确定以生成点击操作的测试语句模板的第一测试语句模板为所述目标测试语句模板;
第二确定子单元,用于当所述显示类型为输入框类型时,确定以生成输入操作的测试语句模板的第二测试语句模板为所述目标测试语句模板。
在可能的实施方式中,所述第一确定单元可以包括:
第三确定子单元,用于确定所述显示类型是否为文本类型;
第四确定子单元,用于在所述显示类型为所述文本类型时,确定以生成点击操作的测试语句模板的第三测试语句模板为所述目标测试语句模板;
第五确定子单元,用于在所述显示类型不是所述文本类型时,确定所述显示类型是否为图像类型;
第六确定子单元,用于在所述显示类型为所述图像类型时,确定以生成点击操作的测试语句模板的第四测试语句模板为所述目标测试语句模板;
第七确定子单元,用于在所述显示类型不是所述图像类型时,确定所述显示类型是否为选择框类型;
第八确定子单元,用于在所述显示类型为所述选择框类型时,确定以生成点击操作的测试语句模板的第五测试语句模板为所述目标测试语句模板;
第九确定子单元,用于在所述显示类型不是所述选择框类型时,确定以生成输入操作的测试语句模板的第六测试语句模板为所述目标测试语句模板。
在可能的实施方式中,所述第一确定单元还可以包括:
第十确定子单元,用于在所述显示类型为所述图像类型的情况下,确定所述显示内容是否为预设文本;
第十一确定子单元,用于在所述显示内容为所述预设文本时,确定以生成点击操作的测试语句模板的第七测试语句模板为所述目标测试语句模板,并存储所述显示信息;
相应地,所述第六确定子单元可以用于在所述显示内容不是所述预设文本时,确定以生成点击操作的测试语句模板的第四测试语句模板为所述目标测试语句模板。
在可能的实施方式中,在所述显示内容为选择框控件,所述显示类型为选择框类型的情况下,所述第二确定单元可以包括:
第十二确定子单元,用于在所述目标视频帧中确定位于所述选择框控件预设位置处的第一文本;
第一填充子单元,用于将所述第一文本作为所述选择框控件对应的第一控件名称,将所述第一控件名称填充至所述目标测试语句模板中,得到所述测试语句。
在可能的实施方式中,在所述显示内容为输入框控件,所述显示类型为输入框类型的情况下,所述第二确定单元可以包括:
第十三确定子单元,用于确定所述输入框控件的第一位置坐标;
第十四确定子单元,用于在所述目标视频帧中确定位于所述输入框控件预设位置处的第二文本,并根据所述第一位置坐标在下一视频帧中确定第三文本;
第二填充子单元,用于将所述第三文本作为输入所述输入框控件中的目标内容,所述第二文本作为所述输入框控件对应的第二控件名称,并将所述目标内容和所述第二控件名称填充至所述目标测试语句模板,得到所述测试语句。
在可能的实施方式中,所述测试脚本生成装置700还可以包括:
第四确定模块,用于确定所述显示内容在所述目标视频帧中的显示顺序;
相应地,所述第二确定单元可以包括:
第十五确定子单元,用于根据所述显示内容、所述显示内容在所述目标视频中的显示顺序以及所述目标测试语句模板,确定所述目标视频帧的测试语句。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8是根据一示例性实施例示出的一种电子设备800的框图。如图8所示,该电子设备800可以包括:处理器801,存储器802。该电子设备800还可以包括多媒体组件803,输入/输出(I/O)接口804,以及通信组件805中的一者或多者。
其中,处理器801用于控制该电子设备800的整体操作,以完成上述的测试脚本生成方法中的全部或部分步骤。存储器802用于存储各种类型的数据以支持在该电子设备800的操作,这些数据例如可以包括用于在该电子设备800上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件803可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器802或通过通信组件805发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口804为处理器801和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件805用于该电子设备800与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件805可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的测试脚本生成方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的测试脚本生成方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器802,上述程序指令可由电子设备800的处理器801执行以完成上述的测试脚本生成方法。
图9是根据一示例性实施例示出的一种电子设备900的框图。例如,电子设备900可以被提供为一服务器。参照图9,电子设备900包括处理器922,其数量可以为一个或多个,以及存储器932,用于存储可由处理器922执行的计算机程序。存储器932中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器922可以被配置为执行该计算机程序,以执行上述的测试脚本生成方法。
另外,电子设备900还可以包括电源组件926和通信组件950,该电源组件926可以被配置为执行电子设备900的电源管理,该通信组件950可以被配置为实现电子设备900的通信,例如,有线或无线通信。此外,该电子设备900还可以包括输入/输出(I/O)接口958。电子设备900可以操作基于存储在存储器932的操作系统。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的测试脚本生成方法的步骤。例如,该非临时性计算机可读存储介质可以为上述包括程序指令的存储器932,上述程序指令可由电子设备900的处理器922执行以完成上述的测试脚本生成方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的测试脚本生成方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (11)
1.一种测试脚本生成方法,其特征在于,所述方法包括:
获取目标视频,所述目标视频为待测试软件的操作过程的录制视频;
根据目标视频帧和所述目标视频帧中光标触点的位置信息,从预设的视频帧识别库中确定所述目标视频帧中对应所述光标触点的显示信息,其中,所述目标视频帧为所述目标视频中多个视频帧中的任一视频帧,所述视频帧识别库用于表征所述任一视频帧中显示信息与位置信息之间的对应关系;
至少根据所述显示信息确定所述目标视频帧的测试语句;
根据所述多个视频帧的测试语句,确定所述待测试软件的测试脚本。
2.根据权利要求1所述的方法,其特征在于,所述显示信息包括显示内容和所述显示内容对应的显示类型,
其中,所述至少根据所述显示信息确定所述目标视频帧的测试语句的步骤,具体包括:
根据所述显示类型,确定目标测试语句模板;
至少根据所述显示内容和所述目标测试语句模板,确定所述目标视频帧的测试语句。
3.根据权利要求2所述的方法,其特征在于,所述根据所述显示类型,确定目标测试语句模板的步骤,具体包括:
当所述显示类型为文本类型、图像类型和选择框类型中的任一者时,确定以生成点击操作的测试语句模板的第一测试语句模板为所述目标测试语句模板;
当所述显示类型为输入框类型时,确定以生成输入操作的测试语句模板的第二测试语句模板为所述目标测试语句模板。
4.根据权利要求2所述的方法,其特征在于,所述根据所述显示类型,确定目标测试语句模板的步骤,具体包括:
确定所述显示类型是否为文本类型;
在所述显示类型为所述文本类型时,确定以生成点击操作的测试语句模板的第三测试语句模板为所述目标测试语句模板;
在所述显示类型不是所述文本类型时,确定所述显示类型是否为图像类型;
在所述显示类型为所述图像类型时,确定以生成点击操作的测试语句模板的第四测试语句模板为所述目标测试语句模板;
在所述显示类型不是所述图像类型时,确定所述显示类型是否为选择框类型;
在所述显示类型为所述选择框类型时,确定以生成点击操作的测试语句模板的第五测试语句模板为所述目标测试语句模板;
在所述显示类型不是所述选择框类型时,确定以生成输入操作的测试语句模板的第六测试语句模板为所述目标测试语句模板。
5.根据权利要求4所述的方法,所述方法还包括:
在所述显示类型为所述图像类型的情况下,确定所述显示内容是否为预设文本;
在所述显示内容为所述预设文本时,确定以生成点击操作的测试语句模板的第七测试语句模板为所述目标测试语句模板,并存储所述显示信息;
所述确定以生成点击操作的测试语句模板的第四测试语句模板为所述目标测试语句模板,包括:
在所述显示内容不是所述预设文本时,确定以生成点击操作的测试语句模板的第四测试语句模板为所述目标测试语句模板。
6.根据权利要求2-5中任一项所述的方法,其特征在于,
在所述显示内容为选择框控件,所述显示类型为选择框类型的情况下,
所述至少根据所述显示内容和所述目标测试语句模板,确定所述目标视频帧的测试语句的步骤,具体包括:
在所述目标视频帧中确定位于所述选择框控件预设位置处的第一文本;
将所述第一文本作为所述选择框控件对应的第一控件名称,将所述第一控件名称填充至所述目标测试语句模板中,得到所述测试语句。
7.根据权利要求2-5中任一项所述的方法,其特征在于,
在所述显示内容为输入框控件,所述显示类型为输入框类型的情况下,
所述至少根据所述显示内容和所述目标测试语句模板,确定所述目标视频帧的测试语句的步骤,具体包括:
确定所述输入框控件的第一位置坐标;
在所述目标视频帧中确定位于所述输入框控件预设位置处的第二文本,并根据所述第一位置坐标在下一视频帧中确定第三文本;
将所述第三文本作为输入所述输入框控件中的目标内容,所述第二文本作为所述输入框控件对应的第二控件名称,并将所述目标内容和所述第二控件名称填充至所述目标测试语句模板,得到所述测试语句。
8.根据权利要求2-5中任一项所述的方法,其特征在于,所述方法还包括:
确定所述显示内容在所述目标视频帧中的显示顺序;
所述至少根据所述显示内容和所述目标测试语句模板,确定所述目标视频帧的测试语句的步骤,具体包括:
根据所述显示内容、所述显示内容在所述目标视频中的显示顺序以及所述目标测试语句模板,确定所述目标视频帧的测试语句。
9.一种测试脚本生成装置,其特征在于,所述装置包括:
获取模块,用于获取目标视频,所述目标视频为待测试软件的操作过程的录制视频;
第一确定模块,用于根据目标视频帧和所述目标视频帧中光标触点的位置信息,从预设的视频帧识别库中确定所述目标视频帧中对应所述光标触点的显示信息,其中,所述目标视频帧为所述目标视频中多个视频帧中的任一视频帧,所述视频帧识别库用于表征所述任一视频帧中显示信息与位置信息之间的对应关系;
第二确定模块,用于至少根据所述显示信息确定所述目标视频帧的测试语句;
第三确定模块,用于根据所述多个视频帧的测试语句,确定所述待测试软件的测试脚本。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-8中任一项所述方法的步骤。
11.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311291025.7A CN117472738A (zh) | 2023-10-07 | 2023-10-07 | 测试脚本生成方法、装置、可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311291025.7A CN117472738A (zh) | 2023-10-07 | 2023-10-07 | 测试脚本生成方法、装置、可读存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117472738A true CN117472738A (zh) | 2024-01-30 |
Family
ID=89630260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311291025.7A Pending CN117472738A (zh) | 2023-10-07 | 2023-10-07 | 测试脚本生成方法、装置、可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117472738A (zh) |
-
2023
- 2023-10-07 CN CN202311291025.7A patent/CN117472738A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107506300B (zh) | 一种用户界面测试方法、装置、服务器和存储介质 | |
CN109871326B (zh) | 一种脚本录制的方法和装置 | |
CN107025174B (zh) | 用于设备的用户界面异常测试的方法、装置和可读储介质 | |
US9152521B2 (en) | Systems and methods for testing content of mobile communication devices | |
CN111881019B (zh) | 一种用户界面测试方法及装置 | |
CN111026645A (zh) | 用户界面自动化测试方法、装置、存储介质及电子设备 | |
CN109558331B (zh) | 应用程序的缺陷检测方法、装置、设备和存储介质 | |
CN113963770A (zh) | 报告文件生成方法、装置、计算机设备及其存储介质 | |
CN109978044B (zh) | 训练数据生成方法和装置、以及模型的训练方法和装置 | |
US9378109B1 (en) | Testing tools for devices | |
CN112712121B (zh) | 一种图像识别模型训练方法、装置及存储介质 | |
WO2016000547A1 (zh) | 应用程序中控件的触发方法、装置及移动终端 | |
CN114238048B (zh) | 一种Web前端性能自动化测试方法及系统 | |
CN117472738A (zh) | 测试脚本生成方法、装置、可读存储介质及电子设备 | |
CN110967036A (zh) | 导航产品的测试方法和设备 | |
CN117667663A (zh) | 控件定位路径确定方法、装置、设备、存储介质及产品 | |
CN113849415A (zh) | 控件测试方法、装置、存储介质及电子设备 | |
CN115062571A (zh) | 应用于集成电路器件的数据区域动态选取方法、系统、设备和计算机可读存储介质 | |
CN114840190A (zh) | 代码生成方法、装置、计算机设备及存储介质 | |
CN113849416A (zh) | 测试方法、装置、存储介质及电子设备 | |
CN114546850A (zh) | 一种埋点的自动化测试方法、系统、装置及存储介质 | |
CN111309583B (zh) | 界面过度绘制检测方法、装置、介质及计算设备 | |
CN110968519A (zh) | 一种游戏测试方法、装置、服务器及存储介质 | |
CN104572450A (zh) | 一种检测资源配置的方法及装置 | |
CN111026644B (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 |