一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多端交互的自动化测试方法和装置、电子设备与流程

2022-11-06 15:28:11 来源:中国专利 TAG:


1.本技术涉及视频直播领域,具体而言,涉及一种多端交互的自动化测试方法和装置、电子设备。


背景技术:

2.在互联网、移动互联网、物联网等的软件开发生命周期中,不可避免会存在编码、自测和完成流程测试环节,以确保交付客户使用的it解决方案是可靠的、稳定的以及是有质量保证的。
3.在软件测试环节,随着系统复杂度的提升、迭代、需求变更及代码的反复提交,测试工作量会越来越大。一味地投入人工进行测试,成本很难控制,而且存在人为出错的可能性,所以利用机器、按照设定好的程度进行自动化测试,成为技术研究和效率提升的方向。
4.现有的测试工具uft(unified functional testing,简称统一功能测试)是hp公司研发的企业级商业自动化测试工具,能够提供强大易用的录制回放/脚本编写调试等功能,主要支持b/s和c/s架构。selenium是一款应用于web的自动化测试工具,支持多浏览器,可应用于windows和macos平台。appium是一个开源的,适用于原生或混合移动应用的自动化测试工具,支持android和ios手机操作系统。airtest是基于图像识别或ui控件,包括脚本录制、回放和断言等功能,能够实现整个自动化测试流程,可运行于windows、macos等环境。
5.在视频直播领域,通常的交互ui层自动化是基于单个app或终端的流程化操作,涉及到的不同端的交互较少。但在直播领域,涉及多端交互。例如,主播在pc-web端发起直播,有的观众会通过安卓手机微信观看,有的观众会通过苹果手机微信观看,有的嘉宾会通过app连接麦克风,有的嘉宾会通过pc-客户端连接麦克风,有的助理会通过pc-web进入直播,直播过程中还有可能包括签到、抽奖、抢红包、问卷等活动。
6.由于视频直播的交互复杂性,现有的测试工具无法实现全链路、全流程地回归一场复杂的直播业务活动。


技术实现要素:

