CN112882933A - 脚本录制方法、装置、设备及存储介质 - Google Patents

脚本录制方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112882933A
CN112882933A CN202110181929.9A CN202110181929A CN112882933A CN 112882933 A CN112882933 A CN 112882933A CN 202110181929 A CN202110181929 A CN 202110181929A CN 112882933 A CN112882933 A CN 112882933A
Authority
CN
China
Prior art keywords
control element
script
attribute
webpage
relative position
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
Application number
CN202110181929.9A
Other languages
English (en)
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.)
Jingdong Shuke Haiyi Information Technology Co Ltd
Original Assignee
Jingdong Shuke Haiyi Information Technology Co Ltd
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 Jingdong Shuke Haiyi Information Technology Co Ltd filed Critical Jingdong Shuke Haiyi Information Technology Co Ltd
Priority to CN202110181929.9A priority Critical patent/CN112882933A/zh
Publication of CN112882933A publication Critical patent/CN112882933A/zh
Pending legal-status Critical Current

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)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及一种脚本录制方法、装置、设备及存储介质。该方法包括获取脚本录制过程中对网页页面执行测试操作的操作信息;确定与操作信息对应的目标控件元素;确定目标控件元素的查找属性,并将操作信息和查找属性录入脚本中,查找属性用于在网页页面中唯一标识目标控件元素。可见,本申请的方案能够获取网页页面的自动化测试脚本。

Description

