一种基于arm64架构前端UI自动化测试方法及装置与流程

文档序号:23052520发布日期:2020-11-25 17:28阅读:329来源:国知局
一种基于arm64架构前端UI自动化测试方法及装置与流程

本发明属于软件自动化测试技术领域,具体涉及一种基于arm64架构前端ui自动化测试方法及装置。



背景技术:

ui,是userinterface的缩写,指用户界面,是指通过软件实现人机交互、操作逻辑的用户界面。

arm64,是64位的arm处理器。

selenium,是一个用于web应用程序测试的工具。

在云计算时代,随着互联网市场规模的不断扩大,大量异构的资源通过云平台统一管理,在传统开发模式中,开发人员和测试人员往往各司其职:开发人员了解到产品需求后开始编写代码,测试人员拿到产品需求说明书后开始编写测试用例,等到开发完成,再开始对照测试用例进行人工测试工作。可是在传统的开发模式中,当需求变更产生的时候测试人员所编写的测试用例往往已经完成,需要对其进行推倒重构,整个测试流程重复无用工作,测试时间长,且测试结果不可靠。自动化测试克服了传统测试模式中项目周期长、生命周期工作内容不好分配以及后期变更影响大的的问题,但是现有的自动化测试依赖外部浏览器核心,无法适应不同环境,从而影响测试可靠性和时效性。

此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于arm64架构前端ui自动化测试方法及装置,是非常有必要的。



技术实现要素:

针对现有技术的上述现有的自动化测试依赖外部浏览器核心,无法适应不同环境,从而无法保证测试可靠性和时效性的缺陷,本发明提供一种基于arm64架构前端ui自动化测试方法及装置,以解决上述技术问题。

第一方面,本发明提供一种基于arm64架构前端ui自动化测试方法,包括如下步骤:

s1.设置测试管理模块接收用户在配置页面的自动化测试参数配置,向集群代理客户端发送自动化测试部署任务;

s2.设置集群代理客户端接收并解析自动化测试部署任务,在集群创建testng应用部署进程,设置testng应用部署进程建立浏览器核心内网接口,并创建浏览器容器及程序容器;

s3.设置testng应用启动,通过浏览器容器开启浏览器核心端口,再通过程序容器在浏览器核心端口进行自动化测试以及输出自动化测试结果,并在自动化测试结束后通过浏览器容器关闭浏览器核心端口。

进一步地,步骤s1具体步骤如下:

s11.设置测试管理模块获取用户在配置页面输入的自动化测试参数配置;

s12.设置测试管理模块根据自动化测试参数配置生成自动化部署任务;

s13.设置测试管理模块通过websocket客户端向kubernetes集群代理客户端请求自动化部署任务调度。

进一步地,步骤s2具体步骤如下:

s21.判断是否安装helmchart工具;

若否,安装helmchart工具,进入步骤s22;

若是,直接进入步骤s22;

s22.设置kubernetes集群代理客户端通过helmchart工具解析自动化测试部署任务中chart配置文件;

s23.设置kubernetes集群代理客户端根据chart配置文件解析结果在kubernetes集群创建基于selenium的testng应用部署进程;

s24.设置testng应用部署进程建立webdriver浏览器核心内网接口,并创建用于开启webdriver浏览器核心端口的浏览器容器及用于运行自动化测试程序的程序容器。

进一步地,步骤s3具体步骤如下:

s31.设置testng应用启动,通过浏览器容器连接浏览器核心内网接口进行浏览器核心端口开启;

s32.设置testng应用通过程序容器并基于浏览器核心端口进行自动化测试,生成自动化测试报告并进行输出;

s33.设置testng应用在自动化测试结束后,通过程序容器向浏览器容器发送浏览器核心端口关闭通知,并在浏览器核心端口关闭后,关闭浏览器容器和程序容器。

进一步地,步骤s31具体步骤如下:

s311.设置testng应用启动,通过浏览器容器连接浏览器核心内网接口进行浏览器核心端口开启,并判断浏览器核心端口开启是否成功;

若是,进入步骤s32;

若否,进入步骤s312;

s312.设置testng应用通过存活探针关闭浏览器容器和程序容器。

第二方面,本发明提供一种基于arm64架构前端ui自动化测试装置,包括:

自动化测试参数获取模块,用于设置测试管理模块接收用户在配置页面的自动化测试参数配置,向集群代理客户端发送自动化测试部署任务;

自动化测试部署模块,用于设置集群代理客户端接收并解析自动化测试部署任务,在集群创建testng应用部署进程,设置testng应用部署进程建立浏览器核心内网接口,并创建浏览器容器及程序容器;

自动化测试模块,用于设置testng应用启动,通过浏览器容器开启浏览器核心端口,再通过程序容器在浏览器核心端口进行自动化测试以及输出自动化测试结果,并在自动化测试结束后通过浏览器容器关闭浏览器核心端口。

进一步地,自动化测试参数获取模块包括:

参数获取单元,用于设置测试管理模块获取用户在配置页面输入的自动化测试参数配置;

部署任务生成单元,用于设置测试管理模块根据自动化测试参数配置生成自动化部署任务;

任务部署请求单元,用于设置测试管理模块通过websocket客户端向kubernetes集群代理客户端请求自动化部署任务调度。

进一步地,自动化测试部署模块包括:

helmchart工具判断单元,用于判断是否安装helmchart工具;

helmchart工具安装单元,用于未安装helmchart工具时,进行helmchart工具安装;

配置文件解析单元,用于设置kubernetes集群代理客户端通过helmchart工具解析自动化测试部署任务中chart配置文件;

应用部署进程创建单元,用于设置kubernetes集群代理客户端根据chart配置文件解析结果在kubernetes集群创建基于selenium的testng应用部署进程;

应用部署单元,用于设置testng应用部署进程建立webdriver浏览器核心内网接口,并创建用于开启webdriver浏览器核心端口的浏览器容器及用于运行自动化测试程序的程序容器。

进一步地,自动化测试模块包括:

浏览器核心端口开启单元,用于设置testng应用启动,通过浏览器容器连接浏览器核心内网接口进行浏览器核心端口开启;

自动化测试单元,用于设置testng应用通过程序容器并基于浏览器核心端口进行自动化测试,生成自动化测试报告并进行输出;

浏览器核心端口关闭单元,用于设置testng应用在自动化测试结束后,通过程序容器向浏览器容器发送浏览器核心端口关闭通知,并在浏览器核心端口关闭后,关闭浏览器容器和程序容器。

进一步地,浏览器核心端口开启单元包括:

核心端口开启判断子单元,用于设置testng应用启动,通过浏览器容器连接浏览器核心内网接口进行浏览器核心端口开启,并判断浏览器核心端口开启是否成功;

容器关闭子单元,用于设置testng应用通过存活探针关闭浏览器容器和程序容器。

本发明的有益效果在于,

本发明提供的基于arm64架构前端ui自动化测试方法及装置,采用testng+selenium的前端测试ui框架,通过页面修改获取自动化测试参数配置,从而实现在不同环境中嵌入运行自动化测试,避免了仅采用selenium对外部浏览器核心依赖,适应性强,提高了测试可靠性和时效性。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的方法流程示意图一;

图2是本发明的方法流程示意图二;

图3是本发明的系统示意图;

图中,1-自动化测试参数获取模块;1.1-参数获取单元;1.2-部署任务生成单元;1.3-任务部署请求单元;2-自动化测试部署模块;2.1-helmchart工具判断单元;2.2-helmchart工具安装单元;2.3-配置文件解析单元;2.4-应用部署进程创建单元;2.5-应用部署单元;3-自动化测试模块;3.1-浏览器核心端口开启单元;3.2-自动化测试单元;3.3-浏览器核心端口关闭单元。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

testng是一个开源自动化测试框架,其灵感来自junit和nunit,testng还涵盖了整个核心的junit4功能,但引入了一些新的功能,使其功能更强大,使用更方便。优势:支持依赖测试方法,并行测试,负载测试,局部故障;灵活的插件api;支持多线程测试。

websocket是一种在单个tcp连接上进行全双工通信的协议。

kubernetes,简称k8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,kubernetes的目标是让部署容器化的应用简单并且高效,kubernetes提供了应用部署,规划,更新,维护的一种机制。

helmchart:helm使用称为chart的包装格式。chart是描述相关的一组kubernetes资源的文件集合。单个chart可能用于部署简单的东西,比如memcachedpod,或者一些复杂的东西,比如完整的具有http服务,数据库,缓存等的web应用程序堆栈。chart通过创建为特定目录树的文件,将它们打包到版本化的压缩包,然后进行部署。

实施例1:

如图1所示,本发明提供一种基于arm64架构前端ui自动化测试方法,包括如下步骤:

s1.设置测试管理模块接收用户在配置页面的自动化测试参数配置,向集群代理客户端发送自动化测试部署任务;

s2.设置集群代理客户端接收并解析自动化测试部署任务,在集群创建testng应用部署进程,设置testng应用部署进程建立浏览器核心内网接口,并创建浏览器容器及程序容器;

s3.设置testng应用启动,通过浏览器容器开启浏览器核心端口,再通过程序容器在浏览器核心端口进行自动化测试以及输出自动化测试结果,并在自动化测试结束后通过浏览器容器关闭浏览器核心端口。

实施例2:

如图2所示,本发明提供一种基于arm64架构前端ui自动化测试方法,包括如下步骤:

s1.设置测试管理模块接收用户在配置页面的自动化测试参数配置,向集群代理客户端发送自动化测试部署任务;具体步骤如下:

s11.设置测试管理模块获取用户在配置页面输入的自动化测试参数配置;

s12.设置测试管理模块根据自动化测试参数配置生成自动化部署任务;

s13.设置测试管理模块通过websocket客户端向kubernetes集群代理客户端请求自动化部署任务调度;

