[发明专利]一种基于UnitTest并行执行的自动化测试方法有效
申请号: | 201810677999.1 | 申请日: | 2018-06-27 |
公开(公告)号: | CN108959080B | 公开(公告)日: | 2021-01-15 |
发明(设计)人: | 王亮 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/451 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 张亮 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 unittest 并行 执行 自动化 测试 方法 | ||
本发明提供一种基于UnitTest并行执行的自动化测试方法,采用多线程同时运行测试用例,与传统的多线程运行脚本的方式相比,大大节省了运行脚本的时间,同时还能二次运行失败的测试用例,提高了测试效率。采用多线程动态运行测试用例的方式,减少了测试用例运行时长,节省了测试运行时间。通过在WebUI自动化测试方法中引入docker容器技术,通过docker容器技术定制测试环境容器镜像,通过容器镜像来启动多个测试环境,从而减少执行机配置环境麻烦的问题,并减少物理机器的需求数。
技术领域
本发明涉及服务器测试领域,尤其涉及一种基于UnitTest并行执行的自动化测试方法。
背景技术
在webUI自动化测试领域中,自动化执行测试用例的方式有一般借助于第三方测试套件实现,例如在使用python编写的自动化测试中,一般使用unittest进行测试用例的自动化运行,unittest能实现将预先设置好的测试用例按照顺序进行执行,并在执行结束后,输出测试结果。同一个机器上也可以运行多个unittest线程实现并行执行,但是并行的方式存在一个缺陷,即不能合理的均衡每个线程的执行时间,即某一个线程执行完了,可能其他的线程还需要等待很长时间才能完成。浪费了大量的测试时间。
而且在webUI自动化测试领域中测试机与测试脚本不分离,消耗硬件资源;脚本串行执行效率低下,自动化执行时间过长。
发明内容
为了克服上述现有技术中的不足,本发明提供一种基于UnitTest并行执行的自动化测试方法,其特征在于,方法包括:
在宿主机上安装docker模块,基于docker模块配置容器镜像;
启动容器镜像,创建Python模块;
在容器镜像上预设所要执行的测试用例;
使用Python模块搜索系统中的所有测试用例,并将测试用例的名称写入容器镜像中;
将测试文件赋予准备状态,运行unittest测试线程,读取状态为准备的测试用例对测试文件进行测试,并将测试用例状态置为运行;
运行结束后,如果测试用例运行成功,将测试文件的状态设为完成态;
在Python模块上输出测试报告。
优选地,步骤运行结束之后还包括:
如果测试用例对测试文件测试失败,将测试文件状态改为错误态。
优选地,步骤运行结束之后还包括:
调取错误态的测试文件,将错误态的测试文件赋予准备状态,运行unittest测试线程,读取状态为准备的测试用例对错误态的测试文件进行测试,并将测试用例状态置为运行;
运行结束后,如果测试用例运行成功,将测试文件的状态设为完成态;
如果测试用例对测试文件测试失败,将测试文件状态改为错误态;
再次调取错误态的测试文件,将错误态的测试文件赋予准备状态,运行unittest测试线程,读取状态为准备的测试用例对错误态的测试文件进行测试,直至到达预设测试次数;
运行结束后,统计所有的测试结果,在Python模块上输出测试报告。
优选地,基于数据库下载容器仓库中预设的容器镜像。
优选地,步骤启动容器镜像还包括:
通过宿主机的端口访问selenium/hub服务;
启动selenium/hub容器。
优选地,步骤启动容器镜像还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810677999.1/2.html,转载请声明来源钻瓜专利网。