Windows测试环境部署方法、装置、可读存储介质及电子设备
文献发布时间:2024-01-17 01:14:25
技术领域
本发明涉及自动化测试技术领域,特别是涉及一种windows测试环境部署方法、装置、可读存储介质及电子设备。
背景技术
随着电子技术的不断进步与发展,市场上出现了大量不同类型的设备。而不同类型的设备需要在不同的测试环境下进行测试,使得测试人员需要根据不同类型的设备搭建对应的测试环境。并且,随着设备的更新换代测试人员需要频繁的对测试环境以及测试工具进行升级。导致测试人员需要在测试前期花费大量精力用于学习测试环境的搭建以及测试工具的升级。而且在对不同设备进行测试的过程中,频繁的更换重新搭建测试环境也降低了设备测试效率。
发明内容
本发明所要解决的技术问题是:提供一种windows测试环境部署方法、装置、可读存储介质及电子设备,实现快速搭建设备对应的测试环境,提高测试效率。
为了解决上述技术问题,本发明采用的技术方案为:
一种windows测试环境部署方法,包括步骤:
接收测试指令,所述测试指令包括待安装测试工具信息;
根据所述待安装测试工具信息确定待安装测试工具的类型;
根据所述待安装测试工具的类型得到预设的测试工具安装方式;
根据预设的所述测试工具安装方式对所述待安装测试工具进行安装。
为了解决上述技术问题,本发明采用的另一技术方案为:
一种windows测试环境部署装置,包括:
接收模块,用于接收测试指令,所述测试指令包括待安装测试工具信息;
确定模块,用于根据所述待安装测试工具信息确定待安装测试工具的类型;
获取模块,用于根据所述待安装测试工具的类型得到预设的测试工具安装方式;
安装模块,用于根据预设的所述测试工具安装方式对所述待安装测试工具进行安装。
为了解决上述技术问题,本发明采用的另一技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的一种windows测试环境部署方法中的各个步骤。
为了解决上述技术问题,本发明采用的另一技术方案为:
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的一种windows测试环境部署方法中的各个步骤。
本发明的有益效果在于:通过获取测试指令后,依据待安装测试工具信息判断待安装测试工具的类型,对不同类型的测试工具采用不同的安装方式,即在测试前期能够根据测试指令中的待安装测试工具信息获取所有需要的测试工具和执行环境,实现一键安装,不需要测试人员针对不同类型的设备进行测试环境搭建以及测试工具安装的学习,极大程度降低测试环境安装的人工时间消耗和学习成本,提高测试效率。
附图说明
图1为本发明实施例中的一种windows测试环境部署方法的步骤流程图;
图2为本发明实施例中的一种windows测试环境部署方法在windows环境下测试工具的存放示意图;
图3为本发明实施例中的一种windows测试环境部署方法中存放已安装的python3.7的整个安装目录的示意图;
图4为本发明实施例中的一种windows测试环境部署方法的另一步骤流程图;
图5为本发明实施例中的一种windows测试环境部署方法的拷贝目标目录示意图;
图6为本发明实施例中的一种windows测试环境部署方法的bat界面示意图;
图7为本发明实施例中的一种windows测试环境部署装置的结构示意图;
图8为本发明实施例中的一种电子设备的结构示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,一种windows测试环境部署方法,包括步骤:
接收测试指令,所述测试指令包括待安装测试工具信息;
根据所述待安装测试工具信息确定待安装测试工具的类型;
根据所述待安装测试工具的类型得到预设的测试工具安装方式;
根据预设的所述测试工具安装方式对所述待安装测试工具进行安装。
由上述描述可知,本发明的有益效果在于:通过获取测试指令后,依据待安装测试工具信息判断待安装测试工具的类型,对不同类型的测试工具采用不同的安装方式,即在测试前期能够根据测试指令中的待安装测试工具信息获取所有需要的测试工具和执行环境,实现一键安装,不需要测试人员针对不同类型的设备进行测试环境搭建以及测试工具安装的学习,极大程度降低测试环境安装的人工时间消耗和学习成本,提高测试效率。
进一步地,所述接收测试指令之前还包括:
将测试所需的所有测试工具上传至服务器的代码仓。
由上述描述可知,在通过命令对待安装测试工具进行安装之前,将所有测试所需要的测试工具在服务器内进行存档,从而方便后续过程中将所需的测试工具下载到目标测试环境中。
进一步地,所述将测试所需的所有测试工具上传至服务器的代码仓包括:
将所述测试工具的原始文本转化为第一文件格式,得到第一文件;
将所述第一文件打包为可执行文件,所述可执行文件能够在windows设备上执行;
将所述可执行文件上传至服务器的代码仓。
由上述描述可知,通过将测试工具的原始文件转化为第一文件后,再将第一文件转化为可执行文件,从而使得测试端设备(PC等)无需安装第一文件对应的执行环境,可以直接在windows环境下执行测试工具的安装。
进一步地,所述待安装测试工具的类型包括第一类型;
所述根据所述待安装测试工具的类型得到预设的测试工具安装方式包括:
判断所述待安装测试工具的类型是否为第一类型,若是,则根据所述待安装测试工具信息获取所述待安装测试工具对应的拷贝路径;
根据所述拷贝路径将所述待安装测试工具拷贝到对应的目录,以及将所述目录添加至windows的环境变量。
由上述描述可知,当待安装测试工具的类型为第一类型时,通过将测试工具拷贝到特定目录以及将对应的目录添加至Windows的环境变量中,从而实现对fio、sg_raw以及smartctl等第一类测试工具的安装。
进一步地,所述待安装测试工具的类型包括第二类型;
所述根据所述待安装测试工具的类型得到预设的测试工具安装方式包括:
判断所述待安装测试工具的类型是否为第二类型,若是,则根据所述待安装测试工具信息获取所述可执行文件;
执行所述可执行文件,并通过预设的第三方库完成所述待安装测试工具的安装;
判断所述待安装测试工具是否安装成功,若否,则获取安装工具失败信息;
将所述安装工具失败信息写入预设的工具目录下的文件中。
由上述描述可知,通过获取可执行文件进行安装,并基于第三方库完成对待安装测试工具的安装,从而能够根据win32api等第三方库实现对windows的UI控件进行点击,以及获取windows弹窗的控件显示文件等安装信息,完成对BurnInTestPro以及Git等第二类测试工具的安装;以及将测试工具的安装工具失败信息写入工具目录下,从而能够根据安装结果分析安装失败的原因,解决由于测试工具安装失败导致的测试异常等问题。
进一步地,所述待安装测试工具的类型包括第三类型;
所述根据所述待安装测试工具的类型得到预设的测试工具安装方式包括:
判断所述待安装测试工具的类型是否为第三类型,若是,则根据所述待安装测试工具信息获取与所述待安装测试工具对应的执行环境文件;
将所述执行环境文件拷贝至预设的文件目录,并将所述文件目录添加至windows的环境变量中。
由上述描述可知,通过获取与待安装测试工具对应的执行环境文件,将执行环境文件拷贝至对应的目录下,以及将文件目录添加至windows的环境变量中,从而实现执行环境的安装。
进一步地,所述待安装测试工具的类型包括第四类型;
所述根据所述待安装测试工具的类型得到预设的测试工具安装方式包括:
判断所述待安装测试工具的类型是否为第四类型,若是,则根据所述待安装测试工具信息获取工具代码压缩包;
将所述工具代码压缩包下载并解压至预设的文件目录;
根据预设的安装指令安装所述工具代码压缩包内的测试工具运行需要的第三方库。
由上述描述可知,通过获取工具代码压缩包,并根据预设的安装指令安装工具运行所需的第三方库,从而实现对第四类工具如auto-agent的安装。
本发明另一实施例提供了一种windows测试环境部署装置,包括:
接收模块,用于接收测试指令,所述测试指令包括待安装测试工具信息;
确定模块,用于根据所述待安装测试工具信息确定待安装测试工具的类型;
获取模块,用于根据所述待安装测试工具的类型得到预设的测试工具安装方式;
安装模块,用于根据预设的所述测试工具安装方式对所述待安装测试工具进行安装。
本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的一种windows测试环境部署方法的各个步骤。
本发明另一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的一种windows测试环境部署方法中的各个步骤。
本发明上述windows测试环境部署方法、装置、可读存储介质及电子设备能够适用于对不同类型的设备进行测试,满足不同设备对不同测试环境以及测试工具的测试需求,以下通过具体实施方式进行说明:
实施例一
请参照图1,一种windows测试环境部署方法,包括步骤:
执行一键部署之前包括步骤:
S01、将测试所需的所有测试工具上传至服务器的代码仓,如将所有的测试工具上传到gitlab代码仓,通过服务器对所有测试工具进行存档,使得在后续过程中实现一键部署将测试工具下载到目标测试环境,具体的:
S011、将所述测试工具的原始文本转化为第一文件格式,得到第一文件;如通过python将原始文件开发为.py文件;
S012、将所述第一文件打包为可执行文件,所述可执行文件能够在windows设备上执行;如将步骤S011的.py文件通过pyinstaller工具打包为.exe可执行文件,而执行.exe文件时,能够将所有测试工具或测试工具安装包的压缩包(test_tools)下载到待安装测试工具的设备(PC)如C:\目录下,再在解压至目录C:\test_tools下通过不同的方式对测试工具进行安装,从而即使windows设备上未安装python的执行环境,测试工具也能够在window设备上运行;
S013、将所述可执行文件上传至服务器的代码仓;请参照图2以及图3,图2表示在地址http://172.17.16.90/tester/test_tools/-/tree/master/win下存放所有可安装的windows系统上的测试工具;图3表示为地址http://172.17.16.90/tester/test_tools/-/tree/master/Python37存放已安装的python3.7的整个安装目录;
S02、开发安装入口文件:
设置入口可执行文件(deploy.exe),使得后续在命令行可通过调用可执行文件对所有测试工具进行安装;
命令行输入指令结构为:
C:\deploy.exe -r 测试工具请求文件压缩包的路径 -t "需要安装的工具名称";
其中,该指令中测试工具请求文件压缩包的路径是指gitlab公开的Rest协议的接口,通过查看gitlab文档获取测试工具使用方法;
S1、接收测试指令,所述测试指令包括待安装测试工具信息;如测试人员在命令行输入对应的指令后,PC端接收所述测试指令并执行安装测试工具的步骤;
S2、根据所述待安装测试工具信息确定待安装测试工具的类型;以上述命令行输入的指令为例,如待安装测试工具包括fio,sg_raw,smartctl等,则根据待安装测试工具的名称确定测试工具的类型,其中fio,sg_raw,smartctl都属于测试辅助工具;
S3、根据所述待安装测试工具的类型得到预设的测试工具安装方式;由于fio,sg_raw,smartctl都属于测试辅助工具,则获取与测试辅助工具类型对应的测试工具安装方式;
S4、根据预设的所述测试工具安装方式对所述待安装测试工具进行安装;即以测试辅助工具类型对应的测试工具安装方式对测试工具fio,sg_raw,smartctl进行安装。
实施例二
请参照图4,本实例针对四种不同类型的测试工具的安装进行说明;
S41、第一类型,第一类型为测试辅助工具,通常包括fio,sg_raw,smartctl等测试工具;
S411、PC端判断所述待安装测试工具的类型是否为第一类型,若是,则根据所述待安装测试工具信息获取所述待安装测试工具对应的拷贝路径;其中,各个工具的拷贝目标目录记录在http://172.17.16.90/tester/test_tools/-/blob/master/win/dest_config.json文件中,拷贝目标目录文件与自动化测试用例中的使用对应;请参照图5,文件中记录了AS SSD Benchmark,ATTO,CrystalDiskMark6等测试工具的拷贝目标记录,安装执行文件会根据拷贝目标记录文件判断测试工具的拷贝路径;
S412、根据所述拷贝路径将所述待安装测试工具拷贝到对应的目录,以及将所述目录添加至windows的环境变量;其中,如fio,sg_raw,smartctl等测试工具在完成拷贝后,需要使用python的winreg库将拷贝目标目录添加至windows的环境变量中;
S42、第二类型,第二类型为测试辅助工具,通常包括BurnInTest Pro以及Git 等测试工具;
S421、PC判断所述待安装测试工具的类型是否为第二类型,若是,则根据所述待安装测试工具信息获取所述可执行文件;即获取与所述待测试工具对应的deploy.exe文件;
S422、执行所述可执行文件,并通过预设的第三方库完成所述待安装测试工具的安装;即执行所述deploy.exe文件,同时,由于第二类型测试工具在安装的过程中需要获取windows弹窗的控件显示文本、并对UI控件进行点击,因此在该过程中需要通过第三库进行实现,所述第三方库包括:win32api、win32gui、win32con、pywinauto、win32com等Python;
在一可选的实施方式中还包括步骤:
S423、判断所述待安装测试工具是否安装成功,若否,则获取安装工具失败信息;如通过python PIL库对安装过程中测试工具安装失败时的windows界面进行截图;
S424、将所述安装工具失败信息写入预设的工具目录下的文件中;将上述的windows截图以及安装结果写入测试工具目录下的result.txt文件中(如C:\test_tools\win\agent\result.txt);其中,上述判断过程可针对每一类型的测试工具的安装结果进行判断;
S43、第三类型,第三类型为自动化用例的执行环境;
S431、判断所述待安装测试工具的类型是否为第三类型,若是,则根据所述待安装测试工具信息获取与所述待安装测试工具对应的执行环境文件;如对python执行环境进行安装,则得到python执行环境对应的目录;
S432、将所述执行环境文件拷贝至预设的文件目录,并将所述文件目录添加至windows的环境变量中;将python安装目录(http://172.17.16.90/tester/test_tools/-/tree/master/Python37)下的文件拷贝至windows目录(C:\testtools\python37),即从已安装有python3.7的PC上拷贝所有已安装完成的文件至对应的文件目录;并且将windows目标C:\testtools\python37和C:\TestTools\python37\Scripts两个目录都添加到Windows的环境变量中,使得windows具有python执行环境,能够执行.py文件以及引用python代码库,同时,python单独提供一个入口文件deploy.bat,通过点击该入口文件直接进行python环境的安装;
S44、第四类型,为自动化用例执行客户端(auto-agent);需要将代码仓的代码的代码下载到本地后再进行安装,具体的:
S441、PC判断所述待安装测试工具的类型是否为第四类型,若是,则根据所述待安装测试工具信息获取工具代码压缩包;即获取工具代码压缩的下载路径;
S442、将所述工具代码压缩包下载并解压至预设的文件目录;根据上述下载路径将auto-agent代码压缩包下载到windows路径下如windows的C盘,并代码压缩包解压到对应目录如C:\auto-agent;
S443、根据预设的安装指令安装所述工具代码压缩包内的测试工具运行需要的第三方库;通过执行pip install命令对auto-agent目录下win_requirements.txt文件中指定的需要安装的python第三方库进行安装,所述python第三方库需要在auto-agent代码已经自动化用例的代码中使用;
在一可选的实施方式中,对于第二、三、四类测试工具还提供双击运行bat文件可安装功能;
请参照图6,上述三种类型测试工具的目录下包括deploy.bat文件和.exe文件;其中,deploy.bat文件中记录了.exe文件需要的参数,并用于启动.exe文件执行安装;具体的,如图6,agent目录下有deploy.bat文件和agent_install.exe文件;agent_install.exe采用如实施例一中步骤S01-S02所述的方法得到;由于agent_install.exe文件的执行需要带入参数,因此仅通过双击无法实现触发效果;而通过deploy.bat文件中“repository”参数记载auto-agent的代码压缩包路径信息,以及“dest”参数记载启动agent_install.exe的命令,再通过使用vbscript:CreateObject开启窗口界面以及生成命令行窗口,使得用户能够通过双击deploy.bat文件来触发agent_install.exe来进行auto-agent的安装。
实施例三
请参照图7,一种windows测试环境部署装置,包括:
接收模块,用于接收测试指令,所述测试指令包括待安装测试工具信息;
确定模块,用于根据所述待安装测试工具信息确定待安装测试工具的类型;
获取模块,用于根据所述待安装测试工具的类型得到预设的测试工具安装方式;
安装模块,用于根据预设的所述测试工具安装方式对所述待安装测试工具进行安装。
实施例四
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如实施例一或二中所述的一种windows测试环境部署方法的各个步骤。
实施例五
请参照图8,一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如实施例一或二所述的一种windows测试环境部署方法中的各个步骤。
综上所述,本发明提供的一种windows测试环境部署方法、装置、可读取储存介质及电子设备,通过获取测试指令后,依据待安装测试工具信息判断待安装测试工具的类型,分别对四种不同类型的测试工具采用不同的方式进行安装,当测试工具为第一类型时执行拷贝安装,当测试工具为第二类型时执行.exe文件安装,当为第三类型时执行python执行环境安装,当为第四类型时执行auto-agent安装,使得在测试前期能够根据测试指令中的待安装测试工具信息获取所有需要的测试工具和执行环境,实现一键安装,不需要测试人员针对不同类型的设备进行测试环境搭建以及测试工具安装的学习,极大程度降低测试环境安装的人工时间消耗和学习成本,并当测试工具安装失败时,记录对工具安装失败的界面进行截图以及记录对应的安装结果,从而根据分析失败原因能够提高安装效果。
在本申请所提供的上述实施例中,应该理解到,所揭露的方法、装置、计算机可读存储介质以及电子设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个组件或模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或组件或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为组件显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部组件来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个组件单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
- 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
- 模态框构建方法、装置、电子设备、计算机可读存储介质
- 日志信息处理方法、装置、电子设备及可读存储介质
- 电子设备、音量调节方法及装置、计算机可读存储介质
- 路线规划方法、装置、电子设备及可读存储介质
- 测试环境部署方法和装置、电子设备和可读存储介质
- Windows环境部署方法、装置、计算机设备和可读存储介质