一种自动升级及自动化测试方法技术

技术编号:19778059 阅读:23 留言:0更新日期:2018-12-15 11:13
本发明专利技术提供一种自动升级及自动化测试方法,在Jenkins模块上创建自动升级任务信息;根据预设条件,在Jenkins模块上启动自动升级任务信息,同时基于容器镜像的存放位置启动容器镜像;根据自动升级任务信息,从数据库中获取升级任务所需要的升级版本,进行升级;运行测试用例,对升级后的版本进行测试,Jenkins模块监测版本升级过程及测试过程,并生成升级过程日志及测试过程日志。通过产品升级测试的自动化,节省了大量人工操作和重复性操作,提高产品的升级测试可靠性,全程的自动化大大的提高了测试效率。另一方面,通过docker容器,定制镜像,保证开发和测试的基础环境一致性。

【技术实现步骤摘要】
一种自动升级及自动化测试方法
本专利技术涉及服务器测试领域,尤其涉及一种自动升级及自动化测试方法。
技术介绍
日常测试中会遇到对web应用进行UI自动化的测试场景,一般常用的工具是使用Selenium,并结合一些测试框架组合测试用例进行UI的自动化测试。通过selenium的高级功能seleniumGrid进行分布式的测试。通过seleniumHub下发请求到seleniumNode执行测试脚本,达到测试机与测试脚本分离的目的。随着selenium版本的更新,大量用户的老版本产品需要升级到新版,在升级到新版本后,必要要保证原有功能的正确性,也要保证新增的特性点不会对原有的功能造成影响,由于此过程需要快速的反馈结果,手工测试效率较慢。如果采用自动化的方式完成升级则能够提高升级效率。自动升级后需要对升级后的版本进行检测,来测试自动升级后的版本是否满足需要。这样如何能够实现selenium版本自动升级,而且还能够实现对自动升级后的版本进行测试判断自动升级后的版本是否满足需要是当前丞待解决的技术问题。
技术实现思路
为了克服上述现有技术中的不足,本专利技术提供一种自动升级及自动化测试方法,方法包括:步骤一,在Jenkins模块上创建自动升级任务信息;步骤二,根据预设条件,在Jenkins模块上启动自动升级任务信息,同时基于容器镜像的存放位置启动容器镜像;步骤三,根据自动升级任务信息,从数据库中获取升级任务所需要的升级版本,进行升级;步骤四,升级完成后,从数据库中获取基于升级后版本所需要的测试用例;步骤五,运行测试用例,对升级后的版本进行测试,Jenkins模块监测版本升级过程及测试过程,并生成升级过程日志及测试过程日志。优选地,步骤一之前还包括:在宿主机上安装docker模块,Jenkins模块及OS系统,基于docker模块,Jenkins模块及OS系统配置容器镜像,记录容器镜像的存放位置。优选地,步骤二中根据预设条件包括:根据测试人员输入的启动自动升级控制指令,在Jenkins模块上启动自动升级任务信息;或,预设自动升级的启动时间,当达到预设自动升级的启动时间时,在Jenkins模块上启动自动升级任务信息;或,监测数据库中升级版本信息,当数据库中存有升级版本信息时,在Jenkins模块上启动自动升级任务信息。优选地,步骤二中的启动容器镜像还包括:通过宿主机的端口访问selenium/hub服务,启动selenium/hub容器。通过待测主机的端口访问selenium/hub服务;启动selenium/node容器,通过selenium/hub服务所在的服务器检查容器的启动情况。优选地,步骤一还包括:根据待docker模块的版本,Jenkins模块的版本及OS系统的版本,在数据库中获取docker模块,Jenkins模块及OS系统。优选地,在步骤五中的运行测试用例还包括:运行runner.py文件,runner.py文件将测试用例中的多个测试进程加入到当前运行线程中,执行多线程测试;在seleniumnode节点浏览器上获取测试过程,查询测试用例的测试过程。优选地,步骤五之后还包括:测试人员访问系统的report目录下,打开index.html,显示本次测试执行情况;测试系统通过配置测试人员的邮箱地址将生成的升级过程日志及测试过程日志以邮件的形式发送。优选地,将测试后的测试过程日志和预设的测试过程日志进行比对,判断测试后测试过程日志中是否存在错误信息。优选地,将测试后的测试过程日志和预设的测试过程日志进行比对,判断测试后的测试过程日志的测试参数值对应与预设测试过程日志的测试参数值是否一致。从以上技术方案可以看出,本专利技术具有以下优点:本专利技术通过在WebUI自动化测试方法中引入docker容器技术,通过docker容器技术定制测试环境容器镜像,通过容器镜像来启动多个测试环境,从而减少执行机配置环境麻烦的问题,并减少物理机器的需求数。本专利技术通过docker容器,定制运行环境所需镜像,开发测试使用同一镜像,保证测试基础的准确性,缩短测试时间,并在产品的升级测试过程中,省去大量的人工操作和重复性的操作,提高产品升级测试的可靠性。整个测试过程的测试效率得到大大的提高。在测试用例初始化时,通过指定浏览器名称和远程执行机node的远程url,从而达到预期在那个node上执行用例的目标。测试人员访问系统的report目录下,打开index.html,显示本次测试执行情况;测试系统通过配置测试人员的邮箱地址将测试日志以邮件的形式发送,便于测试人员了解测试过程和结果。本专利技术通过产品升级测试的自动化,一方面节省了大量人工操作和重复性操作,提高产品的升级测试可靠性,测试日志帮助测试和开发人员迅速定位到升级过程中发生的问题,全程的自动化大大的提高了测试效率。另一方面,通过docker容器,定制镜像,保证开发和测试的基础环境一致性,一次配置定制,达到重复配置的效果,而且此过程也会减少手工配置出错的概率。附图说明为了更清楚地说明本专利技术的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为自动升级及自动化测试方法流程图;图2为自动升级及自动化测试方法实施例流程图。具体实施方式本专利技术提供一种自动升级及自动化测试方法,如图1所示,方法包括:S1,在Jenkins模块上创建自动升级任务信息;S2,根据预设条件,在Jenkins模块上启动自动升级任务信息,同时基于容器镜像的存放位置启动容器镜像;S3,根据自动升级任务信息,从数据库中获取升级任务所需要的升级版本,进行升级;S4,升级完成后,从数据库中获取基于升级后版本所需要的测试用例;在容器镜像上预设所要执行的测试用例;S5,运行测试用例,对升级后的版本进行测试,Jenkins模块监测版本升级过程及测试过程,并生成升级过程日志及测试过程日志。本专利技术提出基于docker容器技术+持续集成工具jenkins以及其他辅助工具来完成自动升级和自动化测试的工作。Docker是被广泛应用的一种开源容器引擎,它可以支持程序的快速部署和移植,并具有很好的环境隔离性,我们可以把所需要测试产品的基础OS以及依赖的工具通过DockerFile文件进行定制,最后做成镜像。Jenkins是一种持续构建工具,我们可以将升级过程和自动化测试构建成多个Job,并约定好先后顺序,通过计划任务触发任务执行。为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本专利技术保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本专利技术一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范围。本专利技术提供一种实施例,如图2所示,S11,在宿主机上安装docker模块,Jenkins模块及OS系统,基于docker模块,Jenkins模块及OS系统配置容器镜像,记录容器镜像的存放位置。根据待docker模块的版本,Jenkins模块的版本及OS系统的版本,在数据库中获本文档来自技高网...

