selenium===使用docker搭建selenium分布式测试环境
准备:
#请在此之前务必先了解,selenium grid ;参考:selenium-grid ,下载地址, win-本地部署过程
>>>环境准备: Linux操作系统
>>>给Linux安装Python(linux 默认已经安装)
>>>安装docker参考Ubuntu安装docker步骤,安装完毕后检验,安装是否正确
>>>docker search selenium 命令查看需要安装的selenium包 ;目前只支持Chrome 和 Firefox两种浏览器
>>>下载主 hub 对象: sudo docker pull selenium/hub
>>>下载主node - Chrome 镜像 :sudo docker pull selenium/node-chrome
>>>下载完成后查看镜像:sudo docker images
>>>启动主hub 容器:sudo docker run -d -P --name selenium-hub selenium/hub
- -d 表示容器以守护态(Daemonized)形式运行。
- -P 表示 Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口。
>>> 启动分支node 容器 :sudo docker run -d --link selenium-hub:hub selenium/node-chrome
- --link 通过 link 关联
selenium-hub
容器,并为其设置了别名hub
>>>查看容器:docker ps -a
* Selenium/hub 容器的端口号为 4444
,对Ubuntu映射的端口为 32768
,前面通过 -P
参数自动分配
>>> OK!环境搭建至此结束。使用 http://Linux外网地址:32768/grid/console ; 查看环境
>>> 运行本地的测试脚本;
from selenium import webdriver from time import sleepdriver = webdriver.Remote( command_executor='http://Linux外网地址:32768/wd/hub', desired_capabilities={'browserName': 'chrome'} )driver.get('https://www.baidu.com')driver.find_element_by_id("kw").send_keys("selenium grid") driver.find_element_by_id("su").click() sleep(1) driver.get_screenshot_as_file("result-1.png") driver.quit()
整个执行不过是不可见的,因为他它的运行环境在Linux;要想知道他有没有执行,可以截图验证;
>>>如果执行过程中,发现报 Java 空指针异常的错误,请删除掉安装的容器和镜像文件,重新安装一次selenium/hub 和 selenium/node-chrome ;删除 请参考:停止、删除所有的docker容器和镜像
总结:
- 这是一个 cs架构的分布式测试模式,测试环境使用docker容器,更加稳定
- 本地,只需要写好脚本。服务端的测试 镜像只需要一个 ,使用docker容器创建多个,不需要每个人都在本地搭建测试 环境。测试脚本更具有通用性,执行出错的几率降低
- 分布式的好处是效率更高。比如,一个容器上执行创建企业的用例。另外一个容器上执行创建用户的用例,彼此互不干扰。避免流程性错误的出现
转载于:https://www.cnblogs.com/botoo/p/11044302.html
selenium===使用docker搭建selenium分布式测试环境相关推荐
- 基于Docker搭建hdfs分布式实验环境
理论知识 Docker Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源.Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中, ...
- 使用Docker如何搭建Web漏洞测试环境?
本文和大家分享的是使用Docker搭建Web漏洞测试环境相关知识,希望对大家学习Docker有所帮助,一起来看看吧. 由于一直在做 Web 漏洞扫描器的开发, 那么就必然少不了 Web 的漏洞测试环境 ...
- 压力测试工具Apache JMeter:11:搭建容器化分布式测试环境
Apache JMeter是一个纯Java开发的用于负载测试或者性能测试的开源软件.这篇文章介绍一下建立基于JMeter的一主多从的容器化压测环境. 基于Alpine的JMeter镜像 关于基于Alp ...
- 使用Docker搭建大数据Hadoop环境
使用Docker搭建大数据Hadoop环境 一.安装Docker 原文地址:https://www.imooc.com/article/48676.http://www.runoob.com/dock ...
- 使用 kind 快速搭建一个 Kubernetes 测试环境
使用 kind 快速搭建一个 Kubernetes 测试环境 Intro kind(Kubernetes IN Docker) 是一个基于 docker 构建 Kubernetes 集群的工具,非常适 ...
- 基于docker搭建cephfs分布式文件
目的 在一台机器上, 利用多块硬盘, 搭建一个cephfs文件系统. 具体来说就是1个mon, 1个mds, 1个mgr, 3个osd 注意 a. 使用vmware会很方便 b. 安装过程中会遇到很多 ...
- 基于CectOS7利用docker搭建Vulhub漏洞靶机环境
基于CectOS7利用docker搭建Vulhub漏洞靶机环境 准备条件 第一步:在CentOS7上安装docker centos安装python3 安装 docker-compose docker- ...
- 一键搭建php本地测试环境_如何在PHP中设置本地调试环境
一键搭建php本地测试环境 Recently I started focusing more on PHP, and I needed to set up a local debugging envi ...
- Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress实践
本文给大家分享的是作者基于Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress的详细过程,非常的全面,有需要的小伙伴可以参考下 Docker基于LXC实现了把软件封装到一个完 ...
最新文章
- NGINX + PHP 安装配置
- Python-OpenCV 处理图像(一):基本操作
- C语言 泛型链表的实现
- ASCII可显示字符
- 在VS中创建多个项目
- 解决The current branch is not configured for pull No value for key branch.master.merge found in config
- 七月算法--12月机器学习在线班-第五次课笔记—回归
- post多个参数_如何使用Arjun v1.3挖掘HTTP参数
- HBase中的MemStore
- 1000道Python题库系列分享18(11道选择题)
- IT职业发展与诺兰模型
- chrome 您即将提交的信息不安全_各地市场监督管理局发布食品安全抽检信息 通报不合格样品批次...
- 实现数组头尾两端元素对调代码
- css hover变成手_html实现鼠标悬停变成手型实现方式
- Crumb -面包屑状的嵌套按钮
- 【HTTP API】简单的http签名算法
- Android开发中VSS、RSS、PSS、USS的区别
- 在Excel工作簿中显示网络图片
- 凤舞丹心东方美,中华才女竞风采 ——黛兰娜杯《中华才女大赛》七月汇演
- VBS和VBA初步(一)