7.本技术提供了一种能多端交互的自动化测试方法和装置、电子设备,解决了多端交互的测试问题。
8.根据本技术的一方面,提出一种多端交互的自动化测试方法,所述自动化测试方法用于跨平台的多端交互系统中,所述多端交互系统包括服务端和至少一个客户端,所述自动化测试方法用于所述服务端,所述自动化测试方法包括获取测试执行场景,所述测试执行场景包括场景执行指令、脚本集和所述场景执行指令的执行顺序;将所述脚本集发送给所述客户端;根据所述场景执行指令的执行顺序,将所述场景执行指令发送给所述客户端;接收所述客户端的测试结果。
9.根据一些实施例,在获取测试执行场景之前,所述自动化测试方法还包括配置测
试执行场景信息,所述测试执行场景信息包括场景名称,场景描述,测试结果报告类型,测试结果报告发送方式,测试结果报告发送范围等。
10.根据一些实施例,在将所述脚本集发送给所客户端之前,所述自动化测试方法还包括检查所述执行场景指令是否符合要求;和/或检查所述脚本集是否完整;和/或检查所述服务端和所述客户端的通信连接是否正常。
11.根据一些实施例,所述将所述场景执行指令发送给所述客户端,包括若将所述场景执行指令发送给所述客户端时发送失败,则重复向将所述场景执行指令发送给所述客户端。
12.根据一些实施例,所述多端交互系统包括服务端和多个客户端,所述服务端将所述脚本集发送给所述多个客户端,并根据所述场景执行指令的执行顺序,将所述场景执行指令发送给所述多个客户端。
13.根据本技术的一方面,提出一种多端交互的自动化测试方法,所述自动化测试方法用于跨平台的多端交互系统中,所述多端交互系统包括服务端和至少一个客户端,所述自动化测试方法用于所述客户端,所述自动化测试方法包括接收所述服务端发送的脚本集;接收所述服务端发送的场景执行指令;执行所述脚本集中与所述场景执行指令对应的脚本;保存所述脚本的测试结果。
14.根据一些实施例,在接收所述服务端发送的脚本集之前,所述自动化测试方法还包括配置测试执行场景信息,所述测试场景信息包括所述客户端的节点名称、节点ip、测试用户账号和/或测试连接方式。
15.根据一些实施例,在接收所述服务端发送的脚本集之前,所述自动化测试方法还包括运行环境检测;和/或环境变量检测;和/或依赖数据检测。
16.根据一些实施例,所述自动化测试方法还包括将所述测试结果发送给所述服务端。
17.根据本技术的一方面,提出一种多端交互的自动化测试装置,所述自动化测试装置用于跨平台的多端交互系统中,所述多端交互系统包括服务端和至少一个客户端,所述自动化测试装置用于所述服务端,所述自动化测试装置包括测试执行场景获取单元,用于获取测试执行场景,所述测试执行场景包括场景执行指令、脚本集和所述场景执行指令的执行顺序;脚本集发送单元,用于将所述脚本集发送给所述客户端;场景执行指令发送单元,用于根据所述场景执行指令的执行顺序,将所述场景执行指令发送给所述客户端;测试结果接收单元,用于接收所述客户端的测试结果。
18.根据本技术的一方面,提出一种多端交互的自动化测试装置,所述自动化测试装置用于跨平台的多端交互系统中,所述多端交互系统包括服务端和至少一个客户端,所述自动化测试装置用于所述客户端,所述自动化测试装置包括脚本集接收单元,用于接收所述服务端发送的脚本集;场景执行指令接收单元,用于接收所述服务端发送的场景执行指令;脚本执行单元,用于执行所述脚本集中与所述场景执行指令对应的脚本;测试结果保存单元,用于保存所述脚本的测试结果。
19.根据本技术的一方面,提出一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得一个或多个处理器实现如前任一所述的方法。
20.根据本技术的一些示例实施例,通过多端通信,协调多个客户端执行测试脚本,模拟完整的直播行为,实现直播业务的自动检测,以确保直播业务的正常运转。
附图说明
21.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
22.图1a示出根据本技术示例实施例的一种多端交互的自动化测试架构图。
23.图1b示出根据本技术示例实施例的一种多端交互的自动化测试方法应用示意图。
24.图2示出根据本技术示例实施例的一种多端交互的自动化测试方法流程图。
25.图3示出根据本技术示例实施例的另一种多端交互的自动化测试方法流程图。
26.图4示出根据本技术示例实施例的一种多端交互的自动化测试装置框图。
27.图5示出根据本技术示例实施例的另一种多端交互的自动化测试装置框图。
28.图6示出根据本技术示例实施例的一种电子设备的框图。
具体实施方式
29.现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本技术将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
30.所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有这些特定细节中的一个或更多,或者可以采用其它的方式、组元、材料、装置或操作等。在这些情况下,将不详细示出或描述公知结构、方法、装置、实现、材料或者操作。
31.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
32.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
33.图1a示出根据本技术示例实施例的一种多端交互的自动化测试架构图。图1b示出根据本技术示例实施例的一种多端交互的自动化测试方法应用示意图。
34.如图1a所示,根据本技术示例实施例的一种多端交互的自动化测试包括服务端和客户端1~客户端4,服务端根据场景指令执行顺序控制客户端1~客户端4调用相应的测试脚本执行自动化测试。
35.如图1b所示的直播场景,客户端1~客户端4包括主持人、嘉宾、助理和观众,主持人、嘉宾、助理和观众利用不同的终端系统进入直播间参与直播活动,包括windows-web、
windows-clinet、mobile-android、mobile-ios、mac-web、android-h5或ios-h5等。例如,主播利用pc-web发起直播,观众通过安卓手机微信观看或通过苹果手机微信观看,嘉宾通过app连接麦克风或通过pc-客户端连接麦克风,助理通过pc-web进入直播,直播期间还包括签到、抽奖、抢红包、问卷等系列活动。
36.本技术提供的自动化测试方法根据主持人、嘉宾、助理和观众多端交互关系,通过多端通信,调用各端自适应的自动化测试用例,组织时序,执行对应操作,交织成完整的直播行为,还原一场真实直播,类似于预演,或者不间断的检测,以确保直播相关服务的正常运转、服务稳定。
37.图2示出根据本技术示例实施例的一种多端交互的自动化测试方法流程图。下面参照图2,对根据本技术示例实施例的一种多端交互的自动化测试方法进行详细说明。
38.根据本技术的一些示例实施例,图2所示的自动化测试方法用于跨平台的多端交互系统中,且该多端交互系统包括服务端和至少一个客户端。图2所示的自动化测试方法用于多端交互系统的服务端。
39.根据一些实施例,服务端部署matrix server,客户端部署client cluster。
40.根据一些实施例,服务端部署在云端服务器中,用于存储场景执行指令集、执行相应指令调度客户端执行脚本,并获取客户端的脚本执行结果。客户端通过执行服务端发送的脚本,模拟直播中主持人、嘉宾、助理和观众等角色操作。
41.在步骤s201,获取测试执行场景,测试执行场景包括场景执行指令、脚本集和场景执行指令的执行顺序。
42.根据一些实施例,在执行步骤s201之前,还需要配置测试执行场景信息。测试执行场景信息包括测试场景的所有信息,例如,场景名称,场景描述,测试结果报告类型,测试结果报告发送方式,测试结果报告发送范围等。在步骤s201中获取的测试执行场景格式满足配置的测试执行场景信息。
43.根据一些实施例,测试执行场景中的场景执行指令的执行顺序包括各客户端的执行顺序以及每次执行的具体内容。
44.在步骤s203,将脚本集发送给客户端。
45.根据本技术的一些实施例,在执行步骤s203之前,服务端需要执行自我检测。
46.根据一些实施例,若自我检测失败,中止执行,需要修改指令和脚本文件,以确保自我检测成功。
47.根据一些实施例,服务端在执行自我检测时,需要检查执行场景指令是否符合要求,包括执行场景指令是否语法正确、数据作用域和/或是否存在指令和数据越界。
48.根据一些实施例,服务端在执行自我检测时,需要检测脚本集是否完整,是否包括执行场景指令所需要的所有脚本内容。
49.根据一些实施例,服务端在执行自我检测时,需要执行心跳检测,判断客户端是否处于可用状态并激活客户端,使客户端处于激活状态。
50.在步骤s205,根据场景执行指令的执行顺序,将场景执行指令发送给客户端。
51.根据本技术的一些实施例,测试执行场景中的场景执行指令的执行顺序包括各客户端的执行顺序以及每次执行的具体内容。服务端根据场景执行指令的执行顺序,将场景执行指令发送给客户端。客户端根据接收到的场景执行指令,执行对应的脚本。
52.根据一些实施例,若场景执行指令发送失败,则重复执行步骤s205多次,例如3次。
53.在步骤s207,接收客户端的测试结果。
54.根据本技术的一些实施例,获取到客户单的测试结果,对测试结果进行图形化展示,便于工作人员对测试结果进行分析。
55.根据一些实施例,测试结果通过html或文本的形式显示。
56.根据本技术的一些申请实施例,为了模拟多端参与的直播活动,图2所示的自动化测试方法用于包括服务端和多个客户端的多端交互系统中,服务端将脚本集发送给多个客户端,并根据场景执行指令的执行顺序,将场景执行指令发送给多个客户端,模拟包括主持人、嘉宾、助理和观众等角色的完整的直播行为。
57.根据图2所示的示例实施例,通过多端通信,协调多个客户端执行测试脚本,模拟完整的直播行为,实现直播业务的自动检测,以确保直播业务的正常运转。
58.图3示出根据本技术示例实施例的另一种多端交互的自动化测试方法流程图。下面参照图3,对根据本技术示例实施例的另一种多端交互的自动化测试方法进行详细说明。
59.根据本技术的一些示例实施例,图3所示的自动化测试方法用于跨平台的多端交互系统中,且该多端交互系统包括服务端和至少一个客户端。图3所示的自动化测试方法用于多端交互系统的客户端。
60.根据一些实施例,服务端部署matrix server,客户端部署client cluster。
61.根据一些实施例,服务端部署在云端服务器中,用于存储场景执行指令集、执行相应指令调度客户端执行脚本,并获取客户端的脚本执行结果。客户端通过执行服务端发送的脚本,模拟直播中主持人、嘉宾、助理和观众等角色操作。
62.在步骤s301,接收服务端发送的脚本集。
63.根据本技术的一些示例实施例,在执行步骤s301之前,客户端需要配置测试执行场景信息。
64.根据一些实施例,测试场景信息包括客户端的节点名称、节点ip、测试用户账号和/或测试连接方式。
65.根据本技术的一些示例实施例,在执行步骤s301之前,客户端需要执行自我检测。
66.根据一些实施例,客户端需要执行运行环境检测,以确保整个测试过程所需要的编译环境能够正常运行。
67.根据一些实施例,客户端需要执行环境变量检测,以确保测试过程中需要的环境变量进行正常设置。根据一些实施例,环境变量包含解释器,例如python,数据存放路径、工作目录路径和/或临时目录路径。
68.根据一些实施例,客户端需要执行依赖数据检测,以确保测试过程中所依赖的数据进行配置。所依赖的数据包含脚本中所需要的三方库和/或测试数据信息。
69.在步骤s303,接收服务端发送的场景执行指令。
70.根据一些实施例,服务端发送的场景执行指令包括与场景执行指令对应的脚本信息。
71.在步骤s305,执行脚本集中与场景执行指令对应的脚本。在步骤s305中执行与场景执行指令对应的脚本,模拟视频直播中各角色的交互操作。例如,当服务端向客户端发送执行事务a的指令,客户端会从分发的脚本中找到事务a,并执行事务a中的脚本内容。
72.在步骤s307中,保存所述脚本的测试结果。
73.根据一些实施例,测试结果包括执行结果(成功/失败),判断执行结果的断言内容,例如像素对比等和/或执行过程中客户端收集的信息数据,例如,截图。
74.根据一些实施例,在保存测试结果后,还需要发送给服务端。
75.根据图3所示的实施例,适用于多种客户端模拟视频直播中各角色的交互操作,实现视频直播业务的自动化测试。
76.图4示出根据本技术示例实施例的一种多端交互的自动化测试装置框图。如图4所示,多端交互的自动化测试装置用于跨平台的多端交互系统中。多端交互系统包括服务端和至少一个客户端,自动化测试装置用于服务端。图4所示的自动化测试装置包括测试执行场景获取单元401、脚本集发送单元403、场景执行指令发送单元405和测试结果接收单元407。
77.测试执行场景获取单元401用于获取测试执行场景,测试执行场景包括场景执行指令、脚本集和场景执行指令的执行顺序。脚本集发送单元403用于将脚本集发送给客户端。场景执行指令发送单元405用于根据场景执行指令的执行顺序,将场景执行指令发送给客户端。测试结果接收单元407用于接收客户端的测试结果。
78.图5示出根据本技术示例实施例的另一种多端交互的自动化测试装置框图。如图5所示,多端交互的自动化测试装置用于跨平台的多端交互系统中。多端交互系统包括服务端和至少一个客户端,自动化测试装置用于客户端。图5所示自动化测试装置包括脚本集接收单元501、场景执行指令接收单元503、脚本执行单元505和测试结果保存单元507。
79.脚本集接收单元501用于接收服务端发送的脚本集,场景执行指令接收单元503用于接收服务端发送的场景执行指令,脚本执行单元505用于执行脚本集中与场景执行指令对应的脚本,测试结果保存单元507,用于保存脚本的测试结果。
80.图6示出根据本技术示例实施例的一种电子设备的框图。
81.下面参照图6来描述根据本技术的这种实施方式的电子设备200。图6显示的电子设备200仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
82.如图6所示,电子设备200以通用计算设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。其中,存储单元存储有程序代码,程序代码可以被处理单元210执行,使得处理单元210执行本说明书描述的根据本技术各种示例性实施方式的方法。例如,处理单元210可以执行如图2中所示的方法。
83.存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(rom)2203。
84.存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
85.总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
86.电子设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备
等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
87.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本技术实施方式的上述方法。
88.软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
89.计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
90.可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
91.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现前述功能。
92.本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
93.根据本技术的一些示例实施例,通过多端通信,将不同角色(一个主持人、多个嘉
宾,多个助理,成千上万的观众)从不同的客户端终端设备接入到直播中。基于不同场景,协调多个客户端执行测试脚本,还原一场真实的直播,模拟完整的直播行为,判断在直播过程中,各项活动是否正常进行,整个直播过程中是否有异常,实现直播业务的自动检测,以确保直播业务的正常运转。
94.以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本技术的方法及其核心思想。同时,本领域技术人员依据本技术的思想,基于本技术的具体实施方式及应用范围上做出的改变或变形之处,都属于本技术保护的范围。综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献