docker+selenium web自动化测试环境的部署
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 dockerpull
baozhida/selenium-hub:3.3.1
dockerpull
baozhida/selenium-node-chrome-debug:58
dockerpull
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自动化测试环境的部署相关推荐
- Windows系统下搭建python selenium Web自动化测试环境
前期准备:python的安装包(自己可以在官网下载自己所需要的版本 https://www.python.org/downloads/windows/) selenium安装包(https://pyp ...
- selenium - web 自动化测试
1.什么是自动化 有效的减少人力的消耗, 同时提高生活的质量. 通过自动化测试有效减少人力的投入, 同时提高了测试的质量和效率. 1.1 为什么需要自动化测试 测试人员有个环节叫做回归测试. 回归测试 ...
- selenium + python自动化测试环境搭建
elenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多有点: 免费,也不用再为破解QTP而大伤脑筋 小巧,对于不同的语言它只是一个包 ...
- Selenium + Nightwatch 自动化测试环境搭建
首先要安装 Java 7 或更高 ,(http://www.oracle.com/technetwork/java/javase/downloads/index.html) 并且 java 命令可正常 ...
- 【重点】Selenium + Nightwatch 自动化测试环境搭建
开始搭建 1. 创建项目 我们来找个地方新建一个目录,起名为 "my-test-toolkit",然后在目录内使用终端运行 npm init -y 生成项目配置文件package. ...
- docker+selenium+node-chrome-debug(node-firefox-debug)完成自动化测试环境的部署
(1)安装docker环境.安装请百度 (2)启动docker service docker start (3) 然后获取selenium相关镜像,本篇部署一个hub,一个chrome node;一个 ...
- python自动化验证部署_Python selenium自动化测试环境安装部署
1. Windows系统下python环境搭建 1.1首先访问http://www.python.org/download/去下载最新的python版本.本人使用的是2.7的python版本 1.2安 ...
- 新手如何使用docker搭建web服务环境
做过开发的人对开发环境的安装.配置应该都不会太陌生,不管你做什么开发,对开发环境都会具有一定的依赖性的.对于 PHP 的 Web 开发来说,开发环境至少要有一个 Web 服务器(如 Apache.Ng ...
- 使用 docker 搭建 web 服务环境
本文目的 做过开发的人对开发环境的安装.配置应该都不会太陌生,不管你做什么开发,对开发环境都会具有一定的依赖性的.对于 PHP 的 Web 开发来说,开发环境至少要有一个 Web 服务器(如 Apac ...
最新文章
- 算法----返回Excel相应的列序号
- Linux mail 命令参数
- python redis 消息队列
- Android开发之如何在debug模式下打出release正式包
- 求整数 在二进制表示中有多少个1的方法
- 如何使用Syncios Data Recovery直接从 iOS 设备恢复数据?
- Discuz 7.0版块横排显示版块图标和版块简介的方法
- 数据链路层LLDP协议
- 搞清楚模数、数模转换中的AGND和DGND
- 小猪短租网requests库使用
- 主成成分分析(Principal Component Analysis)
- Parity Bit 奇偶校验
- 双活数据中心存储问题梳理
- 感冒身体差的不要喝酸奶
- 检查计算机无法更新,Win7提示Windows Update当前无法检查更新,因为未运行服务解决方法...
- 阿里张建锋:互联网主要解决三大问题
- 琼斯是计算体心立方弹性模量_固体物理 课后习题解答(黄昆版)第二章
- 骞云科技携手上海电力、兴业证券,双案例入选2022年CMP优秀案例
- openCV5-Threshold and Mask
- 如何使用chatGPT
热门文章
- Android Library projetcts cannot be exported.
- ffmpeg-URL(转)
- [leetcode]Median of Two Sorted Arrays @ Python
- CString,string,char数组的转换
- 杀毒软件对Platform Builder编译的影响
- 苹果显示已连接网络连接到服务器异常,苹果确认iphone密码,显示连接服务器出现问题,为什么...
- css a标签去掉下划线_CSS -- 三大特性
- CMMI3组织级文档列表清单
- 让你的PHP4和PHP5共存
- 计算机网络安全顾问啊,【网络安全咨询顾问工作内容|工作职责|网络安全咨询顾问做什么】-看准网...