s2.设置集群代理客户端接收并解析自动化测试部署任务,在集群创建testng应用部署进程,设置testng应用部署进程建立浏览器核心内网接口,并创建浏览器容器及程序容器;具体步骤如下:

s21.判断是否安装helmchart工具;

若否,安装helmchart工具,进入步骤s22;

若是,直接进入步骤s22;

s22.设置kubernetes集群代理客户端通过helmchart工具解析自动化测试部署任务中chart配置文件;

s23.设置kubernetes集群代理客户端根据chart配置文件解析结果在kubernetes集群创建基于selenium的testng应用部署进程;

s24.设置testng应用部署进程建立webdriver浏览器核心内网接口,并创建用于开启webdriver浏览器核心端口的浏览器容器及用于运行自动化测试程序的程序容器;

s3.设置testng应用启动,通过浏览器容器开启浏览器核心端口,再通过程序容器在浏览器核心端口进行自动化测试以及输出自动化测试结果,并在自动化测试结束后通过浏览器容器关闭浏览器核心端口;具体步骤如下:

s31.设置testng应用启动,通过浏览器容器连接浏览器核心内网接口进行webdriver浏览器核心端口开启;具体步骤如下:

s311.设置testng应用启动,通过浏览器容器连接浏览器核心内网接口进行webdriver浏览器核心端口开启,并判断浏览器核心端口开启是否成功;

若是,进入步骤s32;

若否,进入步骤s312;

s312.设置testng应用通过存活探针关闭浏览器容器和程序容器;

s32.设置testng应用通过程序容器并基于webdriver浏览器核心端口进行自动化测试,生成自动化测试报告并进行输出;

s33.设置testng应用在自动化测试结束后,通过程序容器向浏览器容器发送webdriver浏览器核心端口关闭通知,并在浏览器核心端口关闭后,关闭浏览器容器和程序容器。

在某些实施例中,步骤s33中,设置testng应用通过curl结束webdriver浏览器的生命周期,从而关闭webdriver浏览器核心端口。

在某些实施例中,步骤s32中,执行java类自动化测试用例进行自动化测试,生成xml格式的自动化测试报告。

实施例3:

如图3所示,本发明提供一种基于arm64架构前端ui自动化测试装置,包括:

自动化测试参数获取模块1,用于设置测试管理模块接收用户在配置页面的自动化测试参数配置,向集群代理客户端发送自动化测试部署任务;自动化测试参数获取模块1包括:

参数获取单元1.1,用于设置测试管理模块获取用户在配置页面输入的自动化测试参数配置;

部署任务生成单元1.2,用于设置测试管理模块根据自动化测试参数配置生成自动化部署任务;

任务部署请求单元1.3,用于设置测试管理模块通过websocket客户端向kubernetes集群代理客户端请求自动化部署任务调度;

自动化测试部署模块2,用于设置集群代理客户端接收并解析自动化测试部署任务,在集群创建testng应用部署进程,设置testng应用部署进程建立浏览器核心内网接口,并创建浏览器容器及程序容器;自动化测试部署模块2包括:

helmchart工具判断单元2.1,用于判断是否安装helmchart工具;

helmchart工具安装单元2.2,用于未安装helmchart工具时,进行helmchart工具安装;

配置文件解析单元2.3,用于设置kubernetes集群代理客户端通过helmchart工具解析自动化测试部署任务中chart配置文件;

应用部署进程创建单元2.4,用于设置kubernetes集群代理客户端根据chart配置文件解析结果在kubernetes集群创建基于selenium的testng应用部署进程;

应用部署单元2.5,用于设置testng应用部署进程建立webdriver浏览器核心内网接口,并创建用于开启webdriver浏览器核心端口的浏览器容器及用于运行自动化测试程序的程序容器;

自动化测试模块3,用于设置testng应用启动,通过浏览器容器开启浏览器核心端口,再通过程序容器在浏览器核心端口进行自动化测试以及输出自动化测试结果,并在自动化测试结束后通过浏览器容器关闭浏览器核心端口;自动化测试模块3包括:

浏览器核心端口开启单元3.1,用于设置testng应用启动,通过浏览器容器连接浏览器核心内网接口进行浏览器核心端口开启;

自动化测试单元3.2,用于设置testng应用通过程序容器并基于浏览器核心端口进行自动化测试,生成自动化测试报告并进行输出;

浏览器核心端口关闭单元3.3,用于设置testng应用在自动化测试结束后,通过程序容器向浏览器容器发送浏览器核心端口关闭通知,并在浏览器核心端口关闭后,关闭浏览器容器和程序容器;浏览器核心端口开启单元3.1包括:

核心端口开启判断子单元,用于设置testng应用启动,通过浏览器容器连接浏览器核心内网接口进行浏览器核心端口开启,并判断浏览器核心端口开启是否成功;

容器关闭子单元,用于设置testng应用通过存活探针关闭浏览器容器和程序容器。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1