具体实现方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
以下分别进行详细说明。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例所涉及的测试脚本的生成装置可集成在电子设备中,电子设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(userequipment,UE),移动台(mobilestation,MS),终端设备(terminal device)等等。为方便描述,上面提到的设备统称为电子设备。
下面对本申请实施例进行详细介绍。
请参阅图1,图1是本申请实施例提供的第一种测试脚本的生成方法的流程示意图,该测试脚本的生成方法应用于测试脚本的生成装置,该测试脚本的生成方法包括步骤101-103,具体如下:
101:测试脚本的生成装置接收并显示测试应用的运行界面,所述测试应用为目标终端当前运行的应用。
其中,在测试脚本的生成装置接收并显示测试应用的运行界面的情况下,测试人员在测试脚本的生成装置的显示屏上对测试应用的运行界面的触控操作和在目标终端的显示屏上对测试应用的运行界面的触控操作是同步的。
在一个可能示例中,测试脚本的生成装置接收并显示测试应用的运行界面之前,所述方法还包括:
测试脚本的生成装置确定是否存在所述目标终端,所述目标终端为所述测试脚本的生成装置的预设范围内与所述测试脚本的生成装置具有连接关系的终端;
在存在所述目标终端的情况下,测试脚本的生成装置向所述目标终端发送投影请求,所述投影请求用于指示所述目标终端反馈所述测试应用的运行界面。
其中,预设范围可以为用户自定义的,比如预设范围为以测试脚本的生成装置为圆心,以3m为半径的圆。
在一个可能的示例中,测试脚本的生成装置向所述目标终端发送投影请求之前,所述方法还包括:
测试脚本的生成装置确定所述测试脚本的生成装置当前是否处于工作状态;
在所述测试脚本的生成装置当前未处于工作状态的情况下,测试脚本的生成装置执行向所述目标终端发送投影请求的操作;或者,
在所述测试脚本的生成装置当前处于工作状态的情况下,测试脚本的生成装置每隔第一预设时长确定所述测试脚本的生成装置是否处于工作状态;
在所述测试脚本的生成装置未处于工作状态的情况下,测试脚本的生成装置执行向所述目标终端发送投影请求的操作。
其中,若测试脚本的生成装置当前未处于工作状态,则表示测试脚本的生成装置当前可以接收并显示终端发送的测试应用的运行界面;若测试脚本的生成装置当前处于工作状态,则表示测试脚本的生成装置当前无法接收并显示终端发送的测试应用的运行界面,测试脚本的生成装置需要一段时间才可以接收并显示终端发送的测试应用的运行界面,此时测试脚本的生成装置未处于工作状态。
其中,第一预设时长可以是用户自定义的,比如第一预设时长为10min。
可见,在本示例中,测试脚本的生成装置每隔第一预设时长确定测试脚本的生成装置是否处于工作状态,相较于测试脚本的生成装置实时确定测试脚本的生成装置是否处于工作状态,本示例测试脚本的生成装置周期性确定测试脚本的生成装置是否处于工作状态,有助于降低测试脚本的生成装置的功耗。
在一个可能的示例中,N个目标触控操作为所述测试脚本的生成装置于N个时刻获取的触控操作,每个目标触控操作对应一个时刻,所述N个目标触控操作中的任意两个目标触控操作对应的时差小于或等于第二预设时长。
其中,第二预设时长可以为用户自定义的,比如第二预设时长为3s。
102:测试脚本的生成装置获取N个目标触控操作,所述N个目标触控操作为针对所述运行界面的触控操作,所述N为大于1的整数。
103:测试脚本的生成装置基于所述N个目标触控操作按照预设脚本生成策略生成目标测试脚本。
在一个可能的示例中,测试脚本的生成装置基于所述N个目标触控操作按照预设脚本生成策略生成目标测试脚本,包括:
在第1个目标触控操作不为预设触控操作的情况下,测试脚本的生成装置获取N个屏幕坐标,所述N个屏幕坐标为所述N个目标触控操作的屏幕坐标,每个目标触控操作对应一个屏幕坐标,所述预设触控操作为触发并显示多个功能模块的触控操作;
测试脚本的生成装置获取N个脚本程序段,所述N个脚本程序段为所述N个屏幕坐标的脚本程序段,每个屏幕坐标对应一个脚本程序段;
测试脚本的生成装置获取第一待录制脚本,所述第一待录制脚本为空白脚本;
测试脚本的生成装置基于所述第一待录制脚本和所述N个脚本程序段生成所述目标测试脚本,所述目标测试脚本为所述测试应用的测试脚本。
其中,若第1个目标触控操作的触控轨迹不同于预设触控操作的触控轨迹,则第1个目标触控操作不为预设触控操作。
其中,N个目标触控操作包括单击操作、双击操作、滑动操作、按压操作等。
具体地,测试脚本的生成装置获取N个屏幕坐标的实施方式可以为:测试脚本的生成装置基于触控操作与屏幕坐标的第一映射关系确定每个目标触控操作对应的屏幕坐标,得到N个目标触控操作的N个屏幕坐标,触控操作与屏幕坐标的第一映射关系预先存储于测试脚本的生成装置中。
其中,触控操作与屏幕坐标的第一映射关系如下表1所示:
表1
触控操作 |
屏幕坐标 |
单击操作 |
屏幕坐标1 |
双击操作 |
屏幕坐标2 |
滑动操作 |
屏幕坐标3 |
按压操作 |
屏幕坐标4 |
...... |
...... |
具体地,测试脚本的生成装置获取N个脚本程序段的实施方式可为:测试脚本的生成装置基于屏幕坐标与脚本程序段的映射关系确定每个屏幕坐标对应的脚本程序段,得到N个屏幕坐标的N个脚本程序段,屏幕坐标与脚本程序段的映射关系预先存储于测试脚本的生成装置中。
其中,屏幕坐标与脚本程序段的映射关系如下表2所示:
表2
屏幕坐标 |
脚本程序段 |
屏幕坐标1 |
脚本程序段1 |
屏幕坐标2 |
脚本程序段2 |
屏幕坐标3 |
脚本程序段3 |
屏幕坐标4 |
脚本程序段4 |
...... |
...... |
具体地,测试脚本的生成装置获取第一待录制脚本的实施方式可以为:测试脚本的生成装置从待录制脚本库中选取任意一个空白脚本,待录制脚本库包括多个空白脚本,待录制脚本库预先存储于测试脚本的生成装置中;测试脚本的生成装置将从待录制脚本库中选取的空白脚本作为第一待录制脚本。
其中,每个目标触控操作对应一个脚本程序段,目标测试脚本中的N个脚本程序段的排列顺序和N个目标触控操作的排列顺序是相同的。
在一个可能的示例中,测试脚本的生成装置基于所述N个目标触控操作按照预设脚本生成策略生成目标测试脚本,包括:
在所述第1个目标触控操作为所述预设触控操作的情况下,测试脚本的生成装置获取(N-1)个目标功能模块,所述(N-1)个目标功能模块为所述N个目标触控操作中除所述第1个目标触控操作之外的(N-1)个目标触控操作的功能模块,所述(N-1)个目标触控操作中的每个目标触控操作对应一个目标功能模块,所述预设操作为触发并显示多个功能模块的触控操作;
测试脚本的生成装置获取(N-1)个脚本程序集,所述(N-1)个脚本程序集为所述(N-1)个目标功能模块的脚本程序集,每个目标功能模块对应一个脚本程序集;
测试脚本的生成装置获取第二待录制脚本,所述第二待录制脚本为空白脚本;
测试脚本的生成装置基于所述第二待录制脚本和所述(N-1)个脚本程序集生成所述目标测试脚本,所述目标测试脚本为所述测试应用的测试脚本。
其中,若第1个目标触控操作的触控轨迹和预设触控操作的触控轨迹相同,则第1个目标触控操作为预设触控操作。
其中,(N-1)个目标触控操作均可以为点击操作,在此不作限定。
其中,测试脚本的生成装置获取(N-1)个目标功能模块的实施方式可以为:测试脚本的生成装置基于触控操作与屏幕坐标的第二映射关系确定N个目标触控操作中除第1个目标触控操作之外的(N-1)个目标触控操作中的每个目标触控操作对应的屏幕坐标,得到N个目标触控操作中除第1个目标触控操作之外的(N-1)个目标触控操作的(N-1)个屏幕坐标,触控操作与屏幕坐标的第二映射关系预先存储于测试脚本的生成装置中;测试脚本的生成装置基于屏幕坐标与功能模块的映射关系确定每个屏幕坐标对应的目标功能模块,得到(N-1)个屏幕坐标的(N-1)个目标功能模块,屏幕坐标与功能模块的映射关系预先存储于测试脚本的生成装置中。
其中,触控操作与屏幕坐标的第二映射关系如下表3所示:
表3
触控操作 |
屏幕坐标 |
触控操作1 |
第一屏幕坐标 |
触控操作2 |
第二屏幕坐标 |
触控操作3 |
第三屏幕坐标 |
触控操作4 |
第四屏幕坐标 |
...... |
...... |
其中,屏幕坐标与功能模块的映射关系如下表4所示:
表4
屏幕坐标 |
功能模块 |
第一屏幕坐标 |
第一功能模块 |
第二屏幕坐标 |
第二功能模块 |
第三屏幕坐标 |
第三功能模块 |
第四屏幕坐标 |
第四功能模块 |
...... |
...... |
具体地,测试脚本的生成装置获取(N-1)个脚本程序集的实施方式可以为:测试脚本的生成装置基于功能模块与脚本程序集的映射关系确定每个目标功能模块对应的脚本程序集,得到(N-1)个目标功能模块的(N-1)个脚本程序集,功能模块与脚本程序集的映射关系预先存储于测试脚本的生成装置中。
其中,功能模块与脚本程序集的映射关系如下表5所示:
表5
功能模块 |
脚本程序集 |
第一功能模块 |
第一脚本程序集 |
第二功能模块 |
第二脚本程序集 |
第三功能模块 |
第三脚本程序集 |
第四功能模块 |
第四脚本程序集 |
...... |
...... |
其中,测试脚本的生成装置获取第二待录制脚本的实施方式和获取第一待录制脚本的实施方式是相同的,在此不再叙述。
其中,N个目标触控操作中除第1个目标触控操作之外的(N-1)个目标触控操作中的每个目标触控操作对应一个脚本程序集,目标测试脚本中的(N-1)个脚本程序集的排列数据和N个目标触控操作中除第1个目标触控操作之外的(N-1)个目标触控操作的排列顺序相同。
可以看出,在本申请实施例中,测试脚本的生成装置接收并显示测试应用的运行界面,获取针对运行界面的N个目标触控操作,基于N个目标触控操作按照预设脚本生成策略生成目标测试脚本。相较于采用人工方式生成测试脚本,本申请实施例实现了基于N个目标触控操作按照预设脚本生成策略自动生成目标测试脚本,有助于提升测试脚本的生成效率。
在一个可能的示例中,测试脚本的生成装置基于所述N个目标触控操作按照预设脚本生成策略生成目标测试脚本之后,所述方法还包括:
测试脚本的生成装置调用目标测试程序,所述目标测试程序为所述测试应用的测试程序,所述目标测试程序预先存储于所述测试脚本的生成装置中;
测试脚本的生成装置获取目标测试结果,所述目标测试结果为所述测试应用的测试结果,所述目标测试结果为基于所述目标测试程序对所述目标测试脚本进行测试得到的;
测试脚本的生成装置向所述目标终端发送所述目标测试结果。
具体地,测试脚本的生成装置调用目标测试程序的实施方式可以为:测试脚本的生成装置基于测试应用与测试程序的映射关系确定目标测试程序,测试应用与测试程序的映射关系预先存储于测试脚本的生成装置中;测试脚本的生成装置从测试程序库中选取目标测试程序,测试程序库包括多个测试程序,测试程序库预先存储于测试脚本的生成装置中;测试脚本的生成装置调用目标测试程序。
具体地,测试脚本的生成装置获取目标测试结果的实施方式可以为:在目标测试程序包括M个测试流程,M为大于1的整数的情况下,测试脚本的生成装置基于第i个测试流程对目标测试脚本进行测试,得到第i个子测试结果;在基于第i个测试流程对目标测试脚本进行测试结束后,测试脚本的生成装置基于第(i+1)个测试流程对目标测试脚本进行测试,得到第(i+1)个子测试结果;直到i=M,停止测试,得到第M个子测试结果,i是初始值为1,以1为间隔的递增整数;测试脚本的生成装置将M个子测试结果作为目标测试结果。
与上述图1所示的实施例一致的,请参阅图2,图2是本申请实施例提供的第二种测试脚本的生成方法的流程示意图,该测试脚本的生成方法应用于测试脚本的生成装置,该测试脚本的生成方法包括步骤201-210,具体如下:
201:测试脚本的生成装置接收并显示测试应用的运行界面,所述测试应用为目标终端当前运行的应用,所述目标终端为所述测试脚本的生成装置的预设范围内与所述测试脚本的生成装置具有连接关系的终端。
202:测试脚本的生成装置获取N个目标触控操作,所述N个目标触控操作为针对所述运行界面的触控操作,所述N个目标触控操作为所述测试脚本的生成装置于N个时刻获取的触控操作,每个目标触控操作对应一个时刻,所述N个目标触控操作中的任意两个目标触控操作对应的时差小于或等于第二预设时长,所述N为大于1的整数。
203:测试脚本的生成装置确定第1个目标触控操作是否为预设触控操作,所述预设触控操作为触发并显示多个功能模块的触控操作。
204:在所述第1个目标触控操作不为所述预设触控操作的情况下,测试脚本的生成装置获取N个屏幕坐标,所述N个屏幕坐标为所述N个目标触控操作的屏幕坐标,每个目标触控操作对应一个屏幕坐标。
205:测试脚本的生成装置获取N个脚本程序段,所述N个脚本程序段为所述N个屏幕坐标的脚本程序段,每个屏幕坐标对应一个脚本程序段。
206:测试脚本的生成装置获取第一待录制脚本,所述第一待录制脚本为空白脚本。
207:测试脚本的生成装置基于所述第一待录制脚本和所述N个脚本程序段生成所述目标测试脚本,所述目标测试脚本为所述测试应用的测试脚本。
208:测试脚本的生成装置调用目标测试程序,所述目标测试程序为所述测试应用的测试程序,所述目标测试程序预先存储于所述测试脚本的生成装置中。
209:测试脚本的生成装置获取目标测试结果,所述目标测试结果为所述测试应用的测试结果,所述目标测试结果为基于所述目标测试程序对所述目标测试脚本进行测试得到的。
210:测试脚本的生成装置向所述目标终端发送所述目标测试结果。
需要说明的是,图2所示的方法的各个步骤的具体实现过程可参见上述方法所述的具体实现过程,在此不再叙述。
与上述图1和图2所示的实施例一致的,请参阅图3,图3是本申请实施例提供的第三种测试脚本的生成方法的流程示意图,该测试脚本的生成方法应用于测试脚本的生成装置,该测试脚本生成方法包括步骤301-310,具体如下:
301:测试脚本的生成装置接收并显示测试应用的运行界面,所述测试应用为目标终端当前运行的应用,所述目标终端为所述测试脚本的生成装置的预设范围内与所述测试脚本的生成装置具有连接关系的终端。
302:测试脚本的生成装置获取N个目标触控操作,所述N个目标触控操作为针对所述运行界面的触控操作,所述N个目标触控操作为所述测试脚本的生成装置于N个时刻获取的触控操作,每个目标触控操作对应一个时刻,所述N个目标触控操作中的任意两个目标触控操作对应的时差小于或等于第二预设时长,所述N为大于1的整数。
303:测试脚本的生成装置测试脚本的生成装置确定第1个目标触控操作是否为预设触控操作,所述预设触控操作为触发并显示多个功能模块的触控操作。
304:在所述第1个目标触控操作为所述预设触控操作的情况下,测试脚本的生成装置获取(N-1)个目标功能模块,所述(N-1)个目标功能模块为所述N个目标触控操作中除所述第1个目标触控操作之外的(N-1)个目标触控操作的功能模块,所述(N-1)个目标触控操作中的每个目标触控操作对应一个目标功能模块。
305:测试脚本的生成装置获取(N-1)个脚本程序集,所述(N-1)个脚本程序集为所述(N-1)个目标功能模块的脚本程序集,每个目标功能模块对应一个脚本程序集。
306:测试脚本的生成装置获取第二待录制脚本,所述第二待录制脚本为空白脚本。
307:测试脚本的生成装置基于所述第二待录制脚本和所述(N-1)个脚本程序集生成所述目标测试脚本,所述目标测试脚本为所述测试应用的测试脚本。
308:测试脚本的生成装置调用目标测试程序,所述目标测试程序为所述测试应用的测试程序,所述目标测试程序预先存储于所述测试脚本的生成装置中。
309:测试脚本的生成装置获取目标测试结果,所述目标测试结果为所述测试应用的测试结果,所述目标测试结果为基于所述目标测试程序对所述目标测试脚本进行测试得到的。
310:测试脚本的生成装置向所述目标终端发送所述目标测试结果。
需要说明的是,图3所示的方法的各个步骤的具体实现过程可参见上述方法所述的具体实现过程,在此不再叙述。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,测试脚本的生成装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对测试脚本的生成装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参阅图4,图4是本申请实施例提供的一种测试脚本的生成装置的功能单元组成框图,该测试脚本的生成装置400包括:
接收显示单元401,用于接收并显示测试应用的运行界面,所述测试应用为目标终端当前运行的应用;
第一获取单元402,用于获取N个目标触控操作,所述N个目标触控操作为针对所述运行界面的触控操作,所述N为大于1的整数;
生成单元403,用于基于所述N个目标触控操作按照预设脚本生成策略生成目标测试脚本。
可以看出,在本申请实施例中,测试脚本的生成装置接收并显示测试应用的运行界面,获取针对运行界面的N个目标触控操作,基于N个目标触控操作按照预设脚本生成策略生成目标测试脚本。相较于采用人工方式生成测试脚本,本申请实施例实现了基于N个目标触控操作按照预设脚本生成策略自动生成目标测试脚本,有助于提升测试脚本的生成效率。
在一个可能的示例中,上述测试脚本的生成装置400还包括:
第一确定单元404,用于确定是否存在所述目标终端,所述目标终端为所述测试脚本的生成装置的预设范围内与所述测试脚本的生成装置具有连接关系的终端;
第一发送单元405,用于在存在所述目标终端的情况下,向所述目标终端发送投影请求,所述投影请求用于指示所述目标终端反馈所述测试应用的运行界面。
在一个可能的示例中,上述测试脚本的生成装置400还包括:
第二确定单元406,用于确定所述测试脚本的生成装置当前是否处于工作状态;
执行单元407,用于在所述测试脚本的生成装置当前未处于工作状态的情况下,执行向所述目标终端发送投影请求的操作;
第二确定单元406,还用于在所述测试脚本的生成装置当前处于工作状态的情况下,每隔第一预设时长确定所述测试脚本的生成装置是否处于工作状态;
执行单元407,还用于在所述测试脚本的生成装置未处于工作状态的情况下,执行向所述目标终端发送投影请求的操作。
在一个可能的示例中,所述N个目标触控操作为所述测试脚本的生成装置于N个时刻获取的触控操作,每个目标触控操作对应一个时刻,所述N个目标触控操作中的任意两个目标触控操作对应的时差小于或等于第二预设时长。
在一个可能的示例中,在基于所述N个目标触控操作按照预设脚本生成策略生成目标测试脚本方面,上述生成单元403具体用于:
在第1个目标触控操作不为预设触控操作的情况下,获取N个屏幕坐标,所述N个屏幕坐标为所述N个目标触控操作的屏幕坐标,每个目标触控操作对应一个屏幕坐标,所述预设触控操作为触发并显示多个功能模块的触控操作;
获取N个脚本程序段,所述N个脚本程序段为所述N个屏幕坐标的脚本程序段,每个屏幕坐标对应一个脚本程序段;
获取第一待录制脚本,所述第一待录制脚本为空白脚本;
基于所述第一待录制脚本和所述N个脚本程序段生成所述目标测试脚本,所述目标测试脚本为所述测试应用的测试脚本。
在一个可能的示例中,在基于所述N个目标触控操作按照预设脚本生成策略生成目标测试脚本方面,上述生成单元403具体用于:
在所述第1个目标触控操作为所述预设触控操作的情况下,获取(N-1)个目标功能模块,所述(N-1)个目标功能模块为所述N个目标触控操作中除所述第1个目标触控操作之外的(N-1)个目标触控操作的功能模块,所述(N-1)个目标触控操作中的每个目标触控操作对应一个目标功能模块,所述预设操作为触发并显示多个功能模块的触控操作;
获取(N-1)个脚本程序集,所述(N-1)个脚本程序集为所述(N-1)个目标功能模块的脚本程序集,每个目标功能模块对应一个脚本程序集;
获取第二待录制脚本,所述第二待录制脚本为空白脚本;
基于所述第二待录制脚本和所述(N-1)个脚本程序集生成所述目标测试脚本,所述目标测试脚本为所述测试应用的测试脚本。
在一个可能的示例中,上述测试脚本的生成装置400还包括:
调用单元408,用于调用目标测试程序,所述目标测试程序为所述测试应用的测试程序,所述目标测试程序预先存储于所述测试脚本的生成装置中;
第二获取单元409,用于获取目标测试结果,所述目标测试结果为所述测试应用的测试结果,所述目标测试结果为基于所述目标测试程序对所述目标测试脚本进行测试得到的;
第二发送单元410,用于向所述目标终端发送所述目标测试结果。
与上述图1、图2和图3所示的实施例一致的,请参阅图5,图5是本申请实施例提供的一种电子设备的结构示意图,该电子设备500包括处理器、存储器、通信接口,以及一个或多个程序,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
接收并显示测试应用的运行界面,所述测试应用为目标终端当前运行的应用;
获取N个目标触控操作,所述N个目标触控操作为针对所述运行界面的触控操作,所述N为大于1的整数;
基于所述N个目标触控操作按照预设脚本生成策略生成目标测试脚本。
可以看出,在本申请实施例中,电子设备接收并显示测试应用的运行界面,获取针对运行界面的N个目标触控操作,基于N个目标触控操作按照预设脚本生成策略生成目标测试脚本。相较于采用人工方式生成测试脚本,本申请实施例实现了基于N个目标触控操作按照预设脚本生成策略自动生成目标测试脚本,有助于提升测试脚本的生成效率。
在一个可能的示例中,上述程序还包括用于执行以下步骤的指令:
确定是否存在所述目标终端,所述目标终端为所述测试脚本的生成装置的预设范围内与所述测试脚本的生成装置具有连接关系的终端;
在存在所述目标终端的情况下,向所述目标终端发送投影请求,所述投影请求用于指示所述目标终端反馈所述测试应用的运行界面。
在一个可能的示例中,上述程序还包括用于执行以下步骤的指令:
确定所述测试脚本的生成装置当前是否处于工作状态;
在所述测试脚本的生成装置当前未处于工作状态的情况下,执行向所述目标终端发送投影请求的操作;或者,
在所述测试脚本的生成装置当前处于工作状态的情况下,每隔第一预设时长确定所述测试脚本的生成装置是否处于工作状态;
在所述测试脚本的生成装置未处于工作状态的情况下,执行向所述目标终端发送投影请求的操作。
在一个可能的示例中,所述N个目标触控操作为所述测试脚本的生成装置于N个时刻获取的触控操作,每个目标触控操作对应一个时刻,所述N个目标触控操作中的任意两个目标触控操作对应的时差小于或等于第二预设时长。
在一个可能的示例中,在基于所述N个目标触控操作按照预设脚本生成策略生成目标测试脚本方面,上述程序包括具体用于执行以下步骤的指令:
在第1个目标触控操作不为预设触控操作的情况下,获取N个屏幕坐标,所述N个屏幕坐标为所述N个目标触控操作的屏幕坐标,每个目标触控操作对应一个屏幕坐标,所述预设触控操作为触发并显示多个功能模块的触控操作;
获取N个脚本程序段,所述N个脚本程序段为所述N个屏幕坐标的脚本程序段,每个屏幕坐标对应一个脚本程序段;
获取第一待录制脚本,所述第一待录制脚本为空白脚本;
基于所述第一待录制脚本和所述N个脚本程序段生成所述目标测试脚本,所述目标测试脚本为所述测试应用的测试脚本。
在一个可能的示例中,在基于所述N个目标触控操作按照预设脚本生成策略生成目标测试脚本方面,上述程序包括具体用于执行以下步骤的指令:
在所述第1个目标触控操作为所述预设触控操作的情况下,获取(N-1)个目标功能模块,所述(N-1)个目标功能模块为所述N个目标触控操作中除所述第1个目标触控操作之外的(N-1)个目标触控操作的功能模块,所述(N-1)个目标触控操作中的每个目标触控操作对应一个目标功能模块,所述预设操作为触发并显示多个功能模块的触控操作;
获取(N-1)个脚本程序集,所述(N-1)个脚本程序集为所述(N-1)个目标功能模块的脚本程序集,每个目标功能模块对应一个脚本程序集;
获取第二待录制脚本,所述第二待录制脚本为空白脚本;
基于所述第二待录制脚本和所述(N-1)个脚本程序集生成所述目标测试脚本,所述目标测试脚本为所述测试应用的测试脚本。
在一个可能的示例中,上述程序还包括用于执行以下步骤的指令:
调用目标测试程序,所述目标测试程序为所述测试应用的测试程序,所述目标测试程序预先存储于所述测试脚本的生成装置中;
获取目标测试结果,所述目标测试结果为所述测试应用的测试结果,所述目标测试结果为基于所述目标测试程序对所述目标测试脚本进行测试得到的;
向所述目标终端发送所述目标测试结果。
本申请实施例还提供一种计算机存储介质,该计算机存储介质用于存储计算机程序,上述计算机程序被处理器执行,以实现如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实现方式及应用范围上均会有改变之处,综上上述,本说明书内容不应理解为对本申请的限制。