脚本录制方法、装置、设备及存储介质
技术领域
本申请涉及计算机领域,尤其涉及一种脚本录制方法、装置、设备及存储介质。
背景技术
在软件开发的过程中,为了发现软件中潜在的错误,缺陷,或者为了确认软件是否满足用户在软件开发之前提出的性能需求,通常会对开发出来的软件进行手工测试或自动化测试。
由于手工测试需占用大量时间及人力、且测试效率较低,因此,基于时间和成本的考虑,现阶段通常采取自动化测试的方式对软件进行测试。而为了进行自动化测试,通常需要使用自动化测试脚本进行测试。因此,如何获取自动化测试脚本成为了本领域技术人员较为关注的一个问题。
发明内容
本申请提供了一种脚本录制方法、装置、设备及存储介质,用以获取自动化测试脚本。
第一方面、提供一种脚本录制方法,包括:
获取脚本录制过程中对网页页面执行测试操作的操作信息;
确定与所述操作信息对应的目标控件元素;
确定所述目标控件元素的查找属性,并将所述操作信息和所述查找属性录入所述脚本中,所述查找属性用于在所述网页页面中唯一标识所述目标控件元素。
可选地,获取脚本录制过程中对网页页面执行测试操作的操作信息,包括:
在所述脚本录制过程中,判断是否监听到对所述网页页面的操作事件;
若是,获取与所述操作事件对应的操作坐标,并根据所述操作坐标得到所述操作信息,所述操作坐标用于指示所述操作事件在所述网页页面的操作位置。
可选地,在监听到对所述网页页面的操作事件之后,还包括:
获取所述网页页面中的至少一个控件元素;
分别对于所述至少一个控件元素中的每个控件元素,获取所述控件元素的相对位置属性,并对所述控件元素添加相对位置属性,所述相对位置属性用于描述所述控件元素与所述至少一个控件元素中的其它控件元素的相对位置。
可选地,所述至少一个控件元素,包括:
所述网页页面中显示的控件元素、以及基于所述显示的控件元素得到的隐藏的控件元素。
可选地,获取所述控件元素的相对位置属性,包括:
采用预设路径语言、按照最短原则,得到所述控件元素与所述其它控件元素的最短相对位置;
基于所述最短相对位置,得到所述相对位置属性,其中所述相对位置属性能够在所述网页页面中唯一标识所述控件元素。
可选地,确定所述目标控件元素的查找属性,包括:
获取所述目标控件元素的至少一个控件属性、以及每个所述控件属性的优先级;
按照每个所述控件的优先级,从所述至少一个控件属性中筛选得到所述查找属性。
可选地,将所述操作信息和所述查找属性录入所述脚本中,包括:
生成与所述操作信息对应的步骤类型;
利用所述步骤类型和所述查找属性,得到与所述脚本匹配的脚本步骤;
将所述脚本步骤录入所述脚本中。
第二方面、提供一种脚本录制装置,包括:
获取单元,用于获取脚本录制过程中对网页页面执行测试操作的操作信息;
第一确定单元,用于确定与所述操作信息对应的目标控件元素;
第二确定单元,用于确定所述目标控件元素的查找属性,并将所述操作信息和所述查找属性录入所述脚本中,所述查找属性用于在所述网页页面中唯一标识所述目标控件元素。
可选地,所述获取单元包括:
判断模块,用于在所述脚本录制过程中,判断是否监听到对所述网页页面的操作事件;
第一获取模块,用于当所述判断模块确定监听到对所述网页页面的操作事件时,获取与所述操作事件对应的操作坐标,并根据所述操作坐标得到所述操作信息,所述操作坐标用于指示所述操作事件在所述网页页面的操作位置。
可选地,还包括:
第二获取模块,用于获取所述网页页面中的至少一个控件元素;
处理模块,用于分别对于所述至少一个控件元素中的每个控件元素,获取所述控件元素的相对位置属性,并对所述控件元素添加相对位置属性,所述相对位置属性用于描述所述控件元素与所述至少一个控件元素中的其它控件元素的相对位置。
可选地,所述至少一个控件元素,包括:
所述网页页面中显示的控件元素、以及基于所述显示的控件元素得到的隐藏的控件元素。
可选地,所述处理模块,包括:
第一获得模块,用于采用预设路径语言、按照最短原则,得到所述控件元素与所述其它控件元素的最短相对位置;
第二获得模块,用于基于所述最短相对位置,得到所述相对位置属性,其中所述相对位置属性能够在所述网页页面中唯一标识所述控件元素。
可选地,所述第二确定单元,包括:
第三获取模块,用于获取所述目标控件元素的至少一个控件属性、以及每个所述控件属性的优先级;
筛选模块,用于按照每个所述控件的优先级,从所述至少一个控件属性中筛选得到所述查找属性。
第三方面、提供一种电子设备,包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现第一方面所述的脚本录制方法。
第四方面、提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的脚本录制方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例中,在脚本录制过程中,获取对网页页面的执行测试操作的操作信息,确定与操作信息对应的目标控件元素,确定目标控件元素的查找属性,并将操作信息和查找属性录入脚本中。可见,本申请的方案能够获取网页页面的自动化测试脚本。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种脚本录制方法的流程示意图;
图2为本申请实施例中又一种脚本录制方法的流程示意图;
图3为本申请实施例中又一种脚本录制方法的流程示意图;
图4为本申请实施例中又一种脚本录制方法的流程示意图;
图5为本申请实施例中网页页面的结构示意图;
图6为本申请实施例中又一种脚本录制方法的流程示意图;
图7为本申请实施例中又一种脚本录制方法的流程示意图;
图8为具有录制功能的电子设备进行脚本录制时的显示界面的显示示意图;
图9为本申请实施例中又一种脚本录制方法的流程示意图;
图10为本申请实施例中一种脚本录制装置的结构示意图;
图11为本申请实施例中电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例提供一种脚本录制方法,该方法可以应用于具有录制功能的电子设备中,如图1所示,该方法可以包括以下步骤:
步骤101、获取脚本录制过程中对网页页面执行测试操作的操作信息。
可选地,可以通过加载网页页面对应的URL,得到网页页面。
实际应用中,用户可以在浏览器中输入网页页面对应的URL,由浏览器加载URL,得到对应的网页页面。
可选地,测试操作可以包括来自于鼠标的测试操作和/或来自于键盘的测试操作。
示例性地,来自于鼠标的测试操作可以包括用户通过鼠标对网页页面的点击、双击或拖拽等操作。
例如,用户通过鼠标点击网页页面上表示购物网站A的控件元素。
示例性地,来自于键盘的测试操作可以包括用户通过键盘对网页页面进行输入的操作。
例如,用户通过键盘向网页页面中的输入框中输入搜索关键字。
可选地,为了获取对网页页面执行测试操作的操作信息,可以预先在电子设备中嵌入浏览器控件(如webview组件),并在浏览器控件中设置对事件的监听,从而通过该浏览器控件实现对各种测试操作的监听。
具体地,可以在加载网页页面的同时,在浏览器控件中设置事件的监听,以实现对来自鼠标或键盘的事件的监听。
可选地,本实施例中,测试操作的操作信息可以包括操作事件对应的操作坐标,其中操作坐标用于指示操作事件在网页页面的操作位置。
本实施例中,操作坐标以电子设备的坐标系为参照坐标系。
其中,在电子设备的坐标系中,电子设备的左上角为坐标系中的原点。
可选地,当操作信息为操作坐标时,如图2所示,步骤101可以包括以下步骤:
步骤201、在脚本录制过程中,判断是否监听到对网页页面的操作事件,若是,执行步骤202;
可以理解的是,对网页页面的操作事件可以包括对网页页面的点击事件、双击事件、拖拽事件或输入事件等事件。
可选地,本实施例中可以设置监听周期,并在监听周期到来时判断是否监听到对网页页面的操作事件。
此时,若在当前监听周期内未监听到对网页页面的操作事件,那么等待下一个监听周期到来时,继续监听对网页页面的操作事件,直到脚本录制过程结束。
可选地,本实施例中,还可以设置实时对网页页面的操作事件进行监听。
此时,若未监听到对网页页面的操作事件,则进一步判断脚本录制过程是否结束,若脚本录制过程结束则结束流程,否则继续监听对网页页面的操作事件,直到脚本录制过程结束。
可选地,本实施例中,脚本录制过程至少包括录制开始和录制结束两个时间点。当确定录制开始的时间点到来时,开始监听网页页面的操作事件。
实际应用中,用户可以在浏览器加载到网页页面后,点击电子设备中预设的录制按钮,以开启脚本的录制,并在录制结束后,再次点击电子设备,以结束对脚本的录制。
可以理解的是,当设置监听周期、并在监听周期到来时判断是否监听到对网页页面的操作事件时,在录制开始到录制结束的这段录制时间包括至少一个监听周期。
步骤202、获取与操作事件对应的操作坐标,并根据操作坐标得到操作信息。
其中,操作坐标用于定位目标控件元素。
实际应用中,该操作坐标可以为目标控件元素的绝对位置参数,因此基于该操作坐标可以从网页页面的至少一个控件元素中定位到目标控件元素。
可选地,在基于操作坐标从网页页面的至少一个控件元素中定位目标控件元素时,可以获取各个控件元素的控件坐标,将操作坐标与各个控件元素的控件坐标进行匹配,从而从至少一个控件元素中定位到目标控件元素。
其中,可以利用嵌入到浏览器中的webview组件,获取各个控件元素的控件坐标。
步骤102、确定与操作信息对应的目标控件元素;
步骤103、确定目标控件元素的查找属性,并将操作信息和查找属性录入脚本中。
查找属性用于在网页页面中唯一标识目标控件元素。
可选地,本实施例中,查找属性可以为目标控件元素的ID等能够将目标控件元素与其它控件元素区别开的属性。
因此,当确定目标控件元素的查找属性时,获取目标控件元素的至少一个属性,对至少一个属性进行筛选,得到目标属性集合,从目标属性集合得到查找属性。
其中,目标属性集合与其它控件元素的属性所构成的集合没有交集。
可选地,可以将目标属性集合中的任一属性作为查找属性,当然还可以对目标属性集合中的属性按照预设参数进行排序,并从排序后的集合中得到查找属性。
示例性地,预设参数包括但不限于优先级。
此时,可以按照优先级对目标属性集合中属性进行排序,并将排序后的目标属性集合中优先级最高的属性作为查找属性。
可选地,当获取的查找属性不符合标准时,还可以人为编辑修改查找属性。
例如,当获取的查找属性为目标控件元素的ID时,由于在编写目标控件元素时,编写人员存在误将目标控件元素与其它控件元素的ID设为同一ID的情况,此时,可以将目标控件元素的属性由ID修正为其它属性。
本申请实施例中,在脚本录制过程中,获取对网页页面的执行测试操作的操作信息,确定与操作信息对应的目标控件元素,确定目标控件元素的查找属性,并将操作信息和查找属性录入脚本中。可见,本申请的方案能够获取网页页面的自动化测试脚本。
在本申请的又一实施例中,在前述步骤201至步骤202的实施例的基础上,如图3所示,在监听到对网页页面的操作事件之后,还可以包括以下步骤:
步骤301、获取网页页面中的至少一个控件元素。
可选地,本实施例中,网页页面中的至少一个控件元素包括网页页面中显示的控件元素、以及基于显示的控件元素得到隐藏的控件元素。
可选地,网页页面中显示的控件元素中、具有隐藏的控件元素的控件元素可以为容器控件元素。
示例性地,容器控件元素可以为frame控件。
可选地,在得到隐藏的控件元素时,本实施例可以对得到的每个控件元素执行判断其是否为容器控件元素的步骤,在得到肯定的判断结果时,从容器控件元素中获取隐藏的控件元素。
步骤302、分别对于至少一个控件元素中的每个控件元素,获取控件元素的相对位置属性,并对控件元素添加相对位置属性。
其中,相对位置属性用于描述控件元素与至少一个控件元素中的其它控件元素的相对位置。
可选地,本实施例可以通过JavaScript脚本为控件元素添加相对位置属性、以及获取网页页面中的至少一个控件元素。
具体地,可以在加载网页页面的同时,将JavaScript脚本注入到网页页面中,通过注入JavaScript脚本可以动态修改网页页面的内容,获取网页页面中的控件元素。
可选地,在为控件元素添加相对位置属性的同时,为了降低对内存的占用,还可以去除控件元素中无用的属性,如align属性,其中,align属性用于表示网页页面中各控件元素的排列方式。
在本申请的又一实施例中,在前述步骤301至步骤302的实施例的基础上,如图4所示,步骤301可以包括以下步骤:
步骤401、采用预设路径语言、按照最短原则,得到控件元素与其它控件元素的最短相对位置。
可选地,本实施例中,预设路径语言包括但不限于XML路径语言(XML PathLanguage,xPath)。
本实施例中,基于最短原则得到的最短相对位置,相对于非最短原则得到的相对位置而言,最短相对位置中,其它控件元素的个数最少、并且同时还能使得到的相对位置属性在网页页面中唯一标识控件元素。
请参照图5,图5为网页页面的一个示例。
其中,A-G为网页页面中的控件元素,控件元素A相对其它控件元素的相对位置可以为,控件元素A的右侧最接近的控件元素为控件元素E、且右侧次接近的控件元素为控件元素G,控件元素A的左侧最接近的控件元素为控件元素D。
在上述相对位置中,“控件元素A的左侧最接近的控件元素为控件元素D”这一相对位置中仅包括一个其它控件元素,即控件元素D,而在“控件元素A的右侧最接近的控件元素为控件元素E、且右侧次接近的控件元素为控件元素G”这一相对位置中,包括两个其它控件元素,即控件元素E和控件元素G,因此可以将“控件元素A的左侧最接近的控件元素为控件元素D”这一相对位置,确定为控件元素与其它控件元素的最短相对位置。
步骤402、基于最短相对位置,得到相对位置属性。
其中相对位置属性能够在网页页面中唯一标识控件元素。
可选地,在基于最短相对位置得到相对位置属性时,可以从最短相对位置中提取除目标控件元素以外的其它控件元素的标识,并将该其它元素的标识作为相对位置属性。
例如,当控件元素A的最短相对位置为“控件元素A的左侧最接近的控件元素为控件元素D”时,相对位置属性可以为控件元素D的标识。
在本申请的又一实施例中,在前述步骤101至步骤103的实施例的基础上,如图6所示,步骤103可以包括以下步骤:
步骤601、生成与操作信息对应的步骤类型。
本实施例中,操作信息可以包括操作类型,因此在生成与操作信息对应的步骤类型时,可以先从操作信息中获取操作类型,并基于操作类型得到步骤类型。
示例性地,操作类型包括但不限于点击、双击、输入或拖动;相应地,得到的步骤类型包括但不限于点击类型、双击类型、输入类型或拖动类型。
步骤602、利用步骤类型和查找属性,得到与脚本匹配的脚本步骤。
可选地,脚本步骤中,步骤类型和查找属性的顺序可以为,步骤类型在前,查找属性在后。
例如,脚本步骤可以为:
点击abcd;
双击cdef。
其中,“点击”和“双击”为步骤类型,“abcd”以及“cdef”为查找属性。
步骤603、将脚本步骤录入脚本中。
在前述实施例的基础上,本申请实施例提供一种脚本录制方法,如图7所示,该方法可以包括以下步骤:
步骤701、采用webview组件加载网页页面;
步骤702、判断是否监听到操作事件,若是,执行步骤703;
可选地,本实施例中可以设置监听周期,并在监听周期到来时判断是否监听到对网页页面的操作事件。
此时,若在当前监听周期内未监听到对网页页面的操作事件,那么等待下一个监听周期到来时,继续监听对网页页面的操作事件,直到脚本录制过程结束。
可选地,本实施例中,还可以设置实时对网页页面的操作事件进行监听。
此时,若未监听到对网页页面的操作事件,则进一步判断脚本录制过程是否结束,若脚本录制过程结束则结束流程,否则继续监听对网页页面的操作事件,直到脚本录制过程结束。
步骤703、获取网页页面中的至少一个控件元素;
步骤704、分别对于至少一个控件元素中的每个控件元素,获取控件元素的相对位置属性,并对控件元素添加先对位置属性;
步骤705、获取操作事件对应的操作坐标以及步骤类型,并利用操作坐标定位目标控件元素;
步骤706、确定与目标控件元素对应的查找属性;
步骤707、生成与步骤类型和查找属性对应的步骤;
步骤708、在脚本的步骤列表中展现该步骤。
请参阅图8,图8为具有录制功能的电子设备进行脚本录制时的显示界面的显示示意图,该显示界面包括:
第一显示部分801和第二显示部分802;
其中,第一显示部分801显示网页页面;第二显示部分802显示录制的脚本中的步骤列表。
可选地,在前述实施例的基础上,在获取网页页面中的至少一个控件元素时,如图9所示,可以包括以下步骤:
步骤901、向网页页面中注入JavaScript脚本,以获取网页页面中显示的控件元素;
步骤902、判断显示的控件元素中是否存在容器控件元素,若是,执行步骤903,否则执行步骤904;
步骤903、获取容器控件元素中隐藏的控件元素,并将显示的控件元素和隐藏的控件元素作为网页页面中的至少一个控件元素;
步骤904、将显示的控件元素作为网页页面中的至少一个控件元素。
基于同一构思,本申请实施例中提供了一种脚本测试装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图10所示,该装置主要包括:
获取单元1001,用于获取脚本录制过程中对网页页面执行测试操作的操作信息;
第一确定单元1002,用于确定与操作信息对应的目标控件元素;
第二确定单元1003,用于确定目标控件元素的查找属性,并将操作信息和查找属性录入脚本中,查找属性用于在网页页面中唯一标识目标控件元素。
可选地,获取单元包括:
判断模块,用于在脚本录制过程中,判断是否监听到对网页页面的操作事件;
第一获取模块,用于当判断模块确定监听到对网页页面的操作事件时,获取与操作事件对应的操作坐标,并根据操作坐标得到操作信息,操作坐标用于定位目标控件元素。
可选地,还包括:
第二获取模块,用于获取网页页面中的至少一个控件元素;
处理模块,用于分别对于至少一个控件元素中的每个控件元素,获取控件元素的相对位置属性,并对控件元素添加相对位置属性,相对位置属性用于描述控件元素与至少一个控件元素中的其它控件元素的相对位置。
可选地,至少一个控件元素,包括:
网页页面中显示的控件元素、以及基于显示的控件元素得到的隐藏的控件元素。
可选地,处理模块,包括:
第一获得模块,用于采用预设路径语言、按照最短原则,得到控件元素与其它控件元素的最短相对位置;
第二获得模块,用于基于最短相对位置,得到相对位置属性,其中相对位置属性能够在网页页面中唯一标识控件元素。
可选地,第二确定单元,包括:
第三获取模块,用于获取目标控件元素的至少一个控件属性、以及每个控件属性的优先级;
筛选模块,用于按照每个控件的优先级,从至少一个控件属性中筛选得到查找属性。
可选地,第二确定单元,还用于:
生成与操作信息对应的步骤类型;
利用步骤类型和查找属性,得到与脚本匹配的脚本步骤;
将脚本步骤录入脚本中。
基于同一构思,本申请实施例中还提供了一种电子设备,如图11所示,该电子设备主要包括:处理器1101、存储器1102和通信总线1103,其中,处理器1101和存储器1102通过通信总线1103完成相互间的通信。其中,存储器1102中存储有可被至处理器1101执行的程序,处理器1101执行存储器1102中存储的程序,实现如下步骤:
获取脚本录制过程中对网页页面执行测试操作的操作信息;确定与操作信息对应的目标控件元素;确定目标控件元素的查找属性,并将操作信息和查找属性录入脚本中,查找属性用于在网页页面中唯一标识目标控件元素。
可选地,获取脚本录制过程中对网页页面执行测试操作的操作信息,包括:
在脚本录制过程中,判断是否监听到对网页页面的操作事件;
若是,获取与操作事件对应的操作坐标,并根据操作坐标得到操作信息,操作坐标用于定位目标控件元素。
可选地,在监听到对网页页面的操作事件之后,还包括:
获取网页页面中的至少一个控件元素;
分别对于至少一个控件元素中的每个控件元素,获取控件元素的相对位置属性,并对控件元素添加相对位置属性,相对位置属性用于描述控件元素与至少一个控件元素中的其它控件元素的相对位置。
可选地,至少一个控件元素,包括:
网页页面中显示的控件元素、以及基于显示的控件元素得到的隐藏的控件元素。
可选地,获取控件元素的相对位置属性,包括:
采用预设路径语言、按照最短原则,得到控件元素与其它控件元素的最短相对位置;
基于最短相对位置,得到相对位置属性,其中相对位置属性能够在网页页面中唯一标识控件元素。
可选地,确定目标控件元素的查找属性,包括:
获取目标控件元素的至少一个控件属性、以及每个控件属性的优先级;
按照每个控件的优先级,从至少一个控件属性中筛选得到查找属性。
可选地,将操作信息和查找属性录入脚本中,包括:
生成与操作信息对应的步骤类型;
利用步骤类型和查找属性,得到与脚本匹配的脚本步骤;
将脚本步骤录入脚本中。
上述电子设备中提到的通信总线1103可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线1103可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1102可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器1101的存储装置。
上述的处理器1001可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等,还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的脚本录制方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD)或者半导体介质(例如固态硬盘)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种脚本录制方法,其特征在于,包括:
获取脚本录制过程中对网页页面执行测试操作的操作信息;
确定与所述操作信息对应的目标控件元素;
确定所述目标控件元素的查找属性,并将所述操作信息和所述查找属性录入所述脚本中,所述查找属性用于在所述网页页面中唯一标识所述目标控件元素。
2.根据权利要求1所述的方法,其特征在于,获取脚本录制过程中对网页页面执行测试操作的操作信息,包括:
在所述脚本录制过程中,判断是否监听到对所述网页页面的操作事件;
若是,获取与所述操作事件对应的操作坐标,并根据所述操作坐标得到所述操作信息,所述操作坐标用于指示所述操作事件在所述网页页面的操作位置。
3.根据权利要求2所述的方法,其特征在于,在监听到对所述网页页面的操作事件之后,还包括:
获取所述网页页面中的至少一个控件元素;
分别对于所述至少一个控件元素中的每个控件元素,获取所述控件元素的相对位置属性,并对所述控件元素添加相对位置属性,所述相对位置属性用于描述所述控件元素与所述至少一个控件元素中的其它控件元素的相对位置。
4.根据权利要求3所述的方法,其特征在于,所述至少一个控件元素,包括:
所述网页页面中显示的控件元素、以及基于所述显示的控件元素得到的隐藏的控件元素。
5.根据权利要求3所述的方法,其特征在于,获取所述控件元素的相对位置属性,包括:
采用预设路径语言、按照最短原则,得到所述控件元素与所述其它控件元素的最短相对位置;
基于所述最短相对位置,得到所述相对位置属性,其中所述相对位置属性能够在所述网页页面中唯一标识所述控件元素。
6.根据权利要求3所述的方法,其特征在于,确定所述目标控件元素的查找属性,包括:
获取所述目标控件元素的至少一个控件属性、以及每个所述控件属性的优先级;
按照每个所述控件的优先级,从所述至少一个控件属性中筛选得到所述查找属性。
7.根据权利要求1所述的方法,其特征在于,将所述操作信息和所述查找属性录入所述脚本中,包括:
生成与所述操作信息对应的步骤类型;
利用所述步骤类型和所述查找属性,得到与所述脚本匹配的脚本步骤;
将所述脚本步骤录入所述脚本中。
8.一种脚本录制装置,其特征在于,包括:
获取单元,用于获取脚本录制过程中对网页页面执行测试操作的操作信息;
第一确定单元,用于确定与所述操作信息对应的目标控件元素;
第二确定单元,用于确定所述目标控件元素的查找属性,并将所述操作信息和所述查找属性录入所述脚本中,所述查找属性用于在所述网页页面中唯一标识所述目标控件元素。
9.一种电子设备,其特征在于,包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现权利要求1-7任一项所述的脚本录制方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的脚本录制方法。
CN202110181929.9A 2021-02-09 2021-02-09 脚本录制方法、装置、设备及存储介质 Pending CN112882933A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110181929.9A CN112882933A (zh) 2021-02-09 2021-02-09 脚本录制方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110181929.9A CN112882933A (zh) 2021-02-09 2021-02-09 脚本录制方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN112882933A true CN112882933A (zh) 2021-06-01