【技术保护点】
1.一种自动升级及自动化测试方法,其特征在于,方法包括:步骤一,在Jenkins模块上创建自动升级任务信息;步骤二,根据预设条件,在Jenkins模块上启动自动升级任务信息,同时基于容器镜像的存放位置启动容器镜像;步骤三,根据自动升级任务信息,从数据库中获取升级任务所需要的升级版本,进行升级;步骤四,升级完成后,从数据库中获取基于升级后版本所需要的测试用例;步骤五,运行测试用例,对升级后的版本进行测试,Jenkins模块监测版本升级过程及测试过程,并生成升级过程日志及测试过程日志。

【技术特征摘要】
1.一种自动升级及自动化测试方法,其特征在于,方法包括:步骤一,在Jenkins模块上创建自动升级任务信息;步骤二,根据预设条件,在Jenkins模块上启动自动升级任务信息,同时基于容器镜像的存放位置启动容器镜像;步骤三,根据自动升级任务信息,从数据库中获取升级任务所需要的升级版本,进行升级;步骤四,升级完成后,从数据库中获取基于升级后版本所需要的测试用例;步骤五,运行测试用例,对升级后的版本进行测试,Jenkins模块监测版本升级过程及测试过程,并生成升级过程日志及测试过程日志。2.根据权利要求1所述的自动升级及自动化测试方法,其特征在于,步骤一之前还包括:在宿主机上安装docker模块,Jenkins模块及OS系统,基于docker模块,Jenkins模块及OS系统配置容器镜像,记录容器镜像的存放位置。3.根据权利要求1或2所述的自动升级及自动化测试方法,其特征在于,步骤二中根据预设条件包括:根据测试人员输入的启动自动升级控制指令,在Jenkins模块上启动自动升级任务信息;或,预设自动升级的启动时间,当达到预设自动升级的启动时间时,在Jenkins模块上启动自动升级任务信息;或,监测数据库中升级版本信息,当数据库中存有升级版本信息时,在Jenkins模块上启动自动升级任务信息。4.根据权利要求1或2所述的自动升级及自动化测试方法,其特征在于,步骤二中的启动容器镜像还包括:通过宿主机的端口访问selenium/hub服务,启动selenium/h...

【专利技术属性】
技术研发人员:王志广
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1