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

一种用于更新设备状态的方法、设备、介质及程序产品与流程

2022-06-29 22:19:11 来源:中国专利 TAG:


1.本技术涉及通信领域,尤其涉及一种用于更新设备状态的技术。


背景技术:

2.移动设备自动化测试,难点之一是设备状态监控,监控设备插拔状态,连接主机,设备序列号,平台,以及操作系统版本等信息,通过这些信息获取提供给第三方查看以及app自动化平台调度运行设备前做逻辑校验等,现有技术中的设备状态监控,是对单台设备通过自动化框架uiautomator/wda服务连接后实现状态信息获取。


技术实现要素:

3.本技术的一个目的是提供一种用于更新设备状态的方法、设备、介质及程序产品。
4.根据本技术的一个方面,提供了一种用于更新设备状态的方法,该方法包括:
5.通过不挂断运行状态监控脚本,在所述状态监控脚本中开启多个监控线程获取一个或多个测试终端相对于所述测试服务器的连接状态,其中,每个监控线程用于获取对应不同终端类型的测试终端的连接状态;
6.根据所述连接状态,更新后台数据库中的至少一个测试终端的设备状态信息。
7.根据本技术的一个方面,提供了一种用于的测试服务器,该测试服务器包括:
8.一一模块,用于通过不挂断运行状态监控脚本,在所述状态监控脚本中开启多个监控线程获取一个或多个测试终端相对于所述测试服务器的连接状态,其中,每个监控线程用于获取对应不同终端类型的测试终端的连接状态;
9.一二模块,用于根据所述连接状态,更新后台数据库中的至少一个测试终端的设备状态信息。
10.根据本技术的一个方面,提供了一种用于更新设备状态的计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,其中,所述处理器执行所述计算机程序以实现如上所述任一方法的操作。
11.根据本技术的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如上所述任一方法的操作。
12.根据本技术的一个方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述任一方法的步骤。
13.与现有技术相比,本技术通过不挂断运行状态监控脚本,在所述状态监控脚本中开启多个监控线程获取一个或多个测试终端相对于所述测试服务器的连接状态,其中,每个监控线程用于获取对应不同终端类型的测试终端的连接状态;根据所述连接状态,更新后台数据库中的至少一个测试终端的设备状态信息,从而本技术在已部署或已安装在测试服务器上的监控模块的基础上,结合多线程和单脚本后台不挂断运行的简易方式,达到对多个不同终端类型的测试终端的多线自动化监控以及同步更新信息到后台数据库,可以在app自动化实现中给前端设备信息查看和后端设备执行前逻辑校验都起到重要的作用,应
用灵活可拓展性强,且通过单脚本后台不挂断运行的简易方式,即可达到对不同终端类型的测试终端的设备状态自动化监控。
附图说明
14.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:
15.图1示出根据本技术一个实施例的一种用于更新设备状态的方法流程图;
16.图2示出根据本技术一个实施例的一种用于更新设备状态的测试服务器结构图;
17.图3示出根据本技术一个实施例的一种测试终端的设备状态信息的呈现示意图;
18.图4示出根据本技术一个实施例的一种测试终端的呈现示意图;
19.图5示出可被用于实施本技术中所述的各个实施例的示例性系统。
20.附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
21.下面结合附图对本技术作进一步详细描述。
22.在本技术一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如,中央处理器(central processing unit,cpu))、输入/输出接口、网络接口和内存。
23.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(random access memory,ram)和/或非易失性内存等形式,如只读存储器(read only memory,rom)或闪存(flash memory)。内存是计算机可读介质的示例。
24.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(phase-change memory,pcm)、可编程随机存取存储器(programmable random access memory,pram)、静态随机存取存储器(static random-access memory,sram)、动态随机存取存储器(dynamic random access memory,dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(electrically-erasable programmable read-only memory,eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(compact disc read-only memory,cd-rom)、数字多功能光盘(digital versatile disc,dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
25.本技术所指设备包括但不限于终端、网络设备、或终端与网络设备通过网络相集成所构成的设备。所述终端包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如android操作系统、ios操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程逻辑器件(programmable logic device,pld)、现场可编程门阵列(field programmable gate array,fpga)、数字信号处理器(digital signal processor,dsp)、嵌入式设备等。所
述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(cloud computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、vpn网络、无线自组织网络(ad hoc网络)等。优选地,所述设备还可以是运行于所述终端、网络设备、或终端与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。
26.当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本技术,也应包含在本技术保护范围以内,并在此以引用方式包含于此。
27.在本技术的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。
28.图1示出根据本技术一个实施例的一种用于更新设备状态的方法流程图,该方法包括步骤s11和步骤s12。在步骤s11中,测试服务器通过不挂断运行状态监控脚本,在所述状态监控脚本中开启多个监控线程获取一个或多个测试终端相对于所述测试服务器的连接状态,其中,每个监控线程用于获取对应不同终端类型的测试终端的连接状态;在步骤s12中,测试服务器根据所述连接状态,更新后台数据库中的至少一个测试终端的设备状态信息。
29.在步骤s11中,测试服务器通过不挂断运行状态监控脚本,在所述状态监控脚本中开启多个监控线程获取一个或多个测试终端相对于所述测试服务器的连接状态,其中,每个监控线程用于获取对应不同终端类型的测试终端的连接状态。在一些实施例中,需要在测试服务器上部署adb环境和安装tidevice工具库(包含监控模块),其中,adb环境中包括adbutils工具库(包含监控模块)。在一些实施例中,状态监控脚本包括但不限于任何形式的脚本,例如,状态监控脚本可以是python脚本。在一些实施例中,不挂断运行状态监控脚本是指在测试服务器的后台一直运行状态监控脚本,若状态监控脚本为python脚本,则可以通过nohup命令来不挂断运行状态监控脚本。在一些实施例中,在状态监控脚本中开启多个监控线程来持续获取一个或多个测试终端相对于测试服务器的当前连接状态,其中,每个测试终端可以通过无线(例如,wifi)的方式和测试服务器建立连接,或者,还可以通过有线(例如,usb)的方式和测试服务器建立连接。在一些实施例中,每个监控线程用于监控不同终端类型的测试终端相对于测试服务器的连接状态,即对于每一种终端类型,开启一个对应的监控线程来获取该终端类型对应的至少一个测试终端相对于测试服务器的连接状态,例如,在状态监控脚本中开启android_monitor(安卓监控线程)和ios_monitor(苹果监控线程)两个监控线程来分别获取至少一个安卓测试终端和至少一个苹果测试终端相对于服务器的连接状态。在一些实施例中,每个监控线程通过调用该监控线程所支持的终端类型对应的监控模块,来获得该终端类型对应的至少一个测试终端相对于测试服务器的连接状态。在一些实施例中,连接状态包括但不限于当前连接正常(adb可用)、当前没有连接、当前没有开通usb调试、当前处于连接但adb不可用等多种状态。
30.在步骤s12中,测试服务器根据所述连接状态,更新后台数据库中的至少一个测试终端的设备状态信息。在一些实施例中,后台数据库可以位于测试服务器中,或者,还可以位于其他服务器中。在一些实施例中,对于状态监控脚本获取到的每个测试终端的连接状态,该测试终端的当前设备状态信息可以与该连接状态相同,或者,需要根据预定的映射关系,得到该连接状态所映射的当前设备状态信息。在一些实施例中,设备状态信息包括但不
限于设备可用、设备不可用等。在一些实施例中,对于每个测试终端的当前设备状态信息,查询后台数据库中是否存在该测试终端的记录,若不存在,则直接插入该当前设备状态信息,若存在,则根据该当前设备状态信息,直接更新后台数据库中的该测试终端的设备状态信息,其中,具体的更新逻辑可以是检测该测试终端的当前设备状态信息与后台数据库中的该测试终端的设备状态信息是否相同,若不同,则将后台数据库中的该测试终端的设备状态信息更新为该当前设备状态信息,若相同,则无需更新。本技术本技术在已部署或已安装在测试服务器上的监控模块的基础上,结合多线程和单脚本后台不挂断运行的简易方式,达到对多个不同终端类型的测试终端的多线自动化监控以及同步更新信息到后台数据库,可以在app自动化实现中给前端设备信息查看和后端设备执行前逻辑校验都起到重要的作用,应用灵活可拓展性强,且通过单脚本后台不挂断运行的简易方式,即可达到对不同终端类型的测试终端的设备状态自动化监控。
31.在一些实施例中,所述终端类型包括以下至少一项:安卓终端;苹果终端。在一些实施例中,安卓终端包括但不限于任何使用安卓系统的终端,例如,安卓手机、安卓电脑、安卓平板、安卓穿戴式设备等,苹果终端包括但不限于任何使用苹果系统的终端,例如,苹果手机、苹果电脑、苹果平板、苹果穿戴式设备等。
32.在一些实施例中,所述状态监控脚本包括所述后台数据库的配置信息;其中,所述方法还包括:测试服务器在所述状态监控脚本中基于所述配置信息连接后台数据库;其中,所述步骤s12包括:根据所述连接状态,更新已连接的所述后台数据库中的至少一个测试终端的设备状态信息。在一些实施例中,测试人员可以在状态监控脚本中配置后台数据库的配置信息,该配置信息包括但不限于后台数据库对应的ip地址、端口号、用户名、表名等,然后后续测试服务器在运行状态监控脚本的时候,会基于该配置信息去连接相应的后台数据库。在一些实施例中,状态监控脚本在连接进后台数据库的时候,会需要用户(测试人员)手动通过非明文的方式输入该后台数据库的敏感信息比如连接密码,例如,可以通过python-getpass模块输入该后台数据库的连接密码。
33.在一些实施例中,所述方法还包括步骤s13(未示出)。在步骤s13中,测试服务器对于所述每个监控线程,在该监控线程中调用该监控线程所支持的终端类型对应的监控模块中的第一目标方法,获取所述终端类型对应的至少一个测试终端相对于所述测试服务器的连接状态。在一些实施例中,对于每个监控线程,在该监控线程中调用该监控线程所支持的(或者,所对应的)终端类型对应的监控模块提供的某个目标方法,获得该目标方法输出的数据对象,通过对该数据对象进行解析,获得该终端类型对应的至少一个测试终端相对于测试服务器的连接状态,其中,需要提前在测试服务器上部署或安装该监控模块。在一些实施例中,对于安卓监控线程,通过调用adbutils模块下的adbclient类的track_devices()方法,迭代输出deviceevent对象,然后通过对该deviceevent对象进行解析,获得至少一个安卓测试设备相对于测试服务器的连接状态。在一些实施例中,对于苹果监控线程,通过调用tidevice模块下的usbmux类的watch_device()方法,迭代输出dict-data对象,然后通过对该dict-data对象进行解析,获得至少一个苹果测试设备相对于测试服务器的连接状态。
34.在一些实施例中,所述步骤s13包括:对于所述每个监控线程,在该监控线程中每当间隔预定的时间间隔调用一次该监控线程所支持的终端类型对应的监控模块中的第一
目标方法,获取所述第一目标方法返回的、所述终端类型对应的至少一个测试终端相对于所述测试服务器的连接状态。在一些实施例中,对于每个监控线程,可以在该监控线程中每当预定的时间间隔(例如,1分钟)调用一次该监控线程所支持的终端类型对应的监控模块提供的某个目标方法,每次获得该目标方法返回的、该终端类型对应的至少一个测试终端相对于测试服务器的连接状态。
35.在一些实施例中,所述步骤s13包括:对于所述每个监控线程,在该监控线程中调用该监控线程所支持的终端类型对应的监控模块中的第二目标方法,获取所述第二目标方法回调的、所述终端类型对应的至少一个测试终端相对于所述测试服务器的连接状态,其中,所述监控模块每当获取到一个测试终端的连接状态发生变化就会回调一次所述第二目标方法。在一些实施例中,对于每个监控线程,只需要在该监控线程中调用一次该监控线程所支持的终端类型对应的监控模块提供的某个目标方法,就可以获得该目标方法不断回调的、该终端类型对应的至少一个测试终端相对于测试服务器的连接状态,其中,每当一个测试终端的连接状态发生变化(例如,一个新的测试终端与测试服务器建立了连接,又例如,一个与测试服务器已建立连接的测试终端与该测试服务器断开了连接,又例如,一个测试终端相对于测试服务器的当前连接状态发生了改变),该监控模块就会通过该目标方法将该测试终端的当前连接状态自动回调给该监控线程。
36.在一些实施例中,所述步骤s12还包括:测试服务器查找后台数据库中是否存在所述一个或多个测试终端的设备记录;若不存在目标测试终端的设备记录且所述目标测试终端的连接状态对应的目标设备状态信息为设备可用,通过调用所述目标测试终端的终端类型对应的监控模块中的第三目标方法,获取所述第三目标方法返回的所述目标测试终端的硬件详情信息,将所述硬件详情信息及所述目标设备状态信息作为所述目标测试终端的设备记录插入所述后台数据库;否则,根据所述连接状态,更新后台数据库中的至少一个测试终端的设备状态信息。在一些实施例中,对于获得到的一个或多个测试终端的连接状态,先查找后台数据库中是否存在该一个或多个测试终端的记录,若后台数据库中存在该一个或多个测试终端中的目标测试终端的记录且该目标测试终端的连接状态对应的目标设备状态信息为设备可用,则通过调用该目标测试终端的终端类型对应的监控模块(例如,adbutils模块,或者,tidevice模块)提供的某个目标方法,获得该目标方法返回的该目标测试终端的硬件详情信息,该硬件详情信息包括但不限于终端类型、品牌、型号、操作系统版本、bootloader、sdk、mode、abi等信息,然后将该硬件详情信息及该目标设备状态信息插入后台数据库。在一些实施例中,若后台数据库中不存在某个测试终端的记录,则直接根据该测试终端的连接状态,更新后台数据库中的该测试终端的设备状态信息。
37.在一些实施例中,所述根据所述连接状态,更新后台数据库中的至少一个测试终端的设备状态信息,包括:确定所述连接状态对应的当前设备状态信息;将所述后台数据库中的至少一个测试终端的设备状态信息更新为所述当前设备状态信息。在一些实施例中,对于每个测试终端,先根据预先设定的映射关系确定该连接状态所映射的当前设备状态信息,然后将后台数据库中的该测试终端的设备状态信息更新为该当前设备状态信息。在一些实施例中,当前连接正常的连接状态映射的设备状态信息为设备可用,当前没有连接、当前没有开通usb调试、当前处于连接但adb不可用等其他连接状态映射的设备状态信息为设备不可用。在一些实施例中,还会先监测该当前设备状态信息与后台数据库中的该测试终
端的设备状态信息是否相同,若不相同,则将后台数据库中的该测试终端的设备状态信息更新为该当前设备状态信息,若相同,则无需更新。
38.在一些实施例中,所述方法还包括步骤s14(未示出)。在步骤s14中,测试服务器在所述状态监控脚本中对至少一个监控线程进行异常捕捉,若捕捉到目标监控线程出现异常,重新开启所述目标监控线程。在一些实施例中,在状态监控脚本中对每个监控线程进行异常捕捉,若捕捉到该监控线程出现异常,此时,由于该监控线程无法继续监控测试终端的连接状态,需要在状态监控脚本中重新开启该监控线程。
39.在一些实施例中,所述步骤s14包括:测试服务器在所述状态监控脚本中对用于获取苹果终端的连接状态的目标监控线程进行异常捕捉,若捕捉到所述目标监控线程出现异常,重启usb-tcp转换服务,并重新开启所述目标监控线程。在一些实施例中,对苹果监控线程进行异常捕捉,若捕捉到该监控线程出现异常,由于tidevice模块依赖的usb-tcp转换(usbmuxd)服务不太稳定经常出现connectionrefusederror/usbmuxderror等异常报错导致该监控线程出现异常导致无法继续监控苹果测试终端的连接状态,此时,需要重启usbmuxd服务,并在状态监控脚本中重新开启该监控线程。
40.在一些实施例中,所述方法还包括:测试服务器向用户呈现所述后台数据库中的一个或多个测试终端的设备状态信息。在一些实施例中,测试服务器可以通过自动化测试平台前端向用户(测试人员)呈现后台数据库中的一个或多个测试终端的设备状态信息。作为一个示例,如图3所示,在自动化测试平台前端除了向用户呈现后台数据库中的一个或多个测试终端的设备状态信息以外,还会向用户呈现每个测试终端的硬件详情信息。
41.在一些实施例中,所述方法还包括步骤s15(未示出)。在步骤s15中,测试服务器响应于用户创建一个测试项目,向用户呈现所述后台数据中对应的设备状态信息为设备可用的至少一个测试终端的标识信息,以供所述用户选择所述测试项目使用的测试终端。在一些实施例中,测试服务器响应于用户创建一个测试项目,会通过自动化测试平台前端在该测试项目的创建页面向用户(测试人员)呈现后台数据库中对应的设备状态信息为设备可用的至少一个测试终端的标识信息,该标识信息包括但不限于测试终端的终端类型、终端品牌、终端型号、终端操作系统版本等,供用户在该至少一个测试终端之中选择一个作为该测试项目使用的测试终端。
42.在一些实施例中,所述步骤s15包括:测试服务器响应于用户创建一个测试项目,根据所述测试项目对应的项目类型,向用户呈现所述后台数据中与所述项目类型相匹配的、且对应的设备状态信息为设备可用的至少一个测试终端的标识信息,以供所述用户选择所述测试项目使用的测试终端。在一些实施例中,会根据创建的测试项目对应的项目类型,向用户(测试人员)呈现后台数据中与该项目类型相匹配的、且对应的设备状态信息为设备可用的至少一个测试终端的标识信息。作为一个示例,如图4所示,若项目类型为安卓自动化项目,则与其相匹配的测试终端为安卓测试终端,在自动化测试平台前端向用户呈现至少一个安卓测试终端的标识信息,以供用户在该至少一个安卓测试终端之中选择一个作为该测试项目使用的测试终端,若项目类型为ios自动化项目,则与其相匹配的测试终端为苹果测试终端,在自动化测试平台前端向用户呈现至少一个苹果测试终端的标识信息,以供用户在该至少一个苹果测试终端之中选择一个作为该测试项目使用的测试终端。
43.在一些实施例中,所述方法还包括:测试服务器响应于所述测试任务对应的执行
触发事件,从所述后台数据库中获取所述测试任务使用的测试终端的设备状态信息,若所述设备状态信息为设备可用,开始执行所述测试任务。在一些实施例中,在测试任务执行之前,会先从后台数据库中获取该测试任务使用的测试终端的设备状态信息,若该设备状态信息为设备可用,则开始执行该测试任务,若该设备状态信息为设备不可用,则不会开始执行该测试任务,并会通过自动化测试平台前端向用户(测试人员)提示该测试任务使用的测试终端不可用。
44.在一些实施例中,所述开始执行所述测试任务,包括:从所述后台数据库中获取所述测试终端的运行状态信息,若所述运行状态信息为未锁定,开始执行所述测试任务,并将所述后台数据库中的所述测试终端的运行状态信息更新为已锁定;响应于所述测试任务执行结束,将所述后台数据库中的所述测试终端的运行状态信息更新为未锁定。在一些实施例中,先从后台数据库中获取该测试任务使用的测试终端的运行状态信息,若该运行状态信息为已锁定,则暂停或中止执行该测试任务,并通过自动化测试平台前端向用户(测试人员)提示该测试任务使用的测试终端已锁定,若该运行状态信息为未锁定,则开始执行该测试任务,并将后台数据库中的该测试终端的运行状态信息更新为已锁定,然后在该测试任务执行结束后,会将后台数据库中的该测试终端的运行状态信息重新更新为未锁定。
45.图2示出根据本技术一个实施例的一种用于更新设备状态的测试服务器结构图,该测试服务器包括一一模块11和一二模块12。一一模块11,用于通过不挂断运行状态监控脚本,在所述状态监控脚本中开启多个监控线程获取一个或多个测试终端相对于所述测试服务器的连接状态,其中,每个监控线程用于获取对应不同终端类型的测试终端的连接状态;一二模块12,用于根据所述连接状态,更新后台数据库中的至少一个测试终端的设备状态信息。
46.一一模块11,用于通过不挂断运行状态监控脚本,在所述状态监控脚本中开启多个监控线程获取一个或多个测试终端相对于所述测试服务器的连接状态,其中,每个监控线程用于获取对应不同终端类型的测试终端的连接状态。在一些实施例中,需要在测试服务器上部署adb环境和安装tidevice工具库(包含监控模块),其中,adb环境中包括adbutils工具库(包含监控模块)。在一些实施例中,状态监控脚本包括但不限于任何形式的脚本,例如,状态监控脚本可以是python脚本。在一些实施例中,不挂断运行状态监控脚本是指在测试服务器的后台一直运行状态监控脚本,若状态监控脚本为python脚本,则可以通过nohup命令来不挂断运行状态监控脚本。在一些实施例中,在状态监控脚本中开启多个监控线程来持续获取一个或多个测试终端相对于测试服务器的当前连接状态,其中,每个测试终端可以通过无线(例如,wifi)的方式和测试服务器建立连接,或者,还可以通过有线(例如,usb)的方式和测试服务器建立连接。在一些实施例中,每个监控线程用于监控不同终端类型的测试终端相对于测试服务器的连接状态,即对于每一种终端类型,开启一个对应的监控线程来获取该终端类型对应的至少一个测试终端相对于测试服务器的连接状态,例如,在状态监控脚本中开启android_monitor(安卓监控线程)和ios_monitor(苹果监控线程)两个监控线程来分别获取至少一个安卓测试终端和至少一个苹果测试终端相对于服务器的连接状态。在一些实施例中,每个监控线程通过调用该监控线程所支持的终端类型对应的监控模块,来获得该终端类型对应的至少一个测试终端相对于测试服务器的连接状态。在一些实施例中,连接状态包括但不限于当前连接正常(adb可用)、当前没有连接、当
前没有开通usb调试、当前处于连接但adb不可用等多种状态。
47.一二模块12,用于根据所述连接状态,更新后台数据库中的至少一个测试终端的设备状态信息。在一些实施例中,后台数据库可以位于测试服务器中,或者,还可以位于其他服务器中。在一些实施例中,对于状态监控脚本获取到的每个测试终端的连接状态,该测试终端的当前设备状态信息可以与该连接状态相同,或者,需要根据预定的映射关系,得到该连接状态所映射的当前设备状态信息。在一些实施例中,设备状态信息包括但不限于设备可用、设备不可用等。在一些实施例中,对于每个测试终端的当前设备状态信息,查询后台数据库中是否存在该测试终端的记录,若不存在,则直接插入该当前设备状态信息,若存在,则根据该当前设备状态信息,直接更新后台数据库中的该测试终端的设备状态信息,其中,具体的更新逻辑可以是检测该测试终端的当前设备状态信息与后台数据库中的该测试终端的设备状态信息是否相同,若不同,则将后台数据库中的该测试终端的设备状态信息更新为该当前设备状态信息,若相同,则无需更新。本技术本技术在已部署或已安装在测试服务器上的监控模块的基础上,结合多线程和单脚本后台不挂断运行的简易方式,达到对多个不同终端类型的测试终端的多线自动化监控以及同步更新信息到后台数据库,可以在app自动化实现中给前端设备信息查看和后端设备执行前逻辑校验都起到重要的作用,应用灵活可拓展性强,且通过单脚本后台不挂断运行的简易方式,即可达到对不同终端类型的测试终端的设备状态自动化监控。
48.在一些实施例中,所述终端类型包括以下至少一项:安卓终端;苹果终端。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
49.在一些实施例中,所述状态监控脚本包括所述后台数据库的配置信息;其中,所述测试服务器还用于:在所述状态监控脚本中基于所述配置信息连接后台数据库;其中,所述一二模块12用于:根据所述连接状态,更新已连接的所述后台数据库中的至少一个测试终端的设备状态信息。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
50.在一些实施例中,所述测试服务器还包括一三模块13(未示出)。一三模块13,用于对于所述每个监控线程,在该监控线程中调用该监控线程所支持的终端类型对应的监控模块中的第一目标方法,获取所述终端类型对应的至少一个测试终端相对于所述测试服务器的连接状态。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
51.在一些实施例中,所述一三模块13用于:对于所述每个监控线程,在该监控线程中每当间隔预定的时间间隔调用一次该监控线程所支持的终端类型对应的监控模块中的第一目标方法,获取所述第一目标方法返回的、所述终端类型对应的至少一个测试终端相对于所述测试服务器的连接状态。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
52.在一些实施例中,所述一三模块13用于:对于所述每个监控线程,在该监控线程中调用该监控线程所支持的终端类型对应的监控模块中的第二目标方法,获取所述第二目标方法回调的、所述终端类型对应的至少一个测试终端相对于所述测试服务器的连接状态,其中,所述监控模块每当获取到一个测试终端的连接状态发生变化就会回调一次所述第二目标方法。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含
于此。
53.在一些实施例中,所述一二模块12还用于:查找后台数据库中是否存在所述一个或多个测试终端的设备记录;若不存在目标测试终端的设备记录且所述目标测试终端的连接状态对应的目标设备状态信息为设备可用,通过调用所述目标测试终端的终端类型对应的监控模块中的第三目标方法,获取所述第三目标方法返回的所述目标测试终端的硬件详情信息,将所述硬件详情信息及所述目标设备状态信息作为所述目标测试终端的设备记录插入所述后台数据库;否则,根据所述连接状态,更新后台数据库中的至少一个测试终端的设备状态信息。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
54.在一些实施例中,所述根据所述连接状态,更新后台数据库中的至少一个测试终端的设备状态信息,包括:确定所述连接状态对应的当前设备状态信息;将所述后台数据库中的至少一个测试终端的设备状态信息更新为所述当前设备状态信息。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
55.在一些实施例中,所述测试服务器还包括一四模块14(未示出)。一四模块14,用于在所述状态监控脚本中对至少一个监控线程进行异常捕捉,若捕捉到目标监控线程出现异常,重新开启所述目标监控线程。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
56.在一些实施例中,所述一四模块14用于:在所述状态监控脚本中对用于获取苹果终端的连接状态的目标监控线程进行异常捕捉,若捕捉到所述目标监控线程出现异常,重启usb-tcp转换服务,并重新开启所述目标监控线程。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
57.在一些实施例中,所述测试服务器还用于:向用户呈现所述后台数据库中的一个或多个测试终端的设备状态信息。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
58.在一些实施例中,所述测试服务器还包括一五模块15(未示出)。一五模块15,用于响应于用户创建一个测试项目,向用户呈现所述后台数据中对应的设备状态信息为设备可用的至少一个测试终端的标识信息,以供所述用户选择所述测试项目使用的测试终端。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
59.在一些实施例中,所述一五模块15用于:响应于用户创建一个测试项目,根据所述测试项目对应的项目类型,向用户呈现所述后台数据中与所述项目类型相匹配的、且对应的设备状态信息为设备可用的至少一个测试终端的标识信息,以供所述用户选择所述测试项目使用的测试终端。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
60.在一些实施例中,所述测试服务器还用于:响应于所述测试任务对应的执行触发事件,从所述后台数据库中获取所述测试任务使用的测试终端的设备状态信息,若所述设备状态信息为设备可用,开始执行所述测试任务。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
61.在一些实施例中,所述开始执行所述测试任务,包括:从所述后台数据库中获取所述测试终端的运行状态信息,若所述运行状态信息为未锁定,开始执行所述测试任务,并将
所述后台数据库中的所述测试终端的运行状态信息更新为已锁定;响应于所述测试任务执行结束,将所述后台数据库中的所述测试终端的运行状态信息更新为未锁定。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
62.除上述各实施例介绍的方法和设备外,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
63.本技术还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
64.本技术还提供了一种计算机设备,所述计算机设备包括:
65.一个或多个处理器;
66.存储器,用于存储一个或多个计算机程序;
67.当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
68.图5示出了可被用于实施本技术中所述的各个实施例的示例性系统;
69.如图5所示在一些实施例中,系统300能够作为各所述实施例中的任意一个设备。在一些实施例中,系统300可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或nvm/存储设备320)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本技术中所述的动作的一个或多个处理器(例如,(一个或多个)处理器305)。
70.对于一个实施例,系统控制模块310可包括任意适当的接口控制器,以向(一个或多个)处理器305中的至少一个和/或与系统控制模块310通信的任意适当的设备或组件提供任意适当的接口。
71.系统控制模块310可包括存储器控制器模块330,以向系统存储器315提供接口。存储器控制器模块330可以是硬件模块、软件模块和/或固件模块。
72.系统存储器315可被用于例如为系统300加载和存储数据和/或指令。对于一个实施例,系统存储器315可包括任意适当的易失性存储器,例如,适当的dram。在一些实施例中,系统存储器315可包括双倍数据速率类型四同步动态随机存取存储器(ddr4sdram)。
73.对于一个实施例,系统控制模块310可包括一个或多个输入/输出(i/o)控制器,以向nvm/存储设备320及(一个或多个)通信接口325提供接口。
74.例如,nvm/存储设备320可被用于存储数据和/或指令。nvm/存储设备320可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(hdd)、一个或多个光盘(cd)驱动器和/或一个或多个数字通用光盘(dvd)驱动器)。
75.nvm/存储设备320可包括在物理上作为系统300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,nvm/存储设备320可通过网络经由(一个或多个)通信接口325进行访问。
76.(一个或多个)通信接口325可为系统300提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
77.对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器(例如,存储器控制器模块330)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑封装在一起以形成系统级封装(sip)。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(soc)。
78.在各个实施例中,系统300可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统300包括一个或多个摄像机、键盘、液晶显示器(lcd)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(asic)和扬声器。
79.需要注意的是,本技术可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本技术的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本技术的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本技术的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
80.另外,本技术的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本技术的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
81.通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、rf、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
82.作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(ram,dram,sram);以及非易失性存储器,诸如闪存、各种只读存储器(rom,prom,eprom,eeprom)、磁性和铁磁/铁电存储器(mram,feram);以及磁性和光学存储设备(硬盘、磁带、cd、dvd);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机
可读信息/数据。
83.在此,根据本技术的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本技术的多个实施例的方法和/或技术方案。
84.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其他的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献