Family

ID=76056388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110181929.9A Pending CN112882933A (zh) 2021-02-09 2021-02-09 脚本录制方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112882933A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114327207A (zh) * 2021-11-22 2022-04-12 北京云测信息技术有限公司 元素定位方法、装置、电子设备及存储介质
CN114356751A (zh) * 2021-12-13 2022-04-15 浪潮软件集团有限公司 一种自动生成测试脚本的方法、装置及计算机可读介质
CN114416603A (zh) * 2022-03-31 2022-04-29 北京搜狐新动力信息技术有限公司 Ui元素测试方法、装置、存储介质和设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252410A (zh) * 2013-06-27 2014-12-31 阿里巴巴集团控股有限公司 一种对页面中的控件进行测试的方法和设备
US20170206155A1 (en) * 2014-07-29 2017-07-20 YiQun REN Executable code abnormality detection
CN108595329A (zh) * 2018-04-23 2018-09-28 腾讯科技(深圳)有限公司 一种应用测试方法、装置及计算机存储介质
CN109254910A (zh) * 2018-08-08 2019-01-22 北京城市网邻信息技术有限公司 一种应用程序的测试方法、装置、电子设备及存储介质
WO2019144680A1 (zh) * 2018-01-23 2019-08-01 网易(杭州)网络有限公司 自动化测试方法及装置、存储介质、电子设备
CN110297759A (zh) * 2019-05-22 2019-10-01 深圳壹账通智能科技有限公司 一种制作测试页面脚本的方法、装置、设备及存储介质
CN110399063A (zh) * 2019-07-19 2019-11-01 口碑(上海)信息技术有限公司 页面元素属性的查看方法及装置
CN110704320A (zh) * 2019-09-27 2020-01-17 京东数字科技控股有限公司 控件操作方法及装置
CN111368241A (zh) * 2020-03-05 2020-07-03 苏州数字力量教育科技有限公司 基于XPath的网页元素识别方法
US20200401431A1 (en) * 2019-06-19 2020-12-24 Sap Se Adaptive web-based robotic process automation

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252410A (zh) * 2013-06-27 2014-12-31 阿里巴巴集团控股有限公司 一种对页面中的控件进行测试的方法和设备
US20170206155A1 (en) * 2014-07-29 2017-07-20 YiQun REN Executable code abnormality detection
WO2019144680A1 (zh) * 2018-01-23 2019-08-01 网易(杭州)网络有限公司 自动化测试方法及装置、存储介质、电子设备
CN108595329A (zh) * 2018-04-23 2018-09-28 腾讯科技(深圳)有限公司 一种应用测试方法、装置及计算机存储介质
CN109254910A (zh) * 2018-08-08 2019-01-22 北京城市网邻信息技术有限公司 一种应用程序的测试方法、装置、电子设备及存储介质
CN110297759A (zh) * 2019-05-22 2019-10-01 深圳壹账通智能科技有限公司 一种制作测试页面脚本的方法、装置、设备及存储介质
US20200401431A1 (en) * 2019-06-19 2020-12-24 Sap Se Adaptive web-based robotic process automation
CN110399063A (zh) * 2019-07-19 2019-11-01 口碑(上海)信息技术有限公司 页面元素属性的查看方法及装置
CN110704320A (zh) * 2019-09-27 2020-01-17 京东数字科技控股有限公司 控件操作方法及装置
CN111368241A (zh) * 2020-03-05 2020-07-03 苏州数字力量教育科技有限公司 基于XPath的网页元素识别方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HANMIN_HM: "selenium IDE录制自动化脚本", Retrieved from the Internet <URL:https://blog.csdn.net/HU1656/article/details/107446686> *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114327207A (zh) * 2021-11-22 2022-04-12 北京云测信息技术有限公司 元素定位方法、装置、电子设备及存储介质
CN114356751A (zh) * 2021-12-13 2022-04-15 浪潮软件集团有限公司 一种自动生成测试脚本的方法、装置及计算机可读介质
CN114416603A (zh) * 2022-03-31 2022-04-29 北京搜狐新动力信息技术有限公司 Ui元素测试方法、装置、存储介质和设备

