本发明涉及软件系统升级技术领域,尤其涉及一种自动化测试环境的升级方法、终端及可读存储介质。
背景技术:
自动化测试框架在使用过程中,由于原本存在但并未发现的缺陷及问题,或者存在兼容性问题,或者对接的外部系统频繁更新问题可能导致自动化测试框架无法正常使用。目前,常通过不断地更新自动化测试框架的版本以解决上述存在的问题以实现自动化测试框架的正常使用。然而由于自动化测试框架的版本每更新一次均需要用户下载,以实现更新自动化测试框架,导致用户体验差。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现要素:
本发明的主要目的在于提供一种自动化测试环境的升级方法、终端及可读存储介质,旨在解决自动化测试框架的版本更新频繁且均需要依赖用户手动操作以实现更新,用户体验差问题。
为实现上述目的,本发明提供一种自动化测试环境的升级方法,所述自动化测试环境的升级方法包括以下步骤:
在初始化测试环境时,获取目标对象的待更新版本号;
根据所述待更新版本号获取代码数据包,其中,代码数据包括已编译的可执行代码;
热加载所述代码数据包,以对所述目标对象进行更新。
可选地,获取目标对象的待更新版本号的步骤之前包括:
获取配置文件;
根据所述配置文件获取所述目标对象的目标服务器地址;
根据所述目标服务器地址从所述目标服务器获取所述代码数据包的待更新版本号。
可选地,根据所述待更新版本号获取代码数据包的步骤之前,包括:
获取所述目标对象的代码数据包的当前使用版本号;
在所述当前使用版本号与所述待更新版本号不匹配时,执行所述根据所述待更新版本号获取代码数据包的步骤。
可选地,在所述代码数据包热加载成功时,输出更新成功的提示信息。
可选地,根据所述待更新版本号获取代码数据包的步骤包括:
根据预设的下载路径访问存储目录;
在所述存储目录已存储有所述待更新版本号的代码数据包时,根据所述待更新版本号获取代码数据包。
可选地,根据预设的下载路径访问存储目录的步骤之后包括:
在所述存储目录未存储有所述待更新版本号的代码数据包时,根据预设的配置文件获取文件服务器地址;
根据所述文件服务器地址从文件服务器根据所述待更新版本号获取代码数据包。
此外,为实现上述目的,本发明还提供一种终端,终端包括存储器、处理器以及存储在所述存储器里并可在所述处理器上运行的自动化测试环境的升级程序,所述自动化测试环境的升级程序被所述处理器执行时实现如以上所述的自动化测试环境的升级方法的各个步骤。
此外,为实现上述目的,本发明还提供一种可读存储介质,可读存储介质上存储有自动化测试环境的升级程序,所述自动化测试环境的升级程序被所述处理器执行时实现如以上所述的自动化测试环境的升级方法的各个步骤。
本发明提出的自动化测试环境的升级方法,通过获取待更新的目标对象的待更新版本号,进而通过待更新版本号获取待更新的目标对象的代码数据包,热加载代码数据包使得代码数据包可以即时性加载即时性生效,无需重新编译自动化测试框架的测试环境,并且无需用户端修改依赖的版本或代码即可实现对目标对象进行更新,实现用户无感知升级功能。
附图说明
图1为实现本发明各个实施例的一种终端的硬件结构示意图;
图2为本发明的自动化测试环境的升级方法第一实施例的流程示意图;
图3为本发明的自动化测试环境的升级方法第一实施例获取代码数据包前的流程示意图;
图4为本发明的自动化测试环境的升级方法第二实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或者“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或者“单元”可以混合地使用。
终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如手机、平板电脑、笔记本电脑以及掌上电脑等终端。
本领域技术人员将理解的是,除了特别用于移动目的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
请参阅图1,其为实现本发明各个实施例的一种终端的硬件结构示意图,该终端可以包括:存储器101、处理器102、显示单元103以及通讯模块4。本领域技术人员可以理解,图1示出的终端结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中,存储器101中存储有中控系统以及自动化测试环境的升级程序。处理器102是终端的控制中心,处理器102执行存储在存储器101的内的自动化测试环境的升级程序,以实现本发明的自动化测试环境的升级方法各实施例的步骤。显示单元103包括显示面板,可采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板,用于输出显示自动化测试环境的升级程序被处理器102执行后的更新成功提示信息。通信模块104通过网络协议与目标服务器建立数据通信,以从目标服务器获取代码数据包的待更新版本号;或者,通信模块104通过网络协议与文件服务器建立数据通信,以从文件服务器下载待更新版本号的代码数据包。
基于上述硬件结构,提出本发明的自动化测试环境的升级方法的各个实施例。
本发明提供一种自动化测试环境的升级方法,请参考图2,图2为本发明的自动化测试环境的升级方法第一实施例的流程示意图。在该实施例中,自动化测试环境的升级方法包括以下步骤:
步骤s10,在初始化测试环境时,获取目标对象的待更新版本号;
步骤s20,根据所述待更新版本号获取代码数据包,其中,代码数据包包括已编译的可执行代码;
步骤s30,热加载所述代码数据包,以对所述目标对象进行更新。
需要说明的是,由于测试环境原本隐藏的缺陷或者问题,或者兼容性问题,或者对接的外系统的部分存在的缺陷以及外系统频繁更新升级问题,测试环境同样需要频繁更新升级以解决上述问题。目标对象指的是测试环境中待更新的功能模块,通过更新测试环境的功能模块以实现测试环境升级。待更新版本号为当前发布的目标对象的最新版本号。其中最新版本号可通过目标对象发布时间的时间戳确定,也可通过版本号的命名规则确定。可以理解的是,为了可以向指定的目标服务器上获取待更新版本号,可以通过修改配置文件实现,其中,配置文件是指包含有网址域名和ip地址对应关系的文件。通过修改配置文件,可以将获取更新版本号的地址修改为目标服务器的ip地址,从而实现向目标服务器获取待更新代码版本号因此,步骤s10中获取目标对象的待更新版本号的步骤之前包括:获取配置文件;根据配置文件获取目标对象的目标服务器地址;根据目标服务器地址从目标服务器获取代码数据包的待更新版本号。
步骤s20中获取代码数据包的方式包括可通过根据预设的下载路径获取下载或者从预设的服务器上下载。需要说明的是,代码数据包包括已编译的可执行代码,可选地,请参考图3,图3为本发明的自动化测试环境的升级方法第一实施例获取代码数据包前的流程示意图,步骤s20之前包括:
步骤s40,获取所述目标对象的代码数据包的当前使用版本号;
步骤s50,在所述当前使用版本号与所述待更新版本号不匹配时,执行步骤s20。由于初始化测试环境时,均需要获取目标对象的待更新版本,也即获取当前发布的目标对象的最新版本号,以对目标对象进行更新。可以理解的是,只有在目标对象的代码数据包的当前使用版本号与当前发布的最新版本号不匹配时,也即目标对象的当前使用版本号不是最新版本号,则执行根据待更新版本号获取代码数据包的步骤,以实现后续热加载代码数据包的目的。其中,获取目标对象的代码数据包的当前使用版本号可通过预设的下载路径访问存储目录以获取代码数据包的当前使用版本号;或者,通过查询存储目录是否存储有待更新版本号的代码数据包,若否,可直接判断当前使用版本号与当前发布的最新版本号不匹配。
需要说明的是,热加载的基本实现原理如下:对于获取到已编译的可执行代码也即待更新版本号的目标对象的代码数据包,首先通过将代码数据包通过新创建的加载器加载,并将加载器设置为当前运行的线程上下文类加载器;根据预设的配置文件,使测试环境根据线程上下文类加载器进行类反射获取待更新版本号的目标对象的编译文件即代码数据包,以根据加载的编译文件更新测试环境实现对测试环境升级。简单理解,修改后的代码经过动态编译后打包生成代码数据包,通过直接热加载代码数据包,无需重启服务器,初始化测试环境时实现对代码数据包动态加载且加载的代码数据包即时生效。步骤s30之后包括:在代码数据包热加载成功时,输出更新成功的提示信息。可以理解的是,在测试环境初始化时,通过热加载代码数据包时可预先将测试环境初始化的执行日志重定向至console.log文件输出,以便于查看热加载是否成功。其中,提示信息包括但不限于语音提示信息以及文字提示信息。
本实施例公开的技术方案中,通过获取待更新的目标对象的待更新版本号,进而通过待更新版本号获取待更新的目标对象的代码数据包,热加载代码数据包使得代码数据包可以即时性加载即时性生效,无需重新编译自动化测试框架的测试环境,并且无需用户端修改依赖的版本或代码即可实现对目标对象进行更新,实现用户无感知升级功能,同时也能有效避免由于测试环境运行的不稳定而导致测试用例无法正常运行。
基于上述第一实施例提出本发明的第二实施例,请参考图4,图4为本发明的自动化测试环境的升级方法第二实施例的流程示意图。在该实施例中,步骤s20包括:
步骤s21,根据预设的下载路径访问存储目录;
步骤s22,在所述存储目录已存储有所述待更新版本号的代码数据包时,根据所述待更新版本号获取代码数据包;或者,
步骤s23,在所述存储目录未存储有所述待更新版本号的代码数据包时,根据预设的配置文件获取文件服务器地址;
步骤s24,根据所述文件服务器地址从文件服务器根据所述待更新版本号获取代码数据包。
在本实施例中,存储目录为根据预设的下载路径下载存储代码数据包的存储数据空间。需要说明的是,判断存储目录是否已存储待更新版本号的代码数据包可通过比对存储目录中存储代码数据包的存储版本号与待更新版本号是否匹配,若匹配,则表明存储目录已存储待更新版本号的代码数据包,进而根据待更新版本号从存储目录中直接获取代码数据包;若不匹配,则表明存储目录未存储待更新版本号的代码数据包,可通过从预先指定的文件服务器上根据待更新版本号从服务器上下载代码数据包。可以理解的是,为了可以向指定的文件服务器上获取待更新版本号的代码数据包,可以预先通过修改配置文件实现,其中,配置文件是指包含有网址域名和ip地址对应关系的文件。通过修改配置文件,可以将获取代码数据包的地址修改为文件服务器的ip地址,从而实现从文件服务器下载代码数据包。
本实施例公开的技术方案中,提供两种方式以根据待更新版本号获取代码数据包,其中,通过预设的下载路径访问存储目录判断是否已下载待更新版本的代码数据包,也即判断存储目录是否存储有发布的最新版本号的代码数据包,只有在预设的下载路径所在的存储目录中未下载存储有代码数据包,从指定的文件服务器上下载待更新版本的代码数据包,可避免重复下载代码数据包浪费资源。
本发明还提供一种终端,终端包括:存储器、处理器以及存储在存储器并可在处理器上运行的自动化测试环境的升级程序,自动化测试环境的升级程序被处理器执行时实现上述任一实施例中的自动化测试环境的升级方法的步骤。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有自动化测试环境的升级程序,自动化测试环境的升级程序被处理器执行时实现上述任一实施例中的自动化测试环境的升级方法的步骤。
在本发明提供的终端和计算机可读存储介质的实施例中,包含了上述自动化测试环境的升级方法各实施例的全部技术特征,说明书拓展和解释内容与上述自动化测试环境的升级方法的各实施例基本相同,在此不做赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本发明每个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。