CN108763072A - 一种高效的自动化测试环境搭建方法 - Google Patents
一种高效的自动化测试环境搭建方法 Download PDFInfo
- Publication number
- CN108763072A CN108763072A CN201810477810.4A CN201810477810A CN108763072A CN 108763072 A CN108763072 A CN 108763072A CN 201810477810 A CN201810477810 A CN 201810477810A CN 108763072 A CN108763072 A CN 108763072A
- Authority
- CN
- China
- Prior art keywords
- docker
- selenium
- automatic test
- environmental structure
- efficient automatic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明特别涉及一种高效的自动化测试环境搭建方法。该高效的自动化测试环境搭建方法,对操作系统和每个版本的浏览器与java环境进行统一配置,确保各个环境部署镜像的一致性;将需要安装的组件打包成一个镜像,方便管理和维护;同时将镜像提交新版本或回滚在一处维护,以便出问题时可以快速排查和重启,进而使一个服务器上可以负荷更多的有效进程,而不用负荷额外的操作系统,提升资源的利用率。该高效的自动化测试环境搭建方法,极大地简化了selenium grid的部署,切实减少了服务器资源的消耗和配置服务的时间,值得在业界推广。
Description
技术领域
本发明涉及软件测试技术领域,特别涉及一种高效的自动化测试环境搭建方法。
背景技术
很多企业认识到了软件自动化测试的重要性,并将其纳入日常生产。自动化测试可以提高测试覆盖率,让测试人员免于重复劳动而有更多的时间投入到新迭代中。软件自动化测试在运行时,需要分配真实的机器资源,并且配备相应环境。这些测试环境配置不易,伸缩机器节点效率不高。因此,分布式软件自动化测试环境相对脆弱,维护较难。
目前,主流使用虚拟机或单独的物理机充当服务器。虚拟机的虚拟机技术可以让一台物理服务器或者“主机”上运行多个操作系统和应用,简化IT架构,让服务器满负荷运行以提高服务器利用率,节约物理成本。然而,虚拟机技术也存在一些弊端:比如在启动耗时上,虚拟机启动需要几秒,甚至好几分钟;在运行性能上,虚拟机需要更多的系统开销;在部署难度上,虚拟机构建环境比较复杂;在镜像大小上,虚拟机安装操作系统通常需要几兆至千兆;在系统支持量上,虚拟机单机部署几十个已经是极限,比较受限。
基于上述情况,本发明根据docker快速轻量构建环境等优点,并结合seleniumgrid,提出了一种高效的自动化测试环境搭建方法。
Selenium Grid支持在不同的物理机,不同的浏览器上同时运行测试。也就是说,Selenium Grid支持在分布式软件自动化测试环境中运行测试。Selenium Grid对系统和浏览器的兼容性如下:
(一)使用selenium grid的场景
参与执行的机器越多,得到测试结果的时间越短。为了尽快得到测试结果,可将测试用例分发到多个机器上同时执行。多浏览器类型、多浏览器版本验证,可在一台机器上运行单一浏览器,也可在一台机器上运行多个浏览器实例,以减少测试验证时间,尽快得到测试结果,最小化维护grid的时间。
(二)selenium grid的启动
selenium hub提供一个类似于服务器的节点,可以在linux机器或者windows机器上启动。所有测试机都需要注册到selenium hub上。selenium grid作为一个子节点,selenium hub负责将它们分发到正确的节点上。
启动selenium grid很简单,首先将selenium提供的jar包下载到服务器,随后依次启动selenium hub和selenium grid即可。具体步骤如下:
(1)启动selenium hub
java-jar selenium-server-standalone-3.0.0.jar-hub
默认情况下,hub会以端口4444启动。如需更改默认端口,可在运行命令时添加port参数。通过http://localhost:4444/grid/console可以查看节点运行的状态。
(2)启动selenium grid
java-jar selenium-server-standalone-3.0.0.jar–role node-hub http://localhost:4444/grid/register
如果没有提供role选项,并且不是hub节点,则默认端口是5555。
windows下注册IE、Chrome、Firefox三种浏览器的方式如下。
①IE浏览器的注册方式:
java-jar selenium-server-standalone-3.0.0.jar
Dwebdriver.ie.driver="C:/IEDriverServer.exe"-role
webdriver-hub http://localhost:4444/grid/register-port
6666-browser browserName="internet explorer"
②Chrome浏览器的注册方式:
java-jar selenium-server-standalone-3.0.0.jar
Dwebdriver.chrome.driver="C:/chromedriver.exe"-role
webdriver-hub http://localhost:4444/grid/
register-port 7777-browser browserName=chrome
③Firefox浏览器的注册方式:
java-jar selenium-server-standalone-3.0.0.jar
Dwebdriver.chrome.bin="C:/Program Files(x86)/
Mozilla Firefox/firefox.exe"-role webdriver-hub
http://localhost:4444/grid/register-port 8888-browser
browserName=firefox
IE浏览器和Chrome浏览器自身无法启动,需要单独下载驱动才能运行。Selenium最早是为Firefox浏览器做的,并有在Firefox浏览器上录制的插件Selenium IDE,因此不需要单独的驱动。
如果用虚拟机部署selenium grid测试环境,需要安装操作系统,安装某个版本的浏览器和java环境等等。针对测试计划要求的操作系统版本和浏览器版本部署更多的虚拟机上。这样很耗费成本,配置效率也不高。而采用docker部署环境就可以改善这些问题。
Docker是一个可以把开发的应用程序自动地部署到容器的开源引擎。它不关心容器里到底塞了什么,所有容器都是依照相同的方式装载,它也不关心“货物”将运到哪里,用户可以在任何地方部署,为搭建自动化测试环境提供了很大的便利。
配合自动化测试任务的展开,测试计划的执行需要选择测试环境并且注册节点。这些测试环境往往是手工配置的。使用docker则可以免去手工配置的过程,使用脚本自动拉取docker镜像,一键配置测试环境。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种高效的自动化测试环境搭建方法。
本发明是通过如下技术方案实现的:
一种高效的自动化测试环境搭建方法,其特征在于:对操作系统和每个版本的浏览器与java环境进行统一配置,确保各个环境部署镜像的一致性;将需要安装的组件打包成一个镜像,方便管理和维护;同时将镜像提交新版本或回滚在一处维护,以便出问题时可以快速排查和重启,进而使一个服务器上可以负荷更多的有效进程,而不用负荷额外的操作系统,提升资源的利用率。
本发明高效的自动化测试环境搭建方法,通过安装Docker Toolbox简化安装步骤,具体步骤如下:
(1)首先,安装docker和docker compose;
(2)拉取selenium hub节点,chrome节点和firefox节点;
(3)编写selenium启动脚本docker-compose.yml,并启动;
(4)伸缩节点数量;
(5)观察启动日志;
(6)前台查看节点启动情况。
所述步骤(2)中,拉取selenium hub节点的命令为docker pull selenium/hub;拉取chrome节点的命令为docker pull selenium/node-chrome;拉取firefox节点的命令为docker pull selenium/node-firefox。
所述步骤(3)中,selenium启动脚本docker-compose.yml内容包括启动seleniumhub,注册firefox节点和chrome节点,且测试用例可以调用已注册节点。
所述步骤(3)中,启动脚本docker-compose.yml的命令为docker-compose up-d。
所述步骤(4)中,伸缩节点数量的命令为docker-compose scale chrome=5firefox=5。
所述步骤(5)中,观察启动日志的命令为docker logs hub。
所述步骤(6)中,前台查看节点启动情况的命令为http://localhost:4444/grid/console。
docker版本要求MAC下在OS X El Capitan 10.11以上,windows下在64bitWindows10Pro 10586以上,cent OS在7以上。
本发明的有益效果是:该高效的自动化测试环境搭建方法,极大地简化了selenium grid的部署,切实减少了服务器资源的消耗和配置服务的时间,值得在业界推广。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该高效的自动化测试环境搭建方法,对操作系统和每个版本的浏览器与java环境进行统一配置,确保各个环境部署镜像的一致性;将需要安装的组件打包成一个镜像,方便管理和维护;同时将镜像提交新版本或回滚在一处维护,以便出问题时可以快速排查和重启,进而使一个服务器上可以负荷更多的有效进程,而不用负荷额外的操作系统,提升资源的利用率。
该高效的自动化测试环境搭建方法,通过安装Docker Toolbox简化安装步骤,具体步骤如下:
(1)首先,安装docker和docker compose;
(2)拉取selenium hub节点,chrome节点和firefox节点;
(3)编写selenium启动脚本docker-compose.yml,并启动;
(4)伸缩节点数量;
(5)观察启动日志;
(6)前台查看节点启动情况。
所述步骤(2)中,拉取selenium hub节点的命令为docker pull selenium/hub;拉取chrome节点的命令为docker pull selenium/node-chrome;拉取firefox节点的命令为docker pull selenium/node-firefox。
所述步骤(3)中,selenium启动脚本docker-compose.yml内容包括启动seleniumhub,注册firefox节点和chrome节点,且测试用例可以调用已注册节点。
所述步骤(3)中,启动脚本docker-compose.yml的命令为docker-compose up-d。
所述步骤(4)中,伸缩节点数量的命令为docker-compose scale chrome=5firefox=5。
所述步骤(5)中,观察启动日志的命令为docker logs hub。
所述步骤(6)中,前台查看节点启动情况的命令为http://localhost:4444/grid/console。
docker版本要求MAC下在OS X El Capitan 10.11以上,windows下在64bitWindows10Pro 10586以上,cent OS在7以上。
Claims (9)
1.一种高效的自动化测试环境搭建方法,其特征在于:对操作系统和每个版本的浏览器与java环境进行统一配置,确保各个环境部署镜像的一致性;将需要安装的组件打包成一个镜像,方便管理和维护;同时将镜像提交新版本或回滚在一处维护,以便出问题时可以快速排查和重启,进而使一个服务器上可以负荷更多的有效进程,而不用负荷额外的操作系统,提升资源的利用率。
2.根据权利要求1所述的高效的自动化测试环境搭建方法,其特征在于,通过安装Docker Toolbox简化安装步骤,具体步骤如下:
(1)首先,安装docker和docker compose;
(2)拉取selenium hub节点,chrome节点和firefox节点;
(3)编写selenium启动脚本docker-compose.yml,并启动;
(4)伸缩节点数量;
(5)观察启动日志;
(6)前台查看节点启动情况。
3.根据权利要求2所述的高效的自动化测试环境搭建方法,其特征在于:所述步骤(2)中,拉取selenium hub节点的命令为docker pull selenium/hub;拉取chrome节点的命令为docker pull selenium/node-chrome;拉取firefox节点的命令为docker pullselenium/node-firefox。
4.根据权利要求2所述的高效的自动化测试环境搭建方法,其特征在于:所述步骤(3)中,selenium启动脚本docker-compose.yml内容包括启动selenium hub,注册firefox节点和chrome节点,且测试用例可以调用已注册节点。
5.根据权利要求2所述的高效的自动化测试环境搭建方法,其特征在于:所述步骤(3)中,启动脚本docker-compose.yml的命令为docker-compose up-d。
6.根据权利要求2所述的高效的自动化测试环境搭建方法,其特征在于:所述步骤(4)中,伸缩节点数量的命令为docker-compose scale chrome=5firefox=5。
7.根据权利要求2所述的高效的自动化测试环境搭建方法,其特征在于:所述步骤(5)中,观察启动日志的命令为docker logs hub。
8.根据权利要求2所述的高效的自动化测试环境搭建方法,其特征在于:所述步骤(6)中,前台查看节点启动情况的命令为http://localhost:4444/grid/console。
9.根据权利要求2所述的高效的自动化测试环境搭建方法,其特征在于:docker版本要求MAC下在OS X El Capitan 10.11以上,windows下在64bit Windows10 Pro 10586以上,cent OS在7以上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810477810.4A CN108763072A (zh) | 2018-05-18 | 2018-05-18 | 一种高效的自动化测试环境搭建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810477810.4A CN108763072A (zh) | 2018-05-18 | 2018-05-18 | 一种高效的自动化测试环境搭建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108763072A true CN108763072A (zh) | 2018-11-06 |
Family
ID=64007113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810477810.4A Pending CN108763072A (zh) | 2018-05-18 | 2018-05-18 | 一种高效的自动化测试环境搭建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108763072A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109739744A (zh) * | 2018-12-05 | 2019-05-10 | 北京奇艺世纪科技有限公司 | 一种测试系统及方法 |
CN110333895A (zh) * | 2019-05-30 | 2019-10-15 | 中国电力科学研究院有限公司 | 一种面向电力调控云的自动化运维平台 |
CN111061641A (zh) * | 2019-12-19 | 2020-04-24 | 北京同有飞骥科技股份有限公司 | 自动测试方法及系统 |
CN114138557A (zh) * | 2021-11-26 | 2022-03-04 | 北京大道云行科技有限公司 | 一种存储快照回滚数据一致性测试方法与装置 |
CN114676034A (zh) * | 2020-12-24 | 2022-06-28 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置、及计算机设备 |
CN114880213A (zh) * | 2022-04-19 | 2022-08-09 | 北京金堤科技有限公司 | 网页界面测试方法、装置、存储介质与电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630672A (zh) * | 2015-12-16 | 2016-06-01 | 北京奇虎科技有限公司 | 应用的自动监控方法及装置 |
-
2018
- 2018-05-18 CN CN201810477810.4A patent/CN108763072A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630672A (zh) * | 2015-12-16 | 2016-06-01 | 北京奇虎科技有限公司 | 应用的自动监控方法及装置 |
Non-Patent Citations (1)
Title |
---|
胡湘菲: "计算机时代", 《计算机时代》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109739744A (zh) * | 2018-12-05 | 2019-05-10 | 北京奇艺世纪科技有限公司 | 一种测试系统及方法 |
CN109739744B (zh) * | 2018-12-05 | 2022-04-22 | 北京奇艺世纪科技有限公司 | 一种测试系统及方法 |
CN110333895A (zh) * | 2019-05-30 | 2019-10-15 | 中国电力科学研究院有限公司 | 一种面向电力调控云的自动化运维平台 |
CN110333895B (zh) * | 2019-05-30 | 2021-09-03 | 中国电力科学研究院有限公司 | 一种面向电力调控云的自动化运维平台 |
CN111061641A (zh) * | 2019-12-19 | 2020-04-24 | 北京同有飞骥科技股份有限公司 | 自动测试方法及系统 |
CN111061641B (zh) * | 2019-12-19 | 2023-11-03 | 北京同有飞骥科技股份有限公司 | 自动测试方法及系统 |
CN114676034A (zh) * | 2020-12-24 | 2022-06-28 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置、及计算机设备 |
CN114138557A (zh) * | 2021-11-26 | 2022-03-04 | 北京大道云行科技有限公司 | 一种存储快照回滚数据一致性测试方法与装置 |
CN114138557B (zh) * | 2021-11-26 | 2022-05-27 | 北京大道云行科技有限公司 | 一种存储快照回滚数据一致性测试方法与装置 |
CN114880213A (zh) * | 2022-04-19 | 2022-08-09 | 北京金堤科技有限公司 | 网页界面测试方法、装置、存储介质与电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763072A (zh) | 一种高效的自动化测试环境搭建方法 | |
CN109814879B (zh) | 自动化ci/cd项目部署方法、存储介质 | |
US9875133B2 (en) | Virtual machine disk image installation | |
US10942724B2 (en) | Release lifecycle management system for multi-node application | |
US9075638B2 (en) | Efficient hosting of virtualized containers using read-only operating systems | |
US8762986B2 (en) | Advanced packaging and deployment of virtual appliances | |
US8151277B2 (en) | Method and system for dynamic remote injection of in-process agents into virtual machine based applications | |
US8468542B2 (en) | Virtual environment for server applications, such as web applications | |
CN107733985B (zh) | 一种云计算系统功能组件部署方法及装置 | |
CN109298868B (zh) | 测绘影像数据处理软件智能动态部署及卸载方法 | |
CN108920365B (zh) | 一种基于docker的WebUI自动化测试方法 | |
CN107220100A (zh) | 一种开发运维方法、装置及云计算PaaS平台 | |
RU2010150809A (ru) | Синхронизация жизненных циклов виртуальной машины и приложения | |
EP3149605A1 (en) | Installation of a software agent via an existing template agent | |
US20150120818A1 (en) | Multi-tenant saas platform and method for automated deployment of connector application, and tenant and service provider using virtual machine | |
EP1963964A2 (en) | Automated software testing framework | |
CN112667362B (zh) | Kubernetes上部署Kubernetes虚拟机集群的方法与系统 | |
CN103793242B (zh) | 一种基于虚拟计算环境的信息系统快速部署方法 | |
CN108616384B (zh) | 一种集中式的服务管理部署工具及方法 | |
CN111198695A (zh) | 微服务治理管理平台的自动化部署方法和电子设备 | |
WO2017041499A1 (zh) | 一种软件升级方法、系统和计算机可读存储介质 | |
CN105117268A (zh) | 一种实现linux系统自动安装的安装方法及系统 | |
US10146674B2 (en) | Plugin-based software verification system | |
CN111324599B (zh) | 一种区块链实验系统及管理方法 | |
US9141400B2 (en) | Technique for deploying operating systems in a virtualized environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181106 |
|
RJ01 | Rejection of invention patent application after publication |