Similar Documents

Publication Publication Date Title
CN110297759B (zh) 一种制作测试页面脚本的方法、装置、设备及存储介质
CN112882933A (zh) 脚本录制方法、装置、设备及存储介质
US20190303269A1 (en) Methods and systems for testing visual aspects of a web page
CN110554962A (zh) 回归测试的流程覆盖方法、服务器及计算机可读存储介质
CN112100052A (zh) 一种接口测试场景的回放方法及装置
US20220350857A1 (en) Methods and systems for browser extension used to generate relative xpath, absolute xpath and/or css selectors
US9715483B2 (en) User interface for testing and asserting UI elements with natural language instructions
CN113032264A (zh) 页面视图控件的检测方法及装置
CN107038117B (zh) 一种基于事件处理函数间定义-引用的web自动化测试方法
CN104239206A (zh) 网页测试方法和装置
CN113626102A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN111679976A (zh) 一种页面对象的查找方法及装置
CN111522749A (zh) 页面测试方法、装置、可读存储介质及电子设备
KR20100069147A (ko) 웹사이트 품질 테스트 방법 및 시스템
Yang et al. UIS-hunter: Detecting UI design smells in Android apps
CN114282288A (zh) 轴网识别方法、装置、设备及存储介质
US9959196B2 (en) Unification of descriptive programming and object repository
US20230060213A1 (en) System and method for generating automation test scripts dynamically for human machine interface testing
CN115481025A (zh) 自动化测试的脚本录制方法、装置、计算机设备及介质
CN112667502A (zh) 页面测试方法、装置及介质
CN112083974A (zh) 一种广告窗口关闭方法、装置及电子设备
CN113886216A (zh) 接口测试和工具配置方法、装置、电子设备和存储介质
CN105359111A (zh) 用户界面检查方法、设备及程序
CN110888643A (zh) 页面处理方法及装置
CN115129355B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Technology Information Technology Co.,Ltd.

Address before: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: Jingdong Shuke Haiyi Information Technology Co., Ltd