CN113821436B - 一种测试脚本的生成方法及装置 - Google Patents
一种测试脚本的生成方法及装置 Download PDFInfo
- Publication number
- CN113821436B CN113821436B CN202111113573.1A CN202111113573A CN113821436B CN 113821436 B CN113821436 B CN 113821436B CN 202111113573 A CN202111113573 A CN 202111113573A CN 113821436 B CN113821436 B CN 113821436B
- Authority
- CN
- China
- Prior art keywords
- file
- test
- event
- recording
- recorded
- 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
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)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种测试脚本的生成方法及装置,包括录制测试操作以生成第一录制文件;第一录制文件为键值对格式,键值对表征所有测试操作;按照预设规则,对第一录制文件中的数据进行规则化,得到第二录制文件;基于不同格式之间的转换规则,将第二录制文件转换为第一运行文件;第一运行文件为脚本格式;对第一运行文件进行调整,以得到符合后台运行条件的目标运行文件。本公开通过对录制得到的第一录制文件进行规则化,以使得到的第二录制文件较为统一,符合脚本测试的模式;对转换得到的第一运行文件进一步调整,以使调整后的目标运行文件符合后台运行条件,进而确保能够完成测试,相较于测试员编写脚本之后再进行测试,大大提高了测试效率。
Description
技术领域
本公开涉及测试技术领域,特别涉及一种测试脚本的生成方法及装置。
背景技术
随着网络技术的发展,用户能够在电子设备上处理越来越多的事情,如查阅新闻消息、审批文件等,这都依赖于网页或应用程序的功能实现。但在网页或应用程序上线服务用户之前,需要对其功能进行测试,以确保能够实现其功能。
现有技术中通常使用以下两种方式进行测试:1、通过框架编写脚本,但针对每个测试界面均需要编写单独的脚本,工作量巨大,测试效率较低;2、将屏幕录制得到的文件转换成代码,但转换后的代码无法运行或运行的失败率较高,导致无法完成测试。
发明内容
有鉴于此,本公开实施例的目的在于提供一种测试脚本的生成方法及装置,用于解决现有技术中测试效率较低或无法完成测试等问题。
第一方面,本公开实施例提供了一种测试脚本的生成方法,其中,包括:
录制测试操作以生成第一录制文件;其中,所述第一录制文件为键值对格式,所述键值对表征所有所述测试操作;
按照预设规则,对所述第一录制文件中的数据进行规则化,得到第二录制文件;
基于不同格式之间的转换规则,将所述第二录制文件转换为第一运行文件;其中,所述第一运行文件为脚本格式;
对所述第一运行文件进行调整,以得到符合后台运行条件的目标运行文件。
在一种可能的实施方式中,所述对所述第一录制文件中的数据进行规则化至少包括:
在所述第一录制文件中增加等待时间,其中,所述等待时间为触发相邻事件的时间间隔;
在所述第一录制文件中增加鼠标移入事件;
在输入事件前不存在触发事件的增加触发事件,并将所述输入事件的输入值的空值替换为预设值;
将所述第一录制文件中的点击回车事件替换为触发事件;
针对所述第一录制文件中的每个元素调整定位方式。
在一种可能的实施方式中,所述对所述第一运行文件进行调整,包括:
在所述第一运行文件中导入预设个数的测试模块对应的代码;
基于正则表达式,对所述第一运行文件进行规则化;
基于时间单位的映射关系,将所述第一运行文件中的等待时间转换为目标单位对应的目标时间;
修改所述第一运行文件中内置界面的进入方式;
在所述第一运行文件中增加响应指令对应的代码,所述响应指令指示当前界面中所有元素可见后响应事件;
在所述第一运行文件中增加删除网址访问安全的提示信息的代码;
基于所述第一运行文件中矢量图形的坐标增加相对应的事件;
增加对所述第一运行文件中滑动事件的终止点定位的代码。
在一种可能的实施方式中,所述生成方法还包括:
利用所述目标运行文件进行测试;
将测试失败的失败界面存储至预设数据库。
在一种可能的实施方式中,所述生成方法还包括:
在测试失败时,利用所述目标运行文件重新进行测试,直至测试次数达到预设次数或当前失败界面与历史失败界面不同。
第二方面,本公开实施例还提供了一种测试脚本的生成装置,其中,包括:
录制模块,其配置为录制测试操作以生成第一录制文件;其中,所述第一录制文件为键值对格式,所述键值对表征所有所述测试操作;
规则化模块,其配置为按照预设规则,对所述第一录制文件中的数据进行规则化,得到第二录制文件;
转换模块,其配置为基于不同格式之间的转换规则,将所述第二录制文件转换为第一运行文件;其中,所述第一运行文件为脚本格式;
调整模块,其配置为对所述第一运行文件进行调整,以得到符合后台运行条件的目标运行文件。
在一种可能的实施方式中,所述规则化模块具体配置为:
在所述第一录制文件中增加等待时间,其中,所述等待时间为触发相邻事件的时间间隔;
在所述第一录制文件中增加鼠标移入事件;
在输入事件前不存在触发事件的增加触发事件,并将所述输入事件的输入值的空值替换为预设值;
将所述第一录制文件中的点击回车事件替换为触发事件;
针对所述第一录制文件中的每个元素调整定位方式。
在一种可能的实施方式中,所述调整模块具体配置为:
在所述第一运行文件中导入预设个数的测试模块对应的代码;
基于正则表达式,对所述第一运行文件进行规则化;
基于时间单位的映射关系,将所述第一运行文件中的等待时间转换为目标单位对应的目标时间;
修改所述第一运行文件中内置界面的进入方式;
在所述第一运行文件中增加响应指令对应的代码,所述响应指令指示当前界面中所有元素可见后响应事件;
在所述第一运行文件中增加删除网址访问安全的提示信息的代码;
基于所述第一运行文件中矢量图形的坐标增加相对应的事件;
增加对所述第一运行文件中滑动事件的终止点定位的代码。
在一种可能的实施方式中,生成装置还包括:
第一测试模块,其配置为利用所述目标运行文件进行测试;
存储模块,其配置为将测试失败的失败界面存储至预设数据库。
在一种可能的实施方式中,生成装置还包括第二测试模块,其配置为:
在测试失败时,利用所述目标运行文件重新进行测试,直至测试次数达到预设次数或当前失败界面与历史失败界面不同。
本公开实施例通过对录制得到的第一录制文件进行规则化,以使得到的第二录制文件较为统一,符合脚本测试的模式;并且,对转换得到的第一运行文件进一步调整,以使调整后的目标运行文件符合后台运行条件,进而确保能够完成测试,并且,相较于测试员编写脚本之后再进行测试,大大提高了测试效率。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本公开所提供的测试脚本的生成方法的流程图;
图2示出了本公开所提供的测试脚本的生成方法中利用目标运行文件进行测试的流程图;
图3示出了本公开所提供的测试脚本的生成装置的结构示意图;
图4示出了本公开所提供的电子设备的结构示意图。
具体实施方式
此处参考附图描述本公开的各种方案以及特征。
应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本公开的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且与上面给出的对本公开的大致描述以及下面给出的对实施例的详细描述一起用于解释本公开的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本公开的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本公开进行了描述,但本领域技术人员能够确定地实现本公开的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本公开的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本公开的具体实施例;然而,应当理解,所申请的实施例仅仅是本公开的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本公开模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本公开。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本公开的相同或不同实施例中的一个或多个。
第一方面,为便于对本公开进行理解,首先对本公开所提供的一种测试脚本的生成方法进行详细介绍。如图1所示,为本公开实施例提供的测试脚本的生成方法,其中,具体步骤包括S101-S104。
S101,录制测试操作以生成第一录制文件;其中,第一录制文件为键值对格式,键值对表征所有测试操作。
这里,用于测试的电子设备具备屏幕录制功能,因此,生成测试脚本时,则采用将屏幕录制得到的文件转换成代码的方式,以减少测试人员因编写脚本造成的巨大工作量,进而提高测试效率。
在具体实施中,测试人员在进行手动测试时,也即手动执行测试操作,例如测试员通过鼠标点击界面中的区域、通过键盘输入文字等,此时,屏幕录制功能开启并对测试过程中屏幕中的测试操作进行录制,进而生成第一录制文件。
其中,第一录制文件为键值对格式,键值对表征所有测试操作。
S102,按照预设规则,对第一录制文件中的数据进行规则化,得到第二录制文件。
在生成第一录制文件之后,按照预设规则,对第一录制文件中的数据进行规则化,得到第二录制文件,其中,预设规则至少包括增加、删除、替换等。
具体地,对第一录制文件中的数据进行规则化包括在第一录制文件中增加等待时间,其中,等待时间为触发相邻事件的时间间隔。这里,考虑到第一录制文件中的测试操作顺次排列,若直接按照第一录制文件的测试操作直接进行测试,也即相邻事件之间不存在等待时间,执行速度过快会导致无法完成完整测试如部分事件无法测试等,因此,在第一录制文件中相邻事件之间增加等待时间,如相邻查找事件之间增加2s的等待时间,点击弹窗确认按钮之后与点击导航栏之前增加6s的等待时间,登录之后增加10s的等待时间等。当然,具体增加的等待时间的时长可以根据测试场景进行调整,本公开实施例对此不做具体限定。
可选地,对第一录制文件中的数据进行规则化还包括在第一录制文件中针对部分特殊的元素(如鼠标放到一个特定位置,才能显示出来)增加鼠标移入事件,也即该鼠标移入事件触发使得对于需要鼠标移动上去页面才显示元素的事件能够被进行;还包括在输入事件前不存在触发事件的增加触发事件,因此,在测试人员进行手动测试时,并未产生触发事件而是直接输入,为了确保事件的连贯性,在输入事件前增加触发事件,并将输入事件的输入值的空值替换为预设值,预设值可以设置为1,以避免空值导致的报错或不能进行后续转换等问题;将第一录制文件中的点击回车事件替换为触发事件,以解决python脚本无法识别点击回车事件的问题;针对第一录制文件中的每个元素调整定位方式,该元素为页面中每个字符、图形等,不同的元素对应有不同的定位方式等。
当然,还可以进行其他规则化的处理,例如将除触发事件之外的其他事件如滑动时间、停滞事件等删除,只要能够确保第二录制文件能够完整且准确地转换成运行文件即可。
S103,基于不同格式之间的转换规则,将第二录制文件转换为第一运行文件;其中,第一运行文件为脚本格式。
在具体实施中,可以通过第三方的应用程序第二录制文件转换为第一运行文件;其中,第三方的应用程序中预先设置有不同格式之间的转换规则,例如键值对格式与脚本格式之间的转换。
这里,第一运行文件为脚本格式,也即能够被后台直接运行的格式。
S104,对第一运行文件进行调整,以得到符合后台运行条件的目标运行文件。
在具体实施中,转换得到的第一运行文件可能存在程序、格式上的错误,导致测试失败。因此,需要对第一运行文件进行调整,以使调整后得到的目标运行文件符合后台运行条件,进而能够被顺利执行,完成测试。
具体地,对第一运行文件进行调整包括在第一运行文件中导入预设个数的测试模块对应的代码,以确保目标运行文件符合运行格式;进一步地,对第一运行文件进行调整还包括基于正则表达式,对第一运行文件进行规则化,以使得目标运行文件的代码统一;对第一运行文件进行调整还包括基于时间单位的映射关系,将第一运行文件中的等待时间转换为目标单位对应的目标时间,例如,在第二录制文件中等待时间的单位为毫秒,目标运行文件中等待时间的单位为秒,此时需要将第一运行文件中的等待时间转换为目标单位对应的目标时间;修改第一运行文件中内置界面的进入方式,其中,测试时可能无法进入内置界面如iframe界面,因此修改进入iframe页面的代码,以确保测试时能够正常进入内置界面;在第一运行文件中增加响应指令对应的代码,响应指令指示当前界面中所有元素可见后响应事件,以确保界面中的每个元素均能够被点击选中;对第一运行文件进行调整还包括在第一运行文件中增加删除网址访问安全的提示信息的代码,以避免运行目标运行文件时找不到该对应的事件;对第一运行文件进行调整还包括基于第一运行文件中矢量图形的坐标增加相对应的事件,具体地,由于矢量图像无法被执行,因此,基于像素坐标或屏幕中的相对坐标,确定矢量图形的坐标,将每个矢量图像对应的事件与其坐标关联并增加到第一运行文件中;对第一运行文件进行调整还包括增加对第一运行文件中滑动事件的终止点定位的代码,以使滑动事件能够正常运行并定位到目标元素,进而确保顺利完成测试。
当然,还可以设置无关联的事件并行测试,无需按照所有事件顺次进行测试,进而达到提高测试效率的目的。
进一步地,参照图2示出的方法流程图来利用目标运行文件进行测试,其中,具体步骤包括S201和S202。
S201,利用目标运行文件进行测试。
S202,在测试失败时,将测试失败的失败界面存储至预设数据库。
S203,在测试失败时,利用目标运行文件重新进行测试,直至测试次数达到预设次数或当前失败界面与历史失败界面不同。
在得到目标运行文件之后,利用目标运行文件进行测试,在测试失败时,将测试失败的失败界面存储至预设数据库,该预设数据库可以是预先设置的文件夹,还可以是预设的表格等。其中,该失败界面可以携带有标签,标签可以标识产生该失败界面的时间、产生该失败界面的节点等,以便于测试人员进行查阅分析等。
这里,考虑到存在因网络延迟、界面延迟加载造成的接口无响应等外界因素导致测试失败到的情况,因此,设置在测试失败时,还可以利用目标运行文件重新进行测试,直至测试次数达到预设次数或当前失败界面与历史失败界面不同,以确保测试在一定程度上完整,无需每次测试失败便需要测试人员进行维护,大大提高了测试效率。
本公开实施例通过对录制得到的第一录制文件进行规则化,以使得到的第二录制文件较为统一,符合脚本测试的模式;并且,对转换得到的第一运行文件进一步调整,以使调整后的目标运行文件符合后台运行条件,进而确保能够完成测试,并且,相较于测试员编写脚本之后再进行测试,大大提高了测试效率。
基于同一发明构思,本公开的第二方面还提供了一种与测试脚本的生成方法对应的测试脚本的生成装置,由于本公开中的装置解决问题的原理与本公开上述测试脚本的生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参见图3所示,测试脚本的生成装置包括:
录制模块301,其配置为录制测试操作以生成第一录制文件;其中,所述第一录制文件为键值对格式,所述键值对表征所有所述测试操作;
规则化模块302,其配置为按照预设规则,对所述第一录制文件中的数据进行规则化,得到第二录制文件;
转换模块303,其配置为基于不同格式之间的转换规则,将所述第二录制文件转换为第一运行文件;其中,所述第一运行文件为脚本格式;
调整模块304,其配置为对所述第一运行文件进行调整,以得到符合后台运行条件的目标运行文件。
在另一实施例中,所述规则化模块302具体配置为:
在所述第一录制文件中增加等待时间,其中,所述等待时间为触发相邻事件的时间间隔;
在所述第一录制文件中增加鼠标移入事件;
在输入事件前不存在触发事件的增加触发事件,并将所述输入事件的输入值的空值替换为预设值;
将所述第一录制文件中的点击回车事件替换为触发事件;
针对所述第一录制文件中的每个元素调整定位方式。
在另一实施例中,所述调整模块304具体配置为:
在所述第一运行文件中导入预设个数的测试模块对应的代码;
基于正则表达式,对所述第一运行文件进行规则化;
基于时间单位的映射关系,将所述第一运行文件中的等待时间转换为目标单位对应的目标时间;
修改所述第一运行文件中内置界面的进入方式;
在所述第一运行文件中增加响应指令对应的代码,所述响应指令指示当前界面中所有元素可见后响应事件;
在所述第一运行文件中增加删除网址访问安全的提示信息的代码;
基于所述第一运行文件中矢量图形的坐标增加相对应的事件;
增加对所述第一运行文件中滑动事件的终止点定位的代码。
在另一实施例中,测试脚本的生成装置还包括:
第一测试模块305,其配置为利用所述目标运行文件进行测试;
存储模块306,其配置为将测试失败的失败界面存储至预设数据库。
在另一实施例中,测试脚本的生成装置还包括第二测试模块307,其配置为:
在测试失败时,利用所述目标运行文件重新进行测试,直至测试次数达到预设次数或当前失败界面与历史失败界面不同。
本公开实施例通过对录制得到的第一录制文件进行规则化,以使得到的第二录制文件较为统一,符合脚本测试的模式;并且,对转换得到的第一运行文件进一步调整,以使调整后的目标运行文件符合后台运行条件,进而确保能够完成测试,并且,相较于测试员编写脚本之后再进行测试,大大提高了测试效率。
本公开的第三方面还提供了一种存储介质,该存储介质为计算机可读介质,存储有计算机程序,该计算机程序被处理器执行时实现本公开任意实施例提供的方法,包括如下步骤:
S11,录制测试操作以生成第一录制文件;其中,所述第一录制文件为键值对格式,所述键值对表征所有所述测试操作;
S12,按照预设规则,对所述第一录制文件中的数据进行规则化,得到第二录制文件;
S13,基于不同格式之间的转换规则,将所述第二录制文件转换为第一运行文件;其中,所述第一运行文件为脚本格式;
S14,对所述第一运行文件进行调整,以得到符合后台运行条件的目标运行文件。
计算机程序被处理器执行对所述第一录制文件中的数据进行规则化时,还具体被处理器执行如下步骤:在所述第一录制文件中增加等待时间,其中,所述等待时间为触发相邻事件的时间间隔;在所述第一录制文件中增加鼠标移入事件;在输入事件前不存在触发事件的增加触发事件,并将所述输入事件的输入值的空值替换为预设值;将所述第一录制文件中的点击回车事件替换为触发事件;针对所述第一录制文件中的每个元素调整定位方式。
计算机程序被处理器执行对所述第一运行文件进行调整时,具体被处理器执行如下步骤:在所述第一运行文件中导入预设个数的测试模块对应的代码;基于正则表达式,对所述第一运行文件进行规则化;基于时间单位的映射关系,将所述第一运行文件中的等待时间转换为目标单位对应的目标时间;修改所述第一运行文件中内置界面的进入方式;在所述第一运行文件中增加响应指令对应的代码,所述响应指令指示当前界面中所有元素可见后响应事件;在所述第一运行文件中增加删除网址访问安全的提示信息的代码;基于所述第一运行文件中矢量图形的坐标增加相对应的事件;增加对所述第一运行文件中滑动事件的终止点定位的代码。
计算机程序被处理器执行生成方法时,还被处理器执行如下步骤:利用所述目标运行文件进行测试;在测试失败时,将测试失败的失败界面存储至预设数据库。
计算机程序被处理器执行生成方法时,还被处理器执行如下步骤:在测试失败时,利用所述目标运行文件重新进行测试,直至测试次数达到预设次数或当前失败界面与历史失败界面不同。
本公开实施例通过对录制得到的第一录制文件进行规则化,以使得到的第二录制文件较为统一,符合脚本测试的模式;并且,对转换得到的第一运行文件进一步调整,以使调整后的目标运行文件符合后台运行条件,进而确保能够完成测试,并且,相较于测试员编写脚本之后再进行测试,大大提高了测试效率。
需要说明的是,本公开上述的存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何存储介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
本公开的第四方面还提供了一种电子设备,如图4所示,该电子设备至少包括存储器401和处理器402,存储器401上存储有计算机程序,处理器402在执行存储器401上的计算机程序时实现本公开任意实施例提供的方法。示例性的,电子设备计算机程序执行的方法如下:
S21,录制测试操作以生成第一录制文件;其中,所述第一录制文件为键值对格式,所述键值对表征所有所述测试操作;
S22,按照预设规则,对所述第一录制文件中的数据进行规则化,得到第二录制文件;
S23,基于不同格式之间的转换规则,将所述第二录制文件转换为第一运行文件;其中,所述第一运行文件为脚本格式;
S24,对所述第一运行文件进行调整,以得到符合后台运行条件的目标运行文件。
处理器在执行存储器上存储的对所述第一录制文件中的数据进行规则化时,还执行如下计算机程序:在所述第一录制文件中增加等待时间,其中,所述等待时间为触发相邻事件的时间间隔;在所述第一录制文件中增加鼠标移入事件;在输入事件前不存在触发事件的增加触发事件,并将所述输入事件的输入值的空值替换为预设值;将所述第一录制文件中的点击回车事件替换为触发事件;针对所述第一录制文件中的每个元素调整定位方式。
处理器在执行存储器上存储的对所述第一运行文件进行调整时,还执行如下计算机程序:在所述第一运行文件中导入预设个数的测试模块对应的代码;基于正则表达式,对所述第一运行文件进行规则化;基于时间单位的映射关系,将所述第一运行文件中的等待时间转换为目标单位对应的目标时间;修改所述第一运行文件中内置界面的进入方式;在所述第一运行文件中增加响应指令对应的代码,所述响应指令指示当前界面中所有元素可见后响应事件;在所述第一运行文件中增加删除网址访问安全的提示信息的代码;基于所述第一运行文件中矢量图形的坐标增加相对应的事件;增加对所述第一运行文件中滑动事件的终止点定位的代码。
处理器在执行存储器上存储的生成方法时,还执行如下计算机程序:利用所述目标运行文件进行测试;在测试失败时,将测试失败的失败界面存储至预设数据库。
处理器在执行存储器上存储的生成方法时,还执行如下计算机程序:在测试失败时,利用所述目标运行文件重新进行测试,直至测试次数达到预设次数或当前失败界面与历史失败界面不同。
本公开实施例通过对录制得到的第一录制文件进行规则化,以使得到的第二录制文件较为统一,符合脚本测试的模式;并且,对转换得到的第一运行文件进一步调整,以使调整后的目标运行文件符合后台运行条件,进而确保能够完成测试,并且,相较于测试员编写脚本之后再进行测试,大大提高了测试效率。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本邻域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
以上对本公开多个实施例进行了详细说明,但本公开不限于这些具体的实施例,本邻域技术人员在本公开构思的基础上,能够做出多种变型和修改实施例,这些变型和修改都应落入本公开所要求保护的范围之内。
Claims (6)
1.一种测试脚本的生成方法,其特征在于,包括:
录制测试操作以生成第一录制文件;其中,所述第一录制文件为键值对格式,所述键值对表征所有所述测试操作;
按照预设规则,对所述第一录制文件中的数据进行规则化,得到第二录制文件;
基于不同格式之间的转换规则,将所述第二录制文件转换为第一运行文件;其中,所述第一运行文件为脚本格式;
对所述第一运行文件进行调整,以得到符合后台运行条件的目标运行文件;
所述对所述第一录制文件中的数据进行规则化至少包括:
在所述第一录制文件中增加等待时间,其中,所述等待时间为触发相邻事件的时间间隔;
在所述第一录制文件中增加鼠标移入事件;
在输入事件前不存在触发事件的增加触发事件,并将所述输入事件的输入值的空值替换为预设值;
将所述第一录制文件中的点击回车事件替换为触发事件;
针对所述第一录制文件中的每个元素调整定位方式;
所述对所述第一运行文件进行调整,包括:
在所述第一运行文件中导入预设个数的测试模块对应的代码;
基于正则表达式,对所述第一运行文件进行规则化;
基于时间单位的映射关系,将所述第一运行文件中的等待时间转换为目标单位对应的目标时间;
修改所述第一运行文件中内置界面的进入方式;
在所述第一运行文件中增加响应指令对应的代码,所述响应指令指示当前界面中所有元素可见后响应事件;
在所述第一运行文件中增加删除网址访问安全的提示信息的代码;
基于所述第一运行文件中矢量图形的坐标增加相对应的事件;
增加对所述第一运行文件中滑动事件的终止点定位的代码。
2.根据权利要求1所述的生成方法,其特征在于,还包括:
利用所述目标运行文件进行测试;
在测试失败时,将测试失败的失败界面存储至预设数据库。
3.根据权利要求2所述的生成方法,其特征在于,还包括:
在测试失败时,利用所述目标运行文件重新进行测试,直至测试次数达到预设次数或当前失败界面与历史失败界面不同。
4.一种测试脚本的生成装置,其特征在于,包括:
录制模块,其配置为录制测试操作以生成第一录制文件;其中,所述第一录制文件为键值对格式,所述键值对表征所有所述测试操作;
规则化模块,其配置为按照预设规则,对所述第一录制文件中的数据进行规则化,得到第二录制文件;
转换模块,其配置为基于不同格式之间的转换规则,将所述第二录制文件转换为第一运行文件;其中,所述第一运行文件为脚本格式;
调整模块,其配置为对所述第一运行文件进行调整,以得到符合后台运行条件的目标运行文件;
所述规则化模块具体配置为:
在所述第一录制文件中增加等待时间,其中,所述等待时间为触发相邻事件的时间间隔;
在所述第一录制文件中增加鼠标移入事件;
在输入事件前不存在触发事件的增加触发事件,并将所述输入事件的输入值的空值替换为预设值;
将所述第一录制文件中的点击回车事件替换为触发事件;
针对所述第一录制文件中的每个元素调整定位方式;
所述调整模块具体配置为:
在所述第一运行文件中导入预设个数的测试模块对应的代码;
基于正则表达式,对所述第一运行文件进行规则化;
基于时间单位的映射关系,将所述第一运行文件中的等待时间转换为目标单位对应的目标时间;
修改所述第一运行文件中内置界面的进入方式;
在所述第一运行文件中增加响应指令对应的代码,所述响应指令指示当前界面中所有元素可见后响应事件;
在所述第一运行文件中增加删除网址访问安全的提示信息的代码;
基于所述第一运行文件中矢量图形的坐标增加相对应的事件;
增加对所述第一运行文件中滑动事件的终止点定位的代码。
5.根据权利要求4所述的生成装置,其特征在于,还包括:
第一测试模块,其配置为利用所述目标运行文件进行测试;
存储模块,其配置为将测试失败的失败界面存储至预设数据库。
6.根据权利要求5所述的生成装置,其特征在于,还包括第二测试模块,其配置为:
在测试失败时,利用所述目标运行文件重新进行测试,直至测试次数达到预设次数或当前失败界面与历史失败界面不同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111113573.1A CN113821436B (zh) | 2021-09-23 | 2021-09-23 | 一种测试脚本的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111113573.1A CN113821436B (zh) | 2021-09-23 | 2021-09-23 | 一种测试脚本的生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113821436A CN113821436A (zh) | 2021-12-21 |
CN113821436B true CN113821436B (zh) | 2023-08-29 |
Family
ID=78915223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111113573.1A Active CN113821436B (zh) | 2021-09-23 | 2021-09-23 | 一种测试脚本的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821436B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365779A (zh) * | 2013-07-09 | 2013-10-23 | 广东欧珀移动通信有限公司 | 软件测试方法和系统 |
CN108170465A (zh) * | 2018-01-04 | 2018-06-15 | 武汉斗鱼网络科技有限公司 | 一种版本信息管理方法、电子设备及可读存储介质 |
WO2020233053A1 (zh) * | 2019-05-22 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 一种制作测试页面脚本的方法、装置、设备及存储介质 |
CN112749083A (zh) * | 2020-12-10 | 2021-05-04 | 中国农业银行股份有限公司 | 一种测试脚本生成方法及装置 |
-
2021
- 2021-09-23 CN CN202111113573.1A patent/CN113821436B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365779A (zh) * | 2013-07-09 | 2013-10-23 | 广东欧珀移动通信有限公司 | 软件测试方法和系统 |
CN108170465A (zh) * | 2018-01-04 | 2018-06-15 | 武汉斗鱼网络科技有限公司 | 一种版本信息管理方法、电子设备及可读存储介质 |
WO2020233053A1 (zh) * | 2019-05-22 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 一种制作测试页面脚本的方法、装置、设备及存储介质 |
CN112749083A (zh) * | 2020-12-10 | 2021-05-04 | 中国农业银行股份有限公司 | 一种测试脚本生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113821436A (zh) | 2021-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10248689B2 (en) | Supplementing candidate answers | |
US10437703B2 (en) | Correlation of source code with system dump information | |
CN110705235B (zh) | 业务办理的信息录入方法、装置、存储介质及电子设备 | |
US8639560B2 (en) | Brand analysis using interactions with search result items | |
CN111241111B (zh) | 数据查询方法及装置、数据对比方法及装置、介质及设备 | |
CN109872230B (zh) | 金融数据分析系统的测试方法、装置、介质、电子设备 | |
CN110597704B (zh) | 应用程序的压力测试方法、装置、服务器和介质 | |
KR20230007268A (ko) | 임무 처리 방법, 임무 처리 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램 | |
CN113821436B (zh) | 一种测试脚本的生成方法及装置 | |
US11023101B2 (en) | System and method for implementing a self service machine learning framework | |
CN111061522A (zh) | 基于后端生成前端卡片组件的方法、装置、设备及存储介质 | |
CN112416746A (zh) | 一种测试用例生成方法、装置、设备及介质 | |
US9286349B2 (en) | Dynamic search system | |
US11119761B2 (en) | Identifying implicit dependencies between code artifacts | |
CN113760696A (zh) | 一种程序问题定位方法、装置、电子设备和存储介质 | |
US10509659B1 (en) | Input processing logic to produce outputs for downstream systems using configurations | |
CN113360365A (zh) | 一种流程测试方法和流程测试系统 | |
CN109669856A (zh) | 数据分析系统的测试结果会诊方法及装置 | |
CN110750569A (zh) | 数据提取方法、装置、设备及存储介质 | |
CN111176718A (zh) | 脚本上线方法、装置、存储介质及电子设备 | |
US11822446B2 (en) | Automated testing methods for condition analysis and exploration | |
CN114611816B (zh) | 潜在事件预测方法、装置、设备及存储介质 | |
US11893589B2 (en) | Automated support query | |
CN112417252B (zh) | 爬虫路径确定方法、装置、存储介质与电子设备 | |
CN113742240A (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 |