多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

Docker+Selenium Grid构建分布式Web测试环境-自动化测试

更新时间:2022-04-19 09:09:13 作者:多测师 浏览:83

  一、简介

  当前容器技术不断发展,越来越多的应用部署到容器上,改变了软件部署的方式。因此我们考虑利用Docker容器技术并且结合Selenium Grid来搭建一套Web分布式测试集群。

  二、准备工作

  Docker环境

  首先需要在本机安装Docker环境,这里就不具体介绍如何在不同系统安装Docker了。安装好Docker以后,输入docker version查看docker的版本信息验证是否安装成功。

  Selenium相关镜像

  selenium/hub

  wywincl/node-firefox-debug

  从docker hub上拉取最新的镜像

  docker pull selenium/hub

  docker pull wywincl/node-firefox-debug

Docker+Selenium Grid构建分布式Web测试环境-自动化测试

  三、启动容器

  第一步,启动selenium-hub

  docker run -d -p 4444:4444 --name selenium-hub selenium/hub

  第二步,启动node-firefox-debug,注册到hub节点上

  docker run -d -P -p 5901:5900 --link selenium-hub:hub wywincl/node-firefox-debug

  四、测试

  执行docker ps命令,查看容器是否正常启动;

docker ps

CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                     NAMES

39693a681c29        wywincl/node-firefox-debug   "/opt/bin/entry_point"   24 minutes ago      Up 24 minutes       0.0.0.0:5901->5900/tcp    elegant_dijkstra

da8c2598666f        selenium/hub                 "/opt/bin/entry_point"   9 days ago          Up 51 minutes       0.0.0.0:32768->4444/tcp   selenium-hub

  运行一个基本的测试用例demo.robot,如下所示, 我们的用例是用Robot Framework编写的,具体编写方法请参考Robot Framework测试框架

*** Setting ***

Library    Selenium2Library

*** Variables ***

${HOST}    https://www.baidu.com

*** Test Cases ***

T_Case_1

Log    Open Browser

Open Browser    ${HOST}    firefox    remote_url=http://0.0.0.0:32768/wd/hub

Input Text    id=kw    Robot Framework

Click Button    id=su

Capture Page Screenshot

Sleep    5s

Close Browser

*** Keywords ***

  执行测试用例

  robot demo.robot

  我们可以通过vncviewer连接到我们的node-firefox-debug实例来查看实际运行效果。

  上面的Case,我们用了截图关键字Capture Page Screenshot, 因此我们看到在容器中的firefox的截图页面。方便调试。

  点击预览视频,查看实际演示效果。

  通过hub-console查看节点注册情况

  到此,我们就完成了在Docker中构建Firefox执行实例了。后面我们会重点介绍如何利用docker-compose,docker-swarm来构建分布式Web测试集群。同时利用jenkins实现持续集成,达到Devops最佳实践。

  以上内容为大家介绍了自动化测试中的Docker+Selenium Grid构建分布式Web测试环境,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部