发布信息

自动化测试环境跨平台快速部署方法、装置、介质及设备与流程 专利技术说明

作者:admin      2023-06-29 08:06:19     754



计算;推算;计数设备的制造及其应用技术1.本技术涉及软件测试技术领域,具体涉及一种自动化测试环境跨平台快速部署方法、装置、介质及设备。背景技术:2.自动化测试一般指的是软件测试的自动化,软件测试为在预设条件下运行系统或应用程序,评估运行结果。其中,自动化测试是通过浏览器来进行,而且需具有与浏览器匹配的浏览器驱动,自动化测试才能正常进行。另外软件测试最重要的前提为部署测试环境,测试环境是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。3.在软件测试行业中,自动化测试环境部署包括软件自动化测试工具以及环境部署等步骤,并且人员在不同的操作系统上部署自动化测试工具以及环境时,可能会出现不同的适配兼容问题,导致自动化测试环境在不同操作系统上部署不方便。技术实现要素:4.为了方便自动化测试环境在不同操作系统上的部署,本技术提供一种自动化测试环境跨平台快速部署方法、装置、介质及设备。5.在本技术的第一方面提供了一种自动化测试环境跨平台快速部署方法,具体包括:配置已安装的python环境中python版本对应的python环境变量;在对应的python环境变量配置完成后,识别操作系统的类型,配置所述类型对应的python包管理工具;创建python虚拟环境以及对应的目标目录,激活所述python虚拟环境并通过所述python包管理工具在所述目标目录中搭建robotframework环境;基于所述robotframework环境,根据所述操作系统下的浏览器版本信息下载与所述浏览器版本信息匹配的浏览器驱动,并将所述浏览器驱动添加至所述目标目录中。6.通过采用上述技术方案,根据终端已安装的python环境的python版本,设置对应的python环境变量,从而使得执行python程序更加方便快速,提高自动化测试环境部署效率。接着根据终端运行的操作系统,配置与操作系统相适配的python包管理工具,从而解决python包管理工具在操作系统上易于出现的依赖问题。python包管理工具配置后,在python环境下创建独立的、与物理机运行环境隔离的python虚拟环境以及此python虚拟环境对应目标目录,并通过python包管理工具在目标目录中搭建robotframework环境,使得robotframework环境能部署在python虚拟环境中拥有独立依赖包环境。最后在终端上自动下载安装于浏览器版本信息匹配的浏览器驱动,进而使得终端具备自动化测试所需的浏览器环境,完成自动化测试环境的部署,从而实现方便地在不同操作系统上部署自动化测试环境。7.可选的,所述识别操作系统的类型,配置所述类型对应的python包管理工具,具体包括:识别操作系统的类型,并获取配置所述类型对应的python包管理工具的国外下载地址;将所述国外下载地址替换为预置的国内下载地址,并通过所述国内下载地址配置所述类型对应的python包管理工具。8.通过采用上述技术方案,由于不同操作系统对应的python包管理工具默认都是从国外的数据源,即国外下载地址下载,会遇到下载速度慢,甚至无法下载的情况,因此获取配置python包管理工具的国外下载地址,将国外下载地址替换为国内下载地址,从而使得通过国内的数据源下载python包管理工具速度更快,进而提升自动化测试环境部署的效率。9.可选的,所述创建python虚拟环境以及对应的目标目录,具体包括:创建名称为预设名称的目标目录;创建python虚拟环境,并将所述python虚拟环境的名称确定为预设名称。10.通过采用上述技术方案,操作系统对应的python包管理工具配置安装完成后,自动创建目标目录,即文件夹,将目标目录的名称设置为预设名称,接着在python环境下创建python虚拟环境,将python虚拟环境的名称同样设置为预设名称,从而使得后续安装在目标目录中的自动化测试环境能处在python虚拟环境中,避免受到物理机运行环境影响,同时也避免部署的自动化测试环境与操作系统的兼容问题。11.可选的,所述激活所述python虚拟环境并通过所述python包管理工具在所述目标目录中搭建robotframework环境,具体包括:激活所述python虚拟环境,并通过所述python包管理工具在所述目标目录中依次安装框架工具集合中的安装包,所述框架工具集合包括存在安装顺序的所述robotframework环境所需的多个安装包;检测已安装的安装包的版本是否为最新版本;若存在安装包的版本不为最新版本,则将对应的安装包进行更新直到所有已安装的安装包均为最新版本,以搭建所述robotframework环境。12.通过采用上述技术方案,由于框架工具集合中的任一个安装包如果不是最新版本,都有可能导致搭建的robotframework环境瘫痪,因此依次安装框架工具集合中安装包后,分别检测已安装的安装包的版本是否为最新版本,如果不是最新版本,那么将其更新到最新版本,直到所有已安装的安装包均为最新版本,从而保证搭建的robotframework环境不会因安装包未更新而瘫痪。13.可选的,所述框架工具集合包括robotframework-ride工具,所述robotframework-ride工具的安装顺序为所述框架工具集合中最靠后,所述激活所述python虚拟环境并通过所述python包管理工具在所述目标目录中搭建robotframework环境之后,还包括:从所述目标目录的子目录中查找是否存在所述robotframework-ride工具对应的ride.py文件;若存在所述ride.py文件,则确定所述robotframework环境搭建成功;若不存在所述ride.py文件,则通过对应的python包管理工具筛选所述框架工具集合中未安装成功的目标安装包,从所述目标安装包开始继续进行安装。14.通过采用上述技术方案,robotframework环境搭建后,即框架工具集合中的安装包安装后,由于安装robotframework-ride工具为框架工具集合中各个安装包安装顺序的最后一步,因此直接判断最后一步是否安装成功,可以准确判断整个robotframework环境是否搭建成功。从目标目录的各个子目录中搜索是否存在ride.py文件,如果存在ride.py文件,说明robotframework-ride工具安装成功,进而说明整个robotframework环境搭建成功;如果不存在ride.py文件,说明robotframework-ride工具未安装成功,那么确定未安装成功的目标安装包,按照安装顺序从目标安装包继续开始安装。从而进一步确定robotframework环境是否搭建成功。15.可选的,所述将所述浏览器驱动添加至所述目标目录中之后,还包括:调取进程,查找所述进程中是否存在所述ride.py文件对应的子目录;若存在,则确定所述robotframework环境正常运行;若不存在,则确定所述robotframework环境未正常运行。16.通过采用上述技术方案,浏览器驱动添加到目标目录中后,自动化测试环境正式部署完成,因此需要确定其中的robotframework环境能正常运行。首先退出python虚拟环境,接着调取终端自身的进程,如果进程中存在ride.py文件对应的子目录,即包含ride.py文件的子目录,说明终端能执行此robotframework环境,进而说明此robotframework环境能正常运行;反之,说明robotframework环境不能正常运行。17.可选的,所述激活所述python虚拟环境并通过所述python包管理工具在所述目标目录中搭建robotframework环境,具体包括:激活所述python虚拟环境,并通过所述python包管理工具在所述目标目录中依次安装框架工具集合中的安装包,所述框架工具集合包括存在安装顺序的所述robotframework环境所需的多个安装包;实时统计当前安装包的安装时长,若所述安装时长超过时长阈值,则计算所述安装时长与时长阈值的差值;根据所述差值,确定所述框架工具集合中剩余的安装包的下载个数;根据所述安装顺序下载所述当前安装包之后所述下载个数的待装安装包;检测各所述待装安装包的版本是否为最新版本,若不为最新版本,则将对应的待装安装包进行更新,并在所述当前安装包安装后,根据所述安装顺序依次安装各所述待装安装包,直到所述robotframework环境搭建完成。18.通过采用上述技术方案,在按照安装顺序依次安装框架工具集合中的安装包时,统计当前安装包的安装时长,如果安装时长超过时长阈值,说明当前安装包的安装时长偏长,那么为了提高robotframework环境搭建效率,根据安装包的安装顺序,提前将当前安装包之后下载个数的安装包作为待装安装包下载至终端。其中,下载个数根据安装时长与时长阈值的差值来确定,差值越大,下载个数越多。接着在当前安装包安装过程中,对下载的各个待装安装包提前进行版本的更新检查。最后,当前安装包安装完成后,可以直接安装其后面的待装安装包无需再进行更新,从而使得robotframework环境搭建效率得到提升。19.在本技术的第二方面提供了一种自动化测试环境跨平台快速部署装置,具体包括:变量配置模块,用于配置已安装的python环境中python版本对应的python环境变量;工具配置模块,用于在对应的python环境变量配置完成后,识别操作系统的类型,配置所述类型对应的python包管理工具;环境安装模块,用于创建python虚拟环境以及对应的目标目录,激活所述python虚拟环境并通过所述python包管理工具在所述目标目录中搭建robotframework环境;驱动匹配模块,用于基于所述robotframework环境,根据所述操作系统下的浏览器版本信息下载与所述浏览器版本信息匹配的浏览器驱动,并将所述浏览器驱动添加至所述目标目录中。20.通过采用上述技术方案,变量配置模块根据已安装的python环境中python版本,配置对应的python环境变量,工具配置模块在python环境变量配置完成后,识别操作系统的类型,根据操作系统的类型配置下载对应的python包管理工具。接着环境安装模块在python环境下,创建python虚拟环境以及对应的目标目录,并激活python虚拟环境,在目标目录中搭建(或安装)robotframework环境,最后驱动匹配模块在驱动匹配模块搭建完成后,下载与终端中浏览器版本信息匹配的浏览器驱动,从而较为方便在不同操作系统上部署自动化测试环境。21.综上所述,本技术包括以下至少一种有益技术效果:根据终端已安装的python环境的python版本,设置对应的python环境变量,从而使得执行python程序更加方便快速,提高自动化测试环境部署效率。接着根据终端运行的操作系统,配置与操作系统相适配的python包管理工具,从而解决python包管理工具在操作系统上易于出现的依赖问题。python包管理工具配置后,在python环境下创建独立的、与物理机运行环境隔离的python虚拟环境以及此python虚拟环境对应目标目录,并通过python包管理工具在目标目录中搭建robotframework环境,使得robotframework环境能部署在python虚拟环境中拥有独立依赖包环境。最后在终端上自动下载安装于浏览器版本信息匹配的浏览器驱动,进而使得终端具备自动化测试所需的浏览器环境,完成自动化测试环境的部署,从而实现方便地在不同操作系统上部署自动化测试环境。附图说明22.图1是本技术实施例提供的一种自动化测试环境跨平台快速部署方法的流程示意图;图2是本技术实施例提供的另一种自动化测试环境跨平台快速部署方法的流程示意图;图3是本技术实施例提供的又一种自动化测试环境跨平台快速部署方法的流程示意图;图4是本技术实施例提供的一种自动化测试环境跨平台快速部署装置的结构示意图;图5是本技术实施例提供的另一种自动化测试环境跨平台快速部署装置的结构示意图。23.附图标记说明:11、变量配置模块;12、工具配置模块;13、环境安装模块;14、驱动匹配模块。具体实施方式24.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。25.在本技术实施例的描述中,“示性的”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。26.在本技术实施例的描述中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,单独存在b,同时存在a和b这三种情况。另外,除非另有说明,术语“多个”的含义是指两个或两个以上。例如,多个系统是指两个或两个以上的系统,多个屏幕终端是指两个或两个以上的屏幕终端。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。27.另外,本技术提供的一种自动化测试环境跨平台快速部署方法对应python自动化脚本,运行在终端上,由终端通过python自动化脚本执行此自动化测试环境跨平台快速部署方法。其中,终端可以是pc(personalcomputer,个人计算机),在其他实施例中,终端也可以是手机、平板电脑、电子书阅读器、多媒体播放设备、可穿戴设备等电子设备。28.在终端执行此自动化测试环境跨平台快速部署方法之前,需要由人员在终端上安装python环境,主要是针对windows操作系统的终端,因为linux操作系统支持自带安装python环境。windows操作系统的终端安装python环境时需要同时安装git bash工具,方便安装python环境后通过git bash工具激活python虚拟环境。其中,python是一种面向对象的解释型计算机程序设计语言,支持windows/mac/linux多种操作系统,有丰富和强大的库。python环境是用于编译运行python源程序。29.参见图1,本技术实施例公开了一种自动化测试环境跨平台快速部署方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的自动化测试环境跨平台快速部署装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:s101:配置已安装的python环境中python版本对应的python环境变量。30.具体的,python版本分为两大流派,一个是python2.x版本,另外一个是python3.x版本,本领域技术人员简称为python2、python3。通过python_version()函数识别终端中已安装的python环境中python版本,从而确定python版本是python2还是python3。需要说明的是,如果同时存在python2和python3,优先使用python3。31.python版本确定后,自动配置python版本对应的python环境变量,其中,python环境变量一般指在操作系统中用来指定操作系统运行python环境的一些参数,如:临时文件夹位置和系统文件夹位置等。如果不配置python环境变量,是无法执行python命令。当要求操作系统运行一个程序而没有告诉它程序所在完整路径时,操作系统除了在当前目录下面寻找此程序外,还应到配置为python环境变量的path值指定的路径去寻找,从而更好的运行进程。32.s102:在对应的python环境变量配置完成后,识别操作系统的类型,配置类型对应的python包管理工具。33.具体的,python包管理工具(pip)提供对 python 包的查找、下载、安装、卸载的功能,并且可以用于安装基于robotframework框架的环境,robotframework框架是一个基于python语言开发的,可拓展的,是关键字驱动模式的自动化测试框架。在python环境变量配置完成后,通过一个可行的识别终端中操作系统的类型的方式为:通过预置的sys模块识别python环境运行时所处的操作系统的类型,sys模块代码如下:import sys;print(sys.platform)。操作系统的类型包括windows操作系统、mac操作系统以及linux操作系统。操作系统的类型识别出来后,通过预置的国外的数据源(国外下载地址)配置操作系统的类型对应的python包管理工具。需要说明的是,不同的操作系统的类型,配置的python包管理工具不同。34.在另一个可实现的实施方式中,识别操作系统的类型,并获取配置类型对应的python包管理工具的国外下载地址;将国外下载地址替换为预置的国内下载地址,并通过国内下载地址配置类型对应的python包管理工具。35.具体的,由于从国外下载地址下载python包管理工具速度较为缓慢,可以将国外下载地址替换为国内下载地址,使得配置操作系统的类型对应的python包管理工具速度较快。其中,默认的国外下载地址为:mirrors.aliyun.com,在其他实施例中,也可以为其他可下载python包管理工具的国内下载地址。从而提高配置python包管理工具的效率。36.s103:创建python虚拟环境以及对应的目标目录,激活python虚拟环境并通过python包管理工具在目标目录中搭建robotframework环境。37.在一个可实现的实施方式中,创建python虚拟环境以及对应的目标目录,具体包括:创建名称为预设名称的目标目录;创建python虚拟环境,并将python虚拟环境的名称确定为预设名称。38.在另一个可实现的实施方式中,激活python虚拟环境,并通过python包管理工具在目标目录中依次安装框架工具集合中的安装包,框架工具集合包括存在安装顺序的robotframework环境所需的多个安装包;检测已安装的安装包的版本是否为最新版本;若存在安装包的版本不为最新版本,则将对应的安装包进行更新直到所有已安装的安装包均为最新版本,以搭建robotframework环境。39.具体的,操作系统的类型对应的python包管理工具配置完成后,创建预设名称的目标目录,预设名称可以为browser,在其他实施例中,预设名称为其他中文或英文名称。接着通过venv指令在python环境下创建一个python虚拟环境,用作部署自动化测试环境的独立环境,并将python虚拟环境的名称同样设置为与目标目录一致的预设名称。从而使得在python虚拟环境中部署的自动化测试环境对应的安装包,存放至对应的目标目录中。在其他实施例中,也可以通过conda命令创建python虚拟环境。40.其中,python虚拟环境是和物理机隔离的、独立的、干净的环境,类似于虚拟机,能为不同项目创建一个隔离的环境,每个项目均可以拥有独立的依赖包环境,并且不同项目之间的依赖包互不影响。41.python虚拟环境创建后,需要激活后才能在当前命令行使用。一个可行的激活python虚拟环境方式为:通过source命令进行激活。在其他实施例中,如果操作系统为windows,也可以通过预置的git bash工具激活python虚拟环境。此为现有技术,在此不再赘述。42.在python虚拟环境激活后,通过之前配置的python包管理工具,将robotframework环境搭建所需的框架工具集合中安装包依次下载至目标目录中,从而实现在python虚拟环境中搭建robotframework环境。框架工具集合包括存在安装顺序的多个安装包,具体依次为:a.robotframework框架、robotframework-selenium2library工具、b.robotframework-seleniumlibrary工具、c.selenium工具、d.python-docx工具、e.robotframework-dependencylibrary工具以及f.robotframework-ride工具。43.由于框架工具集合中的任一个安装包如果不是最新版本,都有可能导致搭建的robotframework环境瘫痪,因此在框架工具集合中的安装包安装后,通过预置的pefile模块获取安装包安装后对应的版本,pefile模块为程序模块且为现有技术,在此不再赘述。接着判断版本是否为最新版本,例如,robotframework框架安装后的版本为3.9,但是实际上robotframework框架官方版本已经更新到4.0,那么说明安装后的框架或工具版本不是最新版本,那么需要对其进行更新,从而使得所有已安装的安装包均保持为最新版本,实现robotframework环境搭建完成。需要说明的是,此后,每次激活python虚拟环境时,均需要检查已安装的安装包是否为最新版本。另外,搭建robotframework环境时,安装包的安装顺序需要按照框架工具集合中的abcdefg的顺序一步一步进行安装,安装顺序在前的安装包未安装成功,安装顺序在后的安装包无法进行安装。44.s104:基于robotframework环境,根据操作系统下的浏览器版本信息下载与浏览器版本信息匹配的浏览器驱动,并将浏览器驱动添加至目标目录中。45.具体的,由于在软件测试自动化本质为代码与浏览器之间进行交互,由代码(python自动化脚本)发送命令驱动浏览器执行相应操作,其中,浏览器驱动是驱动浏览器执行相应操作的关键,浏览器驱动为python自动化脚本与浏览器之间的媒介,驱动解析python自动化脚本在浏览器上运行。因此在robotframework环境搭建完成后,确定在此操作系统下的浏览器版本信息,如果浏览器版本信息与当前的浏览器驱动不匹配,即浏览器版本信息与浏览器驱动的版本信息不对应,python自动化脚本无法驱动浏览器执行相应操作。那么需要下载与浏览器版本信息对应的浏览器驱动,并添加至目标目录中。其中,可以通过python内置模块user_agent获取到浏览器版本信息和浏览器驱动的版本信息。46.需要说明的是,通过预置的驱动下载网站下载与浏览器版本信息匹配的浏览器驱动。浏览器可以为谷歌浏览器或火狐浏览器,在其他实施例中,也可为qq浏览器等其他浏览器。47.例如,谷歌浏览器版本信息为103.0.5060.114,当前的浏览器驱动的版本信息为103.0.5040.24,显然两者不匹配,为保证python自动化脚本能正常驱动谷歌浏览器,需要从驱动下载网站上下载103.0.5040.24版本的谷歌浏览器对应的103.0.5060.24版本的浏览器驱动。48.参见图2,本技术实施例公开了另一种自动化测试环境跨平台快速部署方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的自动化测试环境跨平台快速部署装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:s201:配置已安装的python环境中python版本对应的python环境变量。49.s202:在对应的python环境变量配置完成后,识别操作系统的类型,配置类型对应的python包管理工具。50.具体的,可参见步骤s101-s102,在此不再赘述。51.s203:创建python虚拟环境以及对应的目标目录,激活python虚拟环境并通过python包管理工具在目标目录中搭建robotframework环境。52.具体的,可参见步骤s103,在此不再赘述。53.在一个可实现的实施方式中,步骤s203之后,还包括:从目标目录的子目录中查找是否存在robotframework-ride工具对应的ride.py文件;若存在ride.py文件,则确定robotframework环境搭建成功;若不存在ride.py文件,则通过对应的python包管理工具筛选框架工具集合中未安装成功的目标安装包,从目标安装包开始继续进行安装。54.具体的,由步骤s103可知,在目标目录中搭建(安装)robotframework环境,即按照安装顺序依次安装框架工具集合中的安装包后,需要进一步判断robotframework环境安装是否成功。正常情况下,框架工具集合中安装顺序最后的robotframework-ride工具安装成功后,会自动在目标目录中生成名称为“script”的子目录,并且子目录中存在ride.py文件,即说明robotframework环境安装成功。55.在目标目录的子目录中以“ride.py”为关键词搜索是否存在ride.py文件,如果存在ride.py文件,说明最后一步的robotframework-ride工具安装成功,进而确定robotframework环境搭建成功;如果目标目录的子目录中不存在ride.py文件,说明可能是robotframework-ride工具安装未成功,也可能是robotframework-ride工具之前的安装包安装未成功,那么通过python包管理工具自动筛选确定已安装成功的安装包和安装未成功的目标安装包。其中,python包管理工具本身具有检测安装状态的特性。筛选出目标安装包后,会从目标安装包开始,根据安装顺序依次进行重新安装。56.s204:基于robotframework环境,根据操作系统下的浏览器版本信息下载与浏览器版本信息匹配的浏览器驱动,并将浏览器驱动添加至目标目录中。57.具体的,可参考步骤s104,在此不再赘述。58.s205:调取进程,查找进程中是否存在ride.py文件对应的子目录。59.s206:若存在,则确定robotframework环境正常运行。60.s207:若不存在,则确定robotframework环境未正常运行。61.具体的,浏览器驱动与浏览器版查找所述进程本信息匹配成功后,再通过grep命令调取终端上的所有进程,查找进程中是否存在ride.py文件对应的子目录,即包含ride.py文件的子目录script,一种可行的方式为:由python自动化脚本执行“psꢀ‑ef | grep script”命令,从而快速判断进程中是否存在ride.py文件对应的子目录。在其他实施例中,子目录的名称也可以为其他英文名称。62.如果进程中存在ride.py文件对应的子目录,说明安装的robotframework环境能够正常在终端上运行;如果进程中不存在ride.py文件对应的子目录,说明说明安装的robotframework环境不能再正常运行,可能在robotframework环境安装成功后,框架工具集合中的安装包又发生更新,需要重新激活python虚拟环境,重新进行更新检查。63.参见图3,本技术实施例公开了又一种自动化测试环境跨平台快速部署方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的自动化测试环境跨平台快速部署装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:s301:配置已安装的python环境中python版本对应的python环境变量。64.s302:在对应的python环境变量配置完成后,识别操作系统的类型,配置类型对应的python包管理工具。65.s303:创建python虚拟环境以及对应的目标目录,激活python虚拟环境,并通过python包管理工具在目标目录中依次安装框架工具集合中的安装包,框架工具集合包括存在安装顺序的robotframework环境所需的多个安装包。66.具体的,可参考步骤s101-s103,在此不再赘述。67.s304:实时统计当前安装包的安装时长,若安装时长超过时长阈值,则计算安装时长与时长阈值的差值。68.s305:根据差值,确定框架工具集合中剩余的安装包的下载个数。69.具体的,在当前安装包开始安装时,实时统计当前安装包的安装时长,如果安装时长超过时长阈值,说明当前安装包安装时长偏长,时长阈值为衡量安装包安装时长长短的临界值,那么为了保证整体的安装效率,计算安装时长与时长阈值的差值,从预置的下载个数匹配表中匹配差值对应的下载个数,查找到差值所在的差值范围区间,根据差值范围区间匹配对应的下载个数。下载个数匹配表包括差值范围区间以及对应的下载个数,下载个数与差值范围区间为正相关。70.s306:根据安装顺序下载当前安装包之后下载个数的待装安装包。71.s307:检测各待装安装包的版本是否为最新版本,若不为最新版本,则将对应的待装安装包进行更新,并在当前安装包安装后,根据安装顺序依次安装各待装安装包,直到robotframework环境搭建完成。72.具体的,下载个数确定后,根据安装顺序提前下载当前安装包之后的下个个数的待装安装包,并对各个待装安装包进行版本更新检查,即在当前安装包安装时长较长时,提前对当前安装包之后的下载个数的安装包进行下载,并判断待装安装包是否为最新版本,如果不是,则提前更新到最新版本,这样在当前安装包安装成功后,可以直接按照安装顺序安装待装安装包,避免再次去检查安装后是否为最新版本。从而提升了robotframework环境的安装效率。若当前安装包安装完成,则停止待装安装包的下载,并停止对待装安装包的更新检查。在其他实施例中,若框架工具集合中剩余的安装包的个数未超过最小阈值,则在当前安装包安装时长超过时长阈值时,不提前下载当前安装包之后的安装包。73.在一个可实现的实施方式中,统计python包管理工具安装框架工具集合中安装包时出现的安装未成功的整体报错次数,若整体报错次数超过次数阈值,说明安装过程中出现较多次安装未成功的情况,则确定整体报错次数对应的报错安装包,若对应的报错安装包为同一个,说明可能此python包管理工具与操作系统存在不兼容情况,则重新配置操作系统的类型对应的python包管理工具;若对应的报错安装包不为同一个,判断各个不同报错安装包的报错次数与整体报错次数的占比,若存在占比超过预设占比的两个报错安装包不相邻(在安装顺序上),说明此两个报错安装包之间的中间安装包不存在问题,能正常安装,则无需重新配置操作系统的类型对应的python包管理工具;若存在占比超过预设占比的两个报错安装包相邻,说明连续两个安装包出现较多次安装未成功,为了保证安装包安装效率,需要重新配置操作系统的类型对应的python包管理工具。74.s308:基于robotframework环境,根据操作系统下的浏览器版本信息下载与浏览器版本信息匹配的浏览器驱动,并将浏览器驱动添加至目标目录中。75.具体的,可参考步骤s104,在此不再赘述。76.本技术实施例自动化测试环境跨平台快速部署方法的实施原理为:根据终端已安装的python环境的python版本,设置对应的python环境变量,从而使得执行python程序更加方便快速,提高自动化测试环境部署效率。接着根据终端运行的操作系统,配置与操作系统相适配的python包管理工具,从而解决python包管理工具在操作系统上易于出现的依赖问题。python包管理工具配置后,在python环境下创建独立的、与物理机运行环境隔离的python虚拟环境以及此python虚拟环境对应目标目录,并通过python包管理工具在目标目录中搭建robotframework环境,使得robotframework环境能部署在python虚拟环境中拥有独立依赖包环境。最后在终端上自动下载安装于浏览器版本信息匹配的浏览器驱动,进而使得终端具备自动化测试所需的浏览器环境,完成自动化测试环境的部署,从而实现方便地在不同操作系统上部署自动化测试环境。77.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。78.请参见图4,为本技术实施例提供的自动化测试环境跨平台快速部署装置的结构示意图。该应用于自动化测试环境跨平台快速部署装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置1包括变量配置模块11、工具配置模块12、环境安装模块13和驱动匹配模块14。79.变量配置模块11,用于配置已安装的python环境中python版本对应的python环境变量;工具配置模块12,用于在对应的python环境变量配置完成后,识别操作系统的类型,配置类型对应的python包管理工具;环境安装模块13,用于创建python虚拟环境以及对应的目标目录,激活python虚拟环境并通过python包管理工具在目标目录中搭建robotframework环境;驱动匹配模块14,用于基于robotframework环境,根据操作系统下的浏览器版本信息下载与浏览器版本信息匹配的浏览器驱动,并将浏览器驱动添加至目标目录中。80.可选的,工具配置模块12,具体用于:识别操作系统的类型,并获取配置类型对应的python包管理工具的国外下载地址;将国外下载地址替换为预置的国内下载地址,并通过国内下载地址配置类型对应的python包管理工具。81.可选的,环境安装模块13,具体用于:创建名称为预设名称的目标目录;创建python虚拟环境,并将python虚拟环境的名称确定为预设名称。82.可选的,环境安装模块13,具体还用于:激活python虚拟环境,并通过python包管理工具在目标目录中依次安装框架工具集合中的安装包,框架工具集合包括存在安装顺序的robotframework环境所需的多个安装包;检测已安装的安装包的版本是否为最新版本;若存在安装包的版本不为最新版本,则将对应的安装包进行更新直到所有已安装的安装包均为最新版本,以搭建robotframework环境。83.可选的,如图5所示,装置1还包括安装检验模块15,具体用于:从目标目录的子目录中查找是否存在robotframework-ride工具对应的ride.py文件;若存在ride.py文件,则确定robotframework环境搭建成功;若不存在ride.py文件,则通过对应的python包管理工具筛选框架工具集合中未安装成功的目标安装包,从目标安装包开始继续进行安装。84.可选的,装置1还包括运行检验模块16,具体用于:调取进程,查找进程中是否存在ride.py文件对应的子目录;若存在,则确定robotframework环境正常运行;若不存在,则确定robotframework环境未正常运行。85.可选的,环境安装模块13,具体还用于:激活python虚拟环境,并通过python包管理工具在目标目录中依次安装框架工具集合中的安装包,框架工具集合包括存在安装顺序的robotframework环境所需的多个安装包;实时统计当前安装包的安装时长,若安装时长超过时长阈值,则计算安装时长与时长阈值的差值;根据差值,确定框架工具集合中剩余的安装包的下载个数;根据安装顺序下载当前安装包之后下载个数的待装安装包;检测各待装安装包的版本是否为最新版本,若不为最新版本,则将对应的待装安装包进行更新,并在当前安装包安装后,根据安装顺序依次安装各待装安装包,直到robotframework环境搭建完成。86.需要说明的是,上述实施例提供的一种自动化测试环境跨平台快速部署装置在执行自动化测试环境跨平台快速部署方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的一种自动化测试环境跨平台快速部署装置与一种自动化测试环境跨平台快速部署方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。87.本技术实施例还公开一种计算机可读存储介质,并且,计算机可读存储介质存储有计算机程序,其中,计算机程序被处理器执行时,采用了上述实施例的一种自动化测试环境跨平台快速部署方法。88.其中,计算机程序可以存储于计算机可读介质中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间件形式等,计算机可读介质包括能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom)、随机存取存储器(ram)、电载波信号、电信信号以及软件分发介质等,需要说明的是,计算机可读介质包括但不限于上述元器件。89.其中,通过本计算机可读存储介质,将上述实施例的一种自动化测试环境跨平台快速部署方法存储于计算机可读存储介质中,并且,被加载并执行于处理器上,以方便上述方法的存储及应用。90.本技术实施例还公开一种电子设备,计算机可读存储介质中存储有计算机程序,计算机程序被处理器加载并执行时,采用了上述一种自动化测试环境跨平台快速部署方法。91.其中,电子设备可以采用台式电脑、笔记本电脑或者云端服务器等电子设备,并且,电子设备设备包括但不限于处理器以及存储器,例如,电子设备还可以包括输入输出设备、网络接入设备以及总线等。92.其中,处理器可以采用中央处理单元(cpu),当然,根据实际的使用情况,也可以采用其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以采用微处理器或者任何常规的处理器等,本技术对此不做限制。93.其中,存储器可以为电子设备的内部存储单元,例如,电子设备的硬盘或者内存,也可以为电子设备的外部存储设备,例如,电子设备上配备的插接式硬盘、智能存储卡(smc)、安全数字卡(sd)或者闪存卡(fc)等,并且,存储器还可以为电子设备的内部存储单元与外部存储设备的组合,存储器用于存储计算机程序以及电子设备所需的其他程序和数据,存储器还可以用于暂时地存储已经输出或者将要输出的数据,本技术对此不做限制。94.其中,通过本电子设备,将上述实施例的一种自动化测试环境跨平台快速部署方法存储于电子设备的存储器中,并且,被加载并执行于电子设备的处理器上,方便使用。95.以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部