docker+selenium web自动化测试环境的部署

1、使用SecureCRT或Docker Quickstart Terminal打开docker终端。

2、下载selemiunUI测试需要的镜像

命令 docker pull:从docker hub中下载镜像。

首先搜索需要pull的image

命令:docker search selenium

针对docker selenium ,这里需要pull的image分别是:

selenium/hub

selenium/node-chrome-debug

selenium/node-firefox-debug
目前只支持在chrome和firefox中进行测试

下载的命令是docker pull+镜像名称+tag
docker pull baozhida/selenium-hub:3.3.1
docker pull baozhida/selenium-node-chrome-debug:58
docker pull baozhida/selenium-node-firefox-debug:52

官方镜像可能会使打开的网页出现中文乱码,故可采用上述镜像。

说明:默认的tag是latest;dockerhub服务器在海外,所以网速时好时坏,有时还会timeout报错,多试几次一定能成功。

由于国内访问直接访问Docker hub网速比较慢,拉取镜像的时间就会比较长。

针对此问题可以从dockerhub上拉取,这时再使用加速器修改docker的registry-mirrors 。这里使用的是DaoCloud的加速器。
下面介绍如何使用daocloud获取加速器的方法。

首先在http://www.daocloud.io/进行注册登录。

待登录成功后,点击加速器,如图所示:

等一会儿会出现以下界面,选择Windows系统,复制获取到的registry-mirrors配置。

请确认你的 Docker Toolbox 已经启动,并执行下列命令(请将 加速地址替换为在加速器页面获取的专属地址)

docker-machine ssh default
sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profile
exit
docker-machine restart default 

更多环境的加速配置请参考以下帮助文档

http://guide.daocloud.io/dcs/daocloud-9153151.html

3、查看镜像

输入命令docker images查看已经下载的镜像

4、创建并运行容器

创建selenium hub容器
dockerrun -d -p 4444:4444 --name selehub baozhida/selenium-hub:3.3.1

创建chrome node容器

docker run -d -p 5901:5900 --name node58 --linkselehub:hub

--shm-size=512mbaozhida/selenium-node-chrome-debug:58

创建firefox node容器

docker run -d -p 5912:5900 --name ff52 --linkselehub:hub

--shm-size=512m baozhida/selenium-node-firefox-debug:52

说明:

*-d参数:后台模式运行;

--name参数:别名;

-p参数:将容器的5900端口映射到docker的5901端口,访问Docker的5901端口即可访问到node容器;

--shm-size参数:docker默认的共享内存/dev/shm只有64m,有时导致chrome崩溃,该参数增加共享内存大小到512m.*

5、输入命令docker ps -a 查看正在运行的容器,处于up状态

6、在浏览器输入地址http://192.168.99.100:4444/grid/console
查看Selenium Grid控制台,能看到刚创建的容器已经正常注册

7、VNC远程浏览器环境

debug结尾的镜像都带有VNC服务端,本机安装VNC客户端,即可远程连接。

下载地址:https://www.realvnc.com/en/connect/download/vnc/
输入192.168.99.100:5901-->回车-->输入密码:secret-->确认-->进入chrome:58容器桌面

输入192.168.99.100:5901-->回车-->输入密码:secret-->确认-->进入firefox:52容器桌面

8、在本地运行下面的脚本进行测试。

#coding=utf-8
from  selenium import webdriver
firefox_capabilities={"browserName":"firefox","version": "52.0",#注意版本号一定要写对"platform": "ANY","javascriptEnabled": True,"marionette": True,
}
browser=webdriver.Remote("http://192.168.99.100:4444/wd/hub",desired_capabilities=firefox_capabilities)#注意端口号4444是我们上文中映射的宿主机端口号
browser.get("http://www.baidu.com")
browser.get_screenshot_as_file(r"C:/baidu.png")
browser.close()

上述代码的效果是:用firefox52.0打开百度界面,并截图保存在C盘中。

但按照以上操作,代码却报出了如下错误:

解决方法:

先按照(http://blog.csdn.net/liujingqiu/article/details/74857145)文中方法进行相应的修改。

然后使用官方镜像创建selenium hub容器:

关闭原selenium hub容器

docker stop “CONTAINER ID”(对应容器的ID)

删除原selenium hub容器

docker rm “NAMES”(按上述操作,这里的NAME使用selehub)

下载 selenium/hub镜像

docker pull selenium/hub(版本默认为latest)

创建selenium hub容器
docker run -d -p 4444:4444 --nameselehub selenium/hub

再次运行脚本

docker+selenium web自动化测试环境的部署相关推荐

  1. Windows系统下搭建python selenium Web自动化测试环境

    前期准备:python的安装包(自己可以在官网下载自己所需要的版本 https://www.python.org/downloads/windows/) selenium安装包(https://pyp ...

  2. selenium - web 自动化测试

    1.什么是自动化 有效的减少人力的消耗, 同时提高生活的质量. 通过自动化测试有效减少人力的投入, 同时提高了测试的质量和效率. 1.1 为什么需要自动化测试 测试人员有个环节叫做回归测试. 回归测试 ...

  3. selenium + python自动化测试环境搭建

    elenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多有点: 免费,也不用再为破解QTP而大伤脑筋 小巧,对于不同的语言它只是一个包 ...

  4. Selenium + Nightwatch 自动化测试环境搭建

    首先要安装 Java 7 或更高 ,(http://www.oracle.com/technetwork/java/javase/downloads/index.html) 并且 java 命令可正常 ...

  5. 【重点】Selenium + Nightwatch 自动化测试环境搭建

    开始搭建 1. 创建项目 我们来找个地方新建一个目录,起名为 "my-test-toolkit",然后在目录内使用终端运行 npm init -y 生成项目配置文件package. ...

  6. docker+selenium+node-chrome-debug(node-firefox-debug)完成自动化测试环境的部署

    (1)安装docker环境.安装请百度 (2)启动docker service docker start (3) 然后获取selenium相关镜像,本篇部署一个hub,一个chrome node;一个 ...

  7. python自动化验证部署_Python selenium自动化测试环境安装部署

    1. Windows系统下python环境搭建 1.1首先访问http://www.python.org/download/去下载最新的python版本.本人使用的是2.7的python版本 1.2安 ...

  8. 新手如何使用docker搭建web服务环境

    做过开发的人对开发环境的安装.配置应该都不会太陌生,不管你做什么开发,对开发环境都会具有一定的依赖性的.对于 PHP 的 Web 开发来说,开发环境至少要有一个 Web 服务器(如 Apache.Ng ...

  9. 使用 docker 搭建 web 服务环境

    本文目的 做过开发的人对开发环境的安装.配置应该都不会太陌生,不管你做什么开发,对开发环境都会具有一定的依赖性的.对于 PHP 的 Web 开发来说,开发环境至少要有一个 Web 服务器(如 Apac ...

最新文章

  1. 算法----返回Excel相应的列序号
  2. Linux mail 命令参数
  3. python redis 消息队列
  4. Android开发之如何在debug模式下打出release正式包
  5. 求整数 在二进制表示中有多少个1的方法
  6. 如何使用Syncios Data Recovery直接从 iOS 设备恢复数据?
  7. Discuz 7.0版块横排显示版块图标和版块简介的方法
  8. 数据链路层LLDP协议
  9. 搞清楚模数、数模转换中的AGND和DGND
  10. 小猪短租网requests库使用
  11. 主成成分分析(Principal Component Analysis)
  12. Parity Bit 奇偶校验
  13. 双活数据中心存储问题梳理
  14. 感冒身体差的不要喝酸奶
  15. 检查计算机无法更新,Win7提示Windows Update当前无法检查更新,因为未运行服务解决方法...
  16. 阿里张建锋:互联网主要解决三大问题
  17. 琼斯是计算体心立方弹性模量_固体物理 课后习题解答(黄昆版)第二章
  18. 骞云科技携手上海电力、兴业证券,双案例入选2022年CMP优秀案例
  19. openCV5-Threshold and Mask
  20. 如何使用chatGPT

热门文章

  1. Android Library projetcts cannot be exported.
  2. ffmpeg-URL(转)
  3. [leetcode]Median of Two Sorted Arrays @ Python
  4. CString,string,char数组的转换
  5. 杀毒软件对Platform Builder编译的影响
  6. 苹果显示已连接网络连接到服务器异常,苹果确认iphone密码,显示连接服务器出现问题,为什么...
  7. css a标签去掉下划线_CSS -- 三大特性
  8. CMMI3组织级文档列表清单
  9. 让你的PHP4和PHP5共存
  10. 计算机网络安全顾问啊,【网络安全咨询顾问工作内容|工作职责|网络安全咨询顾问做什么】-看准网...