CN112597016A - 自动化测试脚本的录制方法、装置、设备及存储介质 - Google Patents
自动化测试脚本的录制方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112597016A CN112597016A CN202011496897.3A CN202011496897A CN112597016A CN 112597016 A CN112597016 A CN 112597016A CN 202011496897 A CN202011496897 A CN 202011496897A CN 112597016 A CN112597016 A CN 112597016A
- Authority
- CN
- China
- Prior art keywords
- test script
- page
- stored
- recording
- app
- 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
Images
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3692—Test management for test results analysis
-
- 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/3696—Methods or tools to render software testable
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
本申请涉及人工智能技术领域,揭示了一种自动化测试脚本的录制方法、装置、设备及存储介质,其中方法包括:对待录制测试脚本的页面标识对应的App页面进行测试脚本录制得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本;根据待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本进行单页测试脚本录制得到待存储的单页测试脚本;根据待处理的单页测试脚本标识集合、单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本。从而提升了测试脚本执行流畅性,不需人手动去多次调试测试脚本。
Description
技术领域
本申请涉及到人工智能的技术领域,特别是涉及到一种自动化测试脚本的录制方法、装置、设备及存储介质。
背景技术
在做移动端APP的自动化测试过程中,比较通用的方式是是先录制脚本、然后连接手机执行脚本。而录制脚本目前采用录制脚本开源工具,这个工具主要作用是做元素识别和定位,并且自动生成相应的脚本。然而现有技术的录制脚本开源工具生成的脚本有如下问题:(1)脚本存在兼容性问题,无法在多种型号的手机上执行;(2)无法生成容错代码;(3)元素精准识别率不高。
上述问题导致通过录制脚本开源工具录制的自动化测试脚本在执行流畅性上存在很大的问题,往往脚本执行到一半就走不下去导致需要手动去多次调试脚本,从而增加了脚本的维护成本,增加了脚本编写人员的技术要求。
发明内容
本申请的主要目的为提供一种自动化测试脚本的录制方法、装置、设备及存储介质,旨在解决现有技术的录制脚本开源工具生成的自动化测试脚本存在执行流畅性、需要手动去多次调试脚本的技术问题。
为了实现上述发明目的,本申请提出一种自动化测试脚本的录制方法,所述方法包括:
基于与标定设备的通信连接,将待测App安装并运行在所述标定设备中;
获取单页测试脚本录制请求,所述单页测试脚本录制请求携带有待录制测试脚本的页面标识;
基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本;
根据所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本,所述待存储的单页测试脚本携带有单页测试脚本标识,将所述待存储的单页测试脚本存储在单页测试脚本库中;
获取自动化测试脚本录制请求,所述自动化测试脚本录制请求携带有待处理的单页测试脚本标识集合;
根据所述待处理的单页测试脚本标识集合、所述单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本。
进一步的,所述基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本的步骤,包括:
基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行模拟操作的测试脚本录制,得到所述待存储的业务逻辑测试脚本;
基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行页面元素判断条件的测试脚本录制,得到所述待存储的前后置判断条件测试脚本;
基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行页面截图的测试脚本录制,得到所述待存储的页面截图测试脚本;
基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行异常执行处理的测试脚本录制,得到所述待存储的异常处理测试脚本。
进一步的,所述基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行模拟操作的测试脚本录制,得到所述待存储的业务逻辑测试脚本的步骤,包括:
基于所述标定设备中运行的所述待测App,依次获取各模拟操作所述待录制测试脚本的页面标识对应的App页面时各操作动作在所述标定设备中的操作动作坐标信息和操作动作反馈信息;
根据所述各操作动作对应的点击顺序、所述操作动作坐标信息和所述操作动作反馈信息进行测试脚本生成,得到所述待存储的业务逻辑测试脚本。
进一步的,所述根据所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本的步骤,包括:
将所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本编辑成单页测试脚本,得到待调试的单页测试脚本;
对所述待调试的单页测试脚本进行调试,得到单页测试脚本调试结果;
当所述单页测试脚本调试结果为成功时,根据所述单页测试脚本调试结果确定所述待存储的单页测试脚本,否则执行所述基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本的步骤直至所述单页测试脚本调试结果为成功。
进一步的,所述根据所述待处理的单页测试脚本标识集合、所述单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本的步骤,包括:
根据所述待处理的单页测试脚本标识集合中的所有所述单页测试脚本标识从所述单页测试脚本库中获取单页测试脚本,得到待处理的单页测试脚本集合;
根据所述待处理的单页测试脚本集合进行自动化测试脚本组合,得到所述目标自动化测试脚本。
进一步的,所述自动化测试脚本录制请求还携带有目标测试设备的目标屏幕尺寸数据,所述根据所述待处理的单页测试脚本标识集合、所述单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本的步骤,还包括:
分别获取所述待处理的单页测试脚本标识集合中的每个所述单页测试脚本标识对应的标定屏幕尺寸数据;
分别根据所述待处理的单页测试脚本标识集合中的每个所述单页测试脚本标识对应的所述标定屏幕尺寸数据及所述单页测试脚本、所述目标屏幕尺寸数据进行元素位置定位代码的自动替换处理,得到屏幕尺寸优化后的单页测试脚本集合;
根据所述屏幕尺寸优化后的单页测试脚本集合进行自动化测试脚本组合,得到所述目标自动化测试脚本。
进一步的,所述根据所述待处理的单页测试脚本标识集合、所述单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本的步骤之后,还包括:
获取目标App的目标测试请求,所述目标测试请求携带有目标App的基本信息及待测试的目标自动化测试脚本标识;
根据所述目标测试请求携带的所述目标App的基本信息及所述待测试的目标自动化测试脚本标识对所述目标App进行测试,获取所述目标App发送的目标测试数据;
根据所述目标测试数据进行测试结果生成,得到所述目标App的基本信息对应的目标测试结果。
本申请还提出了一种自动化测试脚本的录制装置,所述装置包括:
录制环境准备模块,用于基于与标定设备的通信连接,将待测App安装并运行在所述标定设备中;
第一请求获取模块,用于获取单页测试脚本录制请求,所述单页测试脚本录制请求携带有待录制测试脚本的页面标识;
测试脚本录制模块,用于基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本;
单页测试脚本录制模块,用于根据所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本,所述待存储的单页测试脚本携带有单页测试脚本标识,将所述待存储的单页测试脚本存储在单页测试脚本库中;
第二请求获取模块,用于获取自动化测试脚本录制请求,所述自动化测试脚本录制请求携带有待处理的单页测试脚本标识集合;
自动化测试脚本录制模块,用于根据所述待处理的单页测试脚本标识集合、所述单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本。
本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的自动化测试脚本的录制方法、装置、设备及存储介质,通过基于标定设备中运行的待测App,对待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本,根据待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本,根据待处理的单页测试脚本标识集合、单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本,通过待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本提升了测试脚本执行流畅性,不需人手动去多次调试测试脚本;通过先进行单页测试脚本录制然后再进行自动化测试脚本录制,提高了测试脚本的复用性,降低了测试脚本录制的成本。
附图说明
图1为本申请一实施例的自动化测试脚本的录制方法的流程示意图;
图2为本申请一实施例的自动化测试脚本的录制装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请为了解决现有技术中的录制脚本开源工具生成的自动化测试脚本存在执行流畅性、需要手动去多次调试脚本的技术问题,本申请提出了一种自动化测试脚本的录制方法,所述方法应用于人工智能技术领域。所述自动化测试脚本的录制方法通过先进行单页测试脚本录制然后再进行自动化测试脚本录制,提高了测试脚本的复用性,降低了测试脚本录制的成本;而通过业务逻辑测试脚本、前后置判断条件测试脚本、页面截图测试脚本和异常处理测试脚本得到单页测试脚本,从而提升了测试脚本执行流畅性,不需人手动去多次调试测试脚本。
参照图1,本申请实施例中提供一种自动化测试脚本的录制方法,所述方法包括:
S1:基于与标定设备的通信连接,将待测App安装并运行在所述标定设备中;
S2:获取单页测试脚本录制请求,所述单页测试脚本录制请求携带有待录制测试脚本的页面标识;
S3:基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本;
S4:根据所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本,所述待存储的单页测试脚本携带有单页测试脚本标识,将所述待存储的单页测试脚本存储在单页测试脚本库中;
S5:获取自动化测试脚本录制请求,所述自动化测试脚本录制请求携带有待处理的单页测试脚本标识集合;
S6:根据所述待处理的单页测试脚本标识集合、所述单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本。
本实施例通过基于标定设备中运行的待测App,对待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本,根据待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本,根据待处理的单页测试脚本标识集合、单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本,通过待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本提升了测试脚本执行流畅性,不需人手动去多次调试测试脚本;通过先进行单页测试脚本录制然后再进行自动化测试脚本录制,提高了测试脚本的复用性,降低了测试脚本录制的成本。
对于S1,基于与标定设备的通信连接,将待测App安装并运行在所述标定设备中,从而完成录制测试脚本的录制环境准备。
标定设备,是指需要标定的移动电子设备。
待测App,是指需要录制测试脚本的APP。APP,手机软件,主要指安装在智能手机上的软件,完善原始系统的不足与个性化。可以理解的是,APP,也可以是其他移动电子设备上的软件,比如,平板电脑、智能穿戴设备上的软件。
对于S2,获取用户发送的单页测试脚本录制请求。
单页测试脚本录制请求,是对待测App的一页App页面进行测试脚本录制的请求。
待录制测试脚本的页面标识,是指单页测试脚本录制请求需要录制测试脚本的App页面的页面标识。
页面标识可以是页面ID、页面名称等唯一标识待测App的一页App页面的标识。
对于S3,根据所述待录制测试脚本的页面标识获取用户录制的测试脚本,将获取的所述待录制测试脚本的页面标识对应的业务逻辑测试脚本作为待存储的业务逻辑测试脚本,将获取的所述待录制测试脚本的页面标识对应的前后置判断条件测试脚本作为待存储的前后置判断条件测试脚本,将获取的所述待录制测试脚本的页面标识对应的页面截图测试脚本作为待存储的页面截图测试脚本,将获取的所述待录制测试脚本的页面标识对应的异常处理测试脚本作为待存储的异常处理测试脚本。
待存储的业务逻辑测试脚本,也就是业务逻辑测试脚本。业务逻辑测试脚本,用于对App页面进行模拟操作的测试脚本。
待存储的前后置判断条件测试脚本,也就是前后置判断条件测试脚本。前后置判断条件测试脚本,是指添加页面元素是否存在逻辑判断的测试脚本,用于判断App页面是否被正确加载,提升测试脚本执行的成功率,避免误报测试脚本执行状态,提高了整个测试脚本的容错和执行效率。前后置判断条件测试脚本包括:前置的判断条件测试脚本、后置的判断条件测试脚本。前置的判断条件测试脚本放在单页测试脚本的头部,后置的判断条件测试脚本是放在单页测试脚本的结尾。比如,App页面A跳转到App页面B,App页面B是否加载成功一般可以通过App页面B中某些具体的页面元素标识(比如,App页面B的title)来判断,这里的前后置判断条件测试脚本是判断即App页面B是否成功加载成功的判断测试脚本,无需人工去判断App页面B是否成功加载,在此举例不做具体限定。又比如,APP页面C在点击某个按钮跳转到下一个页面时存在多种页面场景,通过页面元素是否存在逻辑判断的测试脚本能够精准的识别出当前是哪个页面,同时减少了非当前页面测试脚本判断的逻辑,在此举例不做具体限定。
待存储的页面截图测试脚本,也就是页面截图测试脚本。页面截图测试脚本,用于对App页面的无法识别的控件进行截图的测试脚本。
待存储的异常处理测试脚本,也就是异常处理测试脚本。异常处理测试脚本,用于在测试异常时确定是继续执行或终止执行的测试脚本。
对于S4,将所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本按单页模板生成单页测试脚本,将生成的单页测试脚本作为待存储的单页测试脚本。
单页模板中记载了测试脚本各个组成的组合顺序和组合方式。
单页测试脚本标识可以是单页测试脚本名称、单页测试脚本ID等唯一标识一页App页面的测试脚本的标识。
可选的,将所述待录制测试脚本的页面标识作为所述待存储的单页测试脚本携带的单页测试脚本标识。可以理解的是,所述待录制测试脚本的页面标识还可以采用其他方式,比如,自定义编号,在此不做具体限定。
对于S5,获取用户发送的自动化测试脚本录制请求。
自动化测试脚本录制请求,是指录制自动化测试脚本的请求。自动化测试脚本中包括至少一页App页面的单页测试脚本。
待处理的单页测试脚本标识集合,也就是需要录制自动化测试脚本的单页测试脚本标识集合。所述单页测试脚本标识集合中包括一个或多个单页测试脚本标识。
对于S6,根据所述待处理的单页测试脚本标识集合中的单页测试脚本标识从所述单页测试脚本库中获取单页测试脚本,将获取的单页测试脚本按预设组合规则进行自动化测试脚本组合,将组合后的测试脚本作为目标自动化测试脚本。
可选的,预设组合规则可以与单页测试脚本对应的APP页面的打开顺序相同。
在一个实施例中,上述基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本的步骤,包括:
S31:基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行模拟操作的测试脚本录制,得到所述待存储的业务逻辑测试脚本;
S32:基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行页面元素判断条件的测试脚本录制,得到所述待存储的前后置判断条件测试脚本;
S33:基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行页面截图的测试脚本录制,得到所述待存储的页面截图测试脚本;
S34:基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行异常执行处理的测试脚本录制,得到所述待存储的异常处理测试脚本。
本实施例实现了模拟操作的测试脚本录制、页面元素判断条件的测试脚本录制、页面截图的测试脚本录制、异常执行处理的测试脚本录制,从而提升了测试脚本执行流畅性,不需人手动去多次调试测试脚本。
对于S31,基于所述标定设备中运行的所述待测App,打开所述待录制测试脚本的页面标识对应的App页面,对所述待录制测试脚本的页面标识对应的App页面的业务逻辑进行模拟操作,获取模拟操作的各个操作动作在所述待录制测试脚本的页面标识对应的App页面的坐标信息、操作顺序,根据坐标信息、操作顺序录制测试脚本,将录制的测试脚本作为所述待存储的业务逻辑测试脚本。
模拟操作,包括但不限于拖拽、单击、双击、长按。
所述待存储的业务逻辑测试脚本包括:操作顺序数据、模拟操作数据。模拟操作数据包括:操作动作标识、起始坐标数据。
操作动作标识可以是操作动作名称、操作动作ID等唯一标识一个操作动作的标识。
对于S32,基于所述标定设备中运行的所述待测App,打开所述待录制测试脚本的页面标识对应的App页面,对所述待录制测试脚本的页面标识对应的App页面的页面元素的判断条件进行前置的判断条件测试脚本和/或后置的判断条件测试脚本录制,将录制得到的测试脚本作为所述待存储的前后置判断条件测试脚本。
对于S33,基于所述标定设备中运行的所述待测App,打开所述待录制测试脚本的页面标识对应的App页面,对所述待录制测试脚本的页面标识对应的App页面的无法识别的控件进行截图操作,根据截图操作录制测试脚本,将录制得到的测试脚本作为所述待存储的页面截图测试脚本。
对于S34,基于所述标定设备中运行的所述待测App,打开所述待录制测试脚本的页面标识对应的App页面,对所述待录制测试脚本的页面标识对应的App页面的模拟操作,对模拟操作中出现的异常的处理进行测试脚本的录制,将录制的测试脚本作为所述待存储的异常处理测试脚本。
可以理解的是,步骤S31至步骤S34还可以采用其他顺序执行,在此不做具体限定。
在一个实施例中,上述基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行模拟操作的测试脚本录制,得到所述待存储的业务逻辑测试脚本的步骤,包括:
S311:基于所述标定设备中运行的所述待测App,依次获取各模拟操作所述待录制测试脚本的页面标识对应的App页面时各操作动作在所述标定设备中的操作动作坐标信息和操作动作反馈信息;
S312:根据所述各操作动作对应的点击顺序、所述操作动作坐标信息和所述操作动作反馈信息进行测试脚本生成,得到所述待存储的业务逻辑测试脚本。
本实施例实现了所述各操作动作对应的点击顺序、所述操作动作坐标信息和所述操作动作反馈信息进行测试脚本录制,从而提升了测试脚本执行流畅性,不需人手动去多次调试测试脚本。
对于S311,基于所述标定设备中运行的所述待测App,打开所述待录制测试脚本的页面标识对应的App页面,对所述待录制测试脚本的页面标识对应的App页面按业务逻辑进行模拟操作,依次获取各个模拟操作各自对应的操作动作在所述标定设备中的坐标信息作为操作动作坐标信息,依次获取各个模拟操作各自对应操作动作在操作过程中和操作后的待测APP的反馈信息作为操作动作反馈信息。比如,在标定设备的屏幕上显示取消按钮和确认按钮,取消按钮和确认按钮分别显示在标定设备的屏幕上的不同的位置,操作动作点击取消按钮时,操作动作对应的操作动作坐标信息位于取消的位置范围内,取消按钮被点击时待测试APP将反馈取消信息,则将取消信息作为操作动作反馈信息,在此举例不做具体限定。
操作动作坐标信息也就是起始坐标数据,起始坐标数据包括:开始坐标数据、结束坐标数据。
对于S312,在测试脚本录制时,将所述各操作动作对应的所述操作动作坐标信息和所述操作动作反馈信息按所述点击顺序写入测试脚本中,从而使生成的测试脚本符合业务逻辑,将生成的测试脚本作为所述待存储的业务逻辑测试脚本。
在一个实施例中,上述根据所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本的步骤,包括:
S41:将所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本编辑成单页测试脚本,得到待调试的单页测试脚本;
S42:对所述待调试的单页测试脚本进行调试,得到单页测试脚本调试结果;
S43:当所述单页测试脚本调试结果为成功时,根据所述单页测试脚本调试结果确定所述待存储的单页测试脚本,否则执行所述基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本的步骤直至所述单页测试脚本调试结果为成功。
本实施例实现了对单页测试脚本进行调试,调试成功后再作为待存储的单页测试脚本,从而提高了单页测试脚本库中的单页测试脚本的准确性。
对于S41,将所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本按单页模板生成单页测试脚本,将生成的单页测试脚本作为待调试的单页测试脚本。
待调试的单页测试脚本,也就是未经过调试的单页测试脚本。
对于S42,采用所述待调试的单页测试脚本对所述待录制测试脚本的页面标识对应的App页面进行测试,得到调试测试结果;获取预设测试结果;当所述调试测试结果与所述预设测试结果相同时确定单页测试脚本调试结果为成功,否则确定单页测试脚本调试结果为失败。
对于S43,当所述单页测试脚本调试结果为成功时,意味着所述待调试的单页测试脚本没有问题,此时将成功的所述单页测试脚本调试结果对应的所述待调试的单页测试脚本作为所述待存储的单页测试脚本;当所述单页测试脚本调试结果为失败时,意味着所述待调试的单页测试脚本存在问题,需要重新进行脚本录制,避免有问题的所述待调试的单页测试脚本存入单页测试脚本库中,此时通过循环执行步骤S3至步骤S43,直至所述单页测试脚本调试结果为成功。
在一个实施例中,上述根据所述待处理的单页测试脚本标识集合、所述单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本的步骤,包括:
S611:根据所述待处理的单页测试脚本标识集合中的所有所述单页测试脚本标识从所述单页测试脚本库中获取单页测试脚本,得到待处理的单页测试脚本集合;
S612:根据所述待处理的单页测试脚本集合进行自动化测试脚本组合,得到所述目标自动化测试脚本。
本实施例通过所述单页测试脚本库中的单页测试脚本进行自动化测试脚本录制,提高了测试脚本的复用性,降低了测试脚本录制的成本。
对于S611,依次从所述待处理的单页测试脚本标识集合中提取出所述单页测试脚本标识,将每个提取出的所述单页测试脚本标识从所述单页测试脚本库中进行查找,将在所述单页测试脚本库中查找到的所有单页测试脚本标识各自对应的单页测试脚本作为待处理的单页测试脚本集合。
对于S612,将所述待处理的单页测试脚本集合中的所有单页测试脚本按预设组合规则进行自动化测试脚本组合,将组合得到的自动化测试脚本作为目标自动化测试脚本。
在一个实施例中,上述自动化测试脚本录制请求还携带有目标测试设备的目标屏幕尺寸数据,所述根据所述待处理的单页测试脚本标识集合、所述单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本的步骤,还包括:
S621:分别获取所述待处理的单页测试脚本标识集合中的每个所述单页测试脚本标识对应的标定屏幕尺寸数据;
S622:分别根据所述待处理的单页测试脚本标识集合中的每个所述单页测试脚本标识对应的所述标定屏幕尺寸数据及所述单页测试脚本、所述目标屏幕尺寸数据进行元素位置定位代码的自动替换处理,得到屏幕尺寸优化后的单页测试脚本集合;
S623:根据所述屏幕尺寸优化后的单页测试脚本集合进行自动化测试脚本组合,得到所述目标自动化测试脚本。
本实施例实现了先调整元素位置定位代码再进行自动化测试脚本组合,从而使目标自动化测试脚本适应目标测试设备的屏幕尺寸,有利于提高目标自动化测试脚本测试目标测试设备中的App的准确性。
对于S621,所述单页测试脚本标识对应的标定屏幕尺寸数据,是指录制所述单页测试脚本标识对应的单页测试脚本时采用的移动电子设备的屏幕的尺寸数据。
可选的,每个所述单页测试脚本标识对应的单页测试脚本携带有标定屏幕尺寸数据。
可选的,采用所述待处理的单页测试脚本标识集合中的每个所述单页测试脚本标识从标定屏幕尺寸列表中进行查找,将在标定屏幕尺寸列表中查找到的单页测试脚本标识对应的屏幕尺寸数据作为所述待处理的单页测试脚本标识集合中的每个所述单页测试脚本标识对应的标定屏幕尺寸数据。
标定屏幕尺寸列表包括:单页测试脚本标识、屏幕尺寸数据,每个单页测试脚本标识对应一个屏幕尺寸数据。
屏幕尺寸数据包括但不限于:分辨率、长度、宽度。
对于S622,依次将所述待处理的单页测试脚本标识集合中的同一所述单页测试脚本标识对应的所述标定屏幕尺寸数据及所述单页测试脚本,作为目标标定屏幕尺寸数据及目标单页测试脚本;对目标标定屏幕尺寸数据和所述目标屏幕尺寸数据分别进行长度、宽度、分辨率的相除计算,得到长度缩放比例、宽度缩放比例、分辨率缩放比例;采用长度缩放比例、宽度缩放比例和分辨率缩放比例对目标单页测试脚本进行元素位置定位代码的自动替换处理,得到屏幕尺寸优化后的单页测试脚本;重复上述步骤直至完成所述待处理的单页测试脚本标识集合中所有所述单页测试脚本标识对应的单页测试脚本的屏幕尺寸优化;将所有屏幕尺寸优化后的所有单页测试脚本作为屏幕尺寸优化后的单页测试脚本集合。
其中,将目标标定屏幕尺寸数据的长度除以所述目标屏幕尺寸数据的长度,得到长度缩放比例;将目标标定屏幕尺寸数据的宽度除以所述目标屏幕尺寸数据的宽度,得到宽度缩放比例;将目标标定屏幕尺寸数据的分辨率除以所述目标屏幕尺寸数据的分辨率,得到分辨率缩放比例。
对于S623,将所述屏幕尺寸优化后的单页测试脚本集合中的所有屏幕尺寸优化后的单页测试脚本按预设组合规则进行自动化测试脚本组合,将组合得到的自动化测试脚本作为目标自动化测试脚本。
比如,录制待存储的单页测试脚本时用的是手机型号M1,待存储的单页测试脚本中有些页面元素是通过所在手机的坐标位置来确定的,待存储的单页测试脚本录制完成后,目标自动化测试脚本用户测试手机型号M2,手机型号M2和手机型号M1的屏幕的长宽比、分辨率、大小等可能不一样,这样会导致目标自动化测试脚本不能准确测试手机型号M2中的APP,通过元素位置定位代码的自动处理替换,实现了快速根据目标测试设备定制目标自动化测试脚本,从而提高了目标自动化测试脚本测试目标测试设备的准确率。
在一个实施例中,上述根据所述待处理的单页测试脚本标识集合、所述单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本的步骤之后,还包括:
S71:获取目标App的目标测试请求,所述目标测试请求携带有目标App的基本信息及待测试的目标自动化测试脚本标识;
S72:根据所述目标测试请求携带的所述目标App的基本信息及所述待测试的目标自动化测试脚本标识对所述目标App进行测试,获取所述目标App发送的目标测试数据;
S73:根据所述目标测试数据进行测试结果生成,得到所述目标App的基本信息对应的目标测试结果。
本实施例实现了采用目标自动化测试脚本对目标App进行测试,不需人手动去多次调试测试脚本,提升了测试效率。
对于S71,获取用户发送的目标测试请求,也可以获取第三方软件发送的目标测试请求。
目标测试请求,是对目标测试设备中的目标App进行测试的请求。
目标App的基本信息包括但不限于:目标App的APP标识信息、目标测试设备的品牌、目标测试设备的型号。
对于S72,基于与目标App的通信连接,采用所述目标测试请求携带的所述目标App的基本信息和所述目标测试请求携带的所述待测试的目标自动化测试脚本标识对应的目标自动化测试脚本对目标测试设备中的所述目标App进行测试,测试的过程中获取所述目标App发送的目标测试数据。
对于S73,获取预设测试标准;根据预设测试标准和所述目标测试数据进行测试结果生成,将得到的测试结果作为所述目标App的基本信息对应的目标测试结果。
在一个实施例中,上述根据所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本的步骤之前,还包括:
基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行加载外部资源的测试脚本录制,得到待存储的加载外部资源测试脚本;以及,
所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本的步骤,还包括:
根据所述待存储的加载外部资源测试脚本、所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本。
本实施例实现了录制加载外部资源的测试脚本,从而使待存储的单页测试脚本适用于需要加载外部资源的APP页面的测试脚本的录制。
待存储的加载外部资源测试脚本,也就是加载外部资源测试脚本。加载外部资源测试脚本,是指从第三方软件获取数据,将获取的数据进行加载并展示,对获取、加载并展示数据的整个过程和结果进行测试的脚本。
比如,一个App页面需要选择所在城市,需要在App页面上点击选择城市按钮,当用户点击这个按钮时可能会由于网络等原因弹出的页面加载缓慢,这时可能会出现App页面还未完成,但是App页面相关的脚本已经被戳发执行的情况,为了避免这种情况一般有两种解决办法,第一种是直接在录制脚本时在这个点击操作后添加一个Sleep睡眠一段时间(也就是在点击控件外部包裹一层循环执行的逻辑),第二种方法就通过循环方式(也就是在点击控件外部包裹一层循环执行的逻辑)来判断页面是否加载,在此举例不做具体限定。
在一个实施例中,上述根据所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本的步骤之前,还包括:
基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行等待外部请求响应的测试脚本录制,得到待存储的等待外部请求响应测试脚本;以及,
所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本的步骤,还包括:
根据所述待存储的等待外部请求响应测试脚本、所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本。
本实施例实现了录制等待外部请求响应的测试脚本,从而使待存储的单页测试脚本适用于需要等待外部请求响应的APP页面的测试脚本的录制。
待存储的等待外部请求响应测试脚本,也就是等待外部请求响应测试脚本。等待外部请求响应测试脚本,是指等待App页面以外的软件响应的测试脚本。
参照图2,本申请还提出了一种自动化测试脚本的录制装置,所述装置包括:
录制环境准备模块100,用于基于与标定设备的通信连接,将待测App安装并运行在所述标定设备中;
第一请求获取模块200,用于获取单页测试脚本录制请求,所述单页测试脚本录制请求携带有待录制测试脚本的页面标识;
测试脚本录制模块300,用于基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本;
单页测试脚本录制模块400,用于根据所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本,所述待存储的单页测试脚本携带有单页测试脚本标识,将所述待存储的单页测试脚本存储在单页测试脚本库中;
第二请求获取模块500,用于获取自动化测试脚本录制请求,所述自动化测试脚本录制请求携带有待处理的单页测试脚本标识集合;
自动化测试脚本录制模块600,用于根据所述待处理的单页测试脚本标识集合、所述单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本。
本实施例通过基于标定设备中运行的待测App,对待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本,根据待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本,根据待处理的单页测试脚本标识集合、单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本,通过待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本提升了测试脚本执行流畅性,不需人手动去多次调试测试脚本;通过先进行单页测试脚本录制然后再进行自动化测试脚本录制,提高了测试脚本的复用性,降低了测试脚本录制的成本。
在一个实施例中,所述测试脚本录制模块300包括:业务逻辑测试脚本录制子模块、前后置判断条件测试脚本录制子模块、页面截图测试脚本录制子模块、异常处理测试脚本录制子模块;
所述业务逻辑测试脚本录制子模块,用于基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行模拟操作的测试脚本录制,得到所述待存储的业务逻辑测试脚本;
所述前后置判断条件测试脚本录制子模块,用于基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行页面元素判断条件的测试脚本录制,得到所述待存储的前后置判断条件测试脚本;
所述页面截图测试脚本录制子模块,用于基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行页面截图的测试脚本录制,得到所述待存储的页面截图测试脚本;
所述异常处理测试脚本录制子模块,用于基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行异常执行处理的测试脚本录制,得到所述待存储的异常处理测试脚本。
在一个实施例中,所述业务逻辑测试脚本录制子模块包括:操作动作数据获取单元、业务逻辑测试脚本生成单元;
所述操作动作数据获取单元,用于基于所述标定设备中运行的所述待测App,依次获取各模拟操作所述待录制测试脚本的页面标识对应的App页面时各操作动作在所述标定设备中的操作动作坐标信息和操作动作反馈信息;
所述业务逻辑测试脚本生成单元,用于根据所述各操作动作对应的点击顺序、所述操作动作坐标信息和所述操作动作反馈信息进行测试脚本生成,得到所述待存储的业务逻辑测试脚本。
在一个实施例中,所述单页测试脚本录制模块400包括:待调试的单页测试脚本生成子模块、调试子模块;
所述待调试的单页测试脚本生成子模块,用于将所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本编辑成单页测试脚本,得到待调试的单页测试脚本;
所述调试子模块,用于对所述待调试的单页测试脚本进行调试,得到单页测试脚本调试结果,当所述单页测试脚本调试结果为成功时,根据所述单页测试脚本调试结果确定所述待存储的单页测试脚本,否则执行所述基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本的步骤直至所述单页测试脚本调试结果为成功。
在一个实施例中,所述自动化测试脚本录制模块600包括:单页测试脚本获取子模块、自动化测试脚本组合子模块;
所述单页测试脚本获取子模块,用于根据所述待处理的单页测试脚本标识集合中的所有所述单页测试脚本标识从所述单页测试脚本库中获取单页测试脚本,得到待处理的单页测试脚本集合;
所述自动化测试脚本组合子模块,用于根据所述待处理的单页测试脚本集合进行自动化测试脚本组合,得到所述目标自动化测试脚本。
在一个实施例中,所述自动化测试脚本录制模块600还包括:标定屏幕尺寸数据获取子模块、自动替换处理子模块、自动化测试脚本生成子模块;
所述标定屏幕尺寸数据获取子模块,用于分别获取所述待处理的单页测试脚本标识集合中的每个所述单页测试脚本标识对应的标定屏幕尺寸数据;
所述自动替换处理子模块,用于分别根据所述待处理的单页测试脚本标识集合中的每个所述单页测试脚本标识对应的所述标定屏幕尺寸数据及所述单页测试脚本、所述目标屏幕尺寸数据进行元素位置定位代码的自动替换处理,得到屏幕尺寸优化后的单页测试脚本集合;
所述自动化测试脚本生成子模块,用于根据所述屏幕尺寸优化后的单页测试脚本集合进行自动化测试脚本组合,得到所述目标自动化测试脚本。
在一个实施例中,所述装置还包括:测试请求获取模块、测试模块、测试结果生成模块;
所述测试请求获取模块,用于获取目标App的目标测试请求,所述目标测试请求携带有目标App的基本信息及待测试的目标自动化测试脚本标识;
所述测试模块,用于根据所述目标测试请求携带的所述目标App的基本信息及所述待测试的目标自动化测试脚本标识对所述目标App进行测试,获取所述目标App发送的目标测试数据;
所述测试结果生成模块,用于根据所述目标测试数据进行测试结果生成,得到所述目标App的基本信息对应的目标测试结果。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于储存自动化测试脚本的录制方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种自动化测试脚本的录制方法。所述自动化测试脚本的录制方法,包括:基于与标定设备的通信连接,将待测App安装并运行在所述标定设备中;获取单页测试脚本录制请求,所述单页测试脚本录制请求携带有待录制测试脚本的页面标识;基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本;根据所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本,所述待存储的单页测试脚本携带有单页测试脚本标识,将所述待存储的单页测试脚本存储在单页测试脚本库中;获取自动化测试脚本录制请求,所述自动化测试脚本录制请求携带有待处理的单页测试脚本标识集合;根据所述待处理的单页测试脚本标识集合、所述单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本。
本实施例通过基于标定设备中运行的待测App,对待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本,根据待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本,根据待处理的单页测试脚本标识集合、单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本,通过待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本提升了测试脚本执行流畅性,不需人手动去多次调试测试脚本;通过先进行单页测试脚本录制然后再进行自动化测试脚本录制,提高了测试脚本的复用性,降低了测试脚本录制的成本。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种自动化测试脚本的录制方法,包括步骤:基于与标定设备的通信连接,将待测App安装并运行在所述标定设备中;获取单页测试脚本录制请求,所述单页测试脚本录制请求携带有待录制测试脚本的页面标识;基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本;根据所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本,所述待存储的单页测试脚本携带有单页测试脚本标识,将所述待存储的单页测试脚本存储在单页测试脚本库中;获取自动化测试脚本录制请求,所述自动化测试脚本录制请求携带有待处理的单页测试脚本标识集合;根据所述待处理的单页测试脚本标识集合、所述单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本。
上述执行的自动化测试脚本的录制方法,通过基于标定设备中运行的待测App,对待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本,根据待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本,根据待处理的单页测试脚本标识集合、单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本,通过待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本提升了测试脚本执行流畅性,不需人手动去多次调试测试脚本;通过先进行单页测试脚本录制然后再进行自动化测试脚本录制,提高了测试脚本的复用性,降低了测试脚本录制的成本。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种自动化测试脚本的录制方法,其特征在于,所述方法包括:
基于与标定设备的通信连接,将待测App安装并运行在所述标定设备中;
获取单页测试脚本录制请求,所述单页测试脚本录制请求携带有待录制测试脚本的页面标识;
基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本;
根据所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本,所述待存储的单页测试脚本携带有单页测试脚本标识,将所述待存储的单页测试脚本存储在单页测试脚本库中;
获取自动化测试脚本录制请求,所述自动化测试脚本录制请求携带有待处理的单页测试脚本标识集合;
根据所述待处理的单页测试脚本标识集合、所述单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本。
2.根据权利要求1所述的自动化测试脚本的录制方法,其特征在于,所述基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本的步骤,包括:
基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行模拟操作的测试脚本录制,得到所述待存储的业务逻辑测试脚本;
基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行页面元素判断条件的测试脚本录制,得到所述待存储的前后置判断条件测试脚本;
基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行页面截图的测试脚本录制,得到所述待存储的页面截图测试脚本;
基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行异常执行处理的测试脚本录制,得到所述待存储的异常处理测试脚本。
3.根据权利要求2所述的自动化测试脚本的录制方法,其特征在于,所述基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行模拟操作的测试脚本录制,得到所述待存储的业务逻辑测试脚本的步骤,包括:
基于所述标定设备中运行的所述待测App,依次获取各模拟操作所述待录制测试脚本的页面标识对应的App页面时各操作动作在所述标定设备中的操作动作坐标信息和操作动作反馈信息;
根据所述各操作动作对应的点击顺序、所述操作动作坐标信息和所述操作动作反馈信息进行测试脚本生成,得到所述待存储的业务逻辑测试脚本。
4.根据权利要求1所述的自动化测试脚本的录制方法,其特征在于,所述根据所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本的步骤,包括:
将所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本编辑成单页测试脚本,得到待调试的单页测试脚本;
对所述待调试的单页测试脚本进行调试,得到单页测试脚本调试结果;
当所述单页测试脚本调试结果为成功时,根据所述单页测试脚本调试结果确定所述待存储的单页测试脚本,否则执行所述基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本的步骤直至所述单页测试脚本调试结果为成功。
5.根据权利要求1所述的自动化测试脚本的录制方法,其特征在于,所述根据所述待处理的单页测试脚本标识集合、所述单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本的步骤,包括:
根据所述待处理的单页测试脚本标识集合中的所有所述单页测试脚本标识从所述单页测试脚本库中获取单页测试脚本,得到待处理的单页测试脚本集合;
根据所述待处理的单页测试脚本集合进行自动化测试脚本组合,得到所述目标自动化测试脚本。
6.根据权利要求1所述的自动化测试脚本的录制方法,其特征在于,所述自动化测试脚本录制请求还携带有目标测试设备的目标屏幕尺寸数据,所述根据所述待处理的单页测试脚本标识集合、所述单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本的步骤,还包括:
分别获取所述待处理的单页测试脚本标识集合中的每个所述单页测试脚本标识对应的标定屏幕尺寸数据;
分别根据所述待处理的单页测试脚本标识集合中的每个所述单页测试脚本标识对应的所述标定屏幕尺寸数据及所述单页测试脚本、所述目标屏幕尺寸数据进行元素位置定位代码的自动替换处理,得到屏幕尺寸优化后的单页测试脚本集合;
根据所述屏幕尺寸优化后的单页测试脚本集合进行自动化测试脚本组合,得到所述目标自动化测试脚本。
7.根据权利要求1所述的自动化测试脚本的录制方法,其特征在于,所述根据所述待处理的单页测试脚本标识集合、所述单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本的步骤之后,还包括:
获取目标App的目标测试请求,所述目标测试请求携带有目标App的基本信息及待测试的目标自动化测试脚本标识;
根据所述目标测试请求携带的所述目标App的基本信息及所述待测试的目标自动化测试脚本标识对所述目标App进行测试,获取所述目标App发送的目标测试数据;
根据所述目标测试数据进行测试结果生成,得到所述目标App的基本信息对应的目标测试结果。
8.一种自动化测试脚本的录制装置,其特征在于,所述装置包括:
录制环境准备模块,用于基于与标定设备的通信连接,将待测App安装并运行在所述标定设备中;
第一请求获取模块,用于获取单页测试脚本录制请求,所述单页测试脚本录制请求携带有待录制测试脚本的页面标识;
测试脚本录制模块,用于基于所述标定设备中运行的所述待测App,对所述待录制测试脚本的页面标识对应的App页面进行测试脚本录制,得到待存储的业务逻辑测试脚本、待存储的前后置判断条件测试脚本、待存储的页面截图测试脚本和待存储的异常处理测试脚本;
单页测试脚本录制模块,用于根据所述待存储的业务逻辑测试脚本、所述待存储的前后置判断条件测试脚本、所述待存储的页面截图测试脚本和所述待存储的异常处理测试脚本进行单页测试脚本录制,得到待存储的单页测试脚本,所述待存储的单页测试脚本携带有单页测试脚本标识,将所述待存储的单页测试脚本存储在单页测试脚本库中;
第二请求获取模块,用于获取自动化测试脚本录制请求,所述自动化测试脚本录制请求携带有待处理的单页测试脚本标识集合;
自动化测试脚本录制模块,用于根据所述待处理的单页测试脚本标识集合、所述单页测试脚本库进行自动化测试脚本录制,得到目标自动化测试脚本。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011496897.3A CN112597016A (zh) | 2020-12-17 | 2020-12-17 | 自动化测试脚本的录制方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011496897.3A CN112597016A (zh) | 2020-12-17 | 2020-12-17 | 自动化测试脚本的录制方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112597016A true CN112597016A (zh) | 2021-04-02 |
Family
ID=75199112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011496897.3A Pending CN112597016A (zh) | 2020-12-17 | 2020-12-17 | 自动化测试脚本的录制方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597016A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220595A (zh) * | 2021-06-11 | 2021-08-06 | 中国农业银行股份有限公司 | 测试方法及设备 |
CN113468076A (zh) * | 2021-08-19 | 2021-10-01 | 平安普惠企业管理有限公司 | 应用程序的异常测试方法、装置、设备及存储介质 |
CN113901365A (zh) * | 2021-05-29 | 2022-01-07 | 长沙市到家悠享家政服务有限公司 | 性能压测平台及方法、电子设备及可读介质 |
-
2020
- 2020-12-17 CN CN202011496897.3A patent/CN112597016A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113901365A (zh) * | 2021-05-29 | 2022-01-07 | 长沙市到家悠享家政服务有限公司 | 性能压测平台及方法、电子设备及可读介质 |
CN113220595A (zh) * | 2021-06-11 | 2021-08-06 | 中国农业银行股份有限公司 | 测试方法及设备 |
CN113220595B (zh) * | 2021-06-11 | 2023-10-03 | 中国农业银行股份有限公司 | 测试方法及设备 |
CN113468076A (zh) * | 2021-08-19 | 2021-10-01 | 平安普惠企业管理有限公司 | 应用程序的异常测试方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112597016A (zh) | 自动化测试脚本的录制方法、装置、设备及存储介质 | |
CN106844217B (zh) | 对应用的控件进行埋点的方法及装置、可读存储介质 | |
CN111061526B (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN108427613B (zh) | 异常接口定位方法、装置、计算机设备和存储介质 | |
CN112181854B (zh) | 一种生成流程自动化脚本的方法、装置、设备及存储介质 | |
US20190243750A1 (en) | Test reuse exchange and automation system and method | |
CN111414309B (zh) | 应用程序的自动化测试方法、计算机设备和存储介质 | |
CN113282513B (zh) | 接口测试案例的生成方法、装置、计算机设备及存储介质 | |
CN113282498B (zh) | 测试用例的生成方法、装置、设备及存储介质 | |
CN112395202B (zh) | 接口自动化测试方法、装置、计算机设备和存储介质 | |
CN110659197B (zh) | 应用程序的测试用例生成方法、装置和软件测试系统 | |
CN111324375A (zh) | 代码管理方法、装置、计算机设备和存储介质 | |
CN110309057B (zh) | 基于自动化脚本的流程性项目测试方法和相关设备 | |
CN113360366A (zh) | Web页面测试方法、测试装置、电子设备及存储介质 | |
CN116719736A (zh) | 一种用于测试软件界面的测试用例生成方法及装置 | |
CN114942890B (zh) | 一种用户界面测试方法、装置、设备及介质 | |
CN113886262A (zh) | 软件自动化测试方法、装置、计算机设备和存储介质 | |
CN113645357B (zh) | 通话质检方法、装置、计算机设备和计算机可读存储介质 | |
CN115033481A (zh) | 基于浏览器访问的自动化测试代码生成的方法、装置以及计算机设备 | |
CN112486824B (zh) | 用例代码生成方法、装置、计算机设备和存储介质 | |
CN110704252A (zh) | 一种基于云端动态管理的自动测试装置和测试方法 | |
CN113849415A (zh) | 控件测试方法、装置、存储介质及电子设备 | |
CN113572900A (zh) | 外呼测试方法、装置、计算机设备和计算机可读存储介质 | |
CN113495764A (zh) | 自动化数据提取方法、装置、计算机设备和存储介质 | |
CN112015658A (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 |