基于docker搭建selenium分布式环境
1、下载镜像
docker pull selenium/hub
docker pull selenium/node-firefox
docker pull selenium/node-chrome
注意:selenium/node-firefox和selenium/node-chrome都是无界面的。
要想能看到实时运行界面,需要使用以下两个镜像之一。
docker pull selenium/standalone-chrome-debug
docker pull selenium/standalone-firefox-debug
2、启动Hub节点的Docker
docker run -p 4444:4444 -d --name hub selenium/hub
参数说明:
- run:运行一个镜像,创建出一个容器。
- -p 4444:4444 :映射容器里端口。
- -d: 后台运行
- --name:容器名称,这里我就直接把这个容器成为hub
3、启动Node节点的Docker
docker run -P -d --link hub:hub --name firefox selenium/node-firefox
docker run -P -d --link hub:hub --name chrome selenium/node-chrome
或带Debug界面的Node节点
docker run -d -p 5900:5900 --link hub:hub selenium/node-chrome-debug
参数说明:
--link 是链接别名为hub的容器。
4、安装配置VNC
VNC (Virtual Network Console)是虚拟网络控制台的缩写。是一款优秀的远程控制工具软件,在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用。
下载地址:https://www.realvnc.com/en/connect/download/viewer/
5、测试代码
使用Selenium Grid服务需要使用webdriver.Remote方法连接服务,并传入desired_capbilities 期望的能力。示例脚本如下。
from time import sleep from selenium import webdriver driver = webdriver.Remote( command_executor='http://192.168.99.100:4444/wd/hub', desired_capabilities={'browserName': 'chrome'} ) driver.get('https://www.baidu.com') print("start run") sleep(1) print(driver.title) driver.quit() print("end...")
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
详解使用docker搭建hadoop分布式集群
使用Docker搭建部署Hadoop分布式集群 在网上找了很长时间都没有找到使用docker搭建hadoop分布式集群的文档,没办法,只能自己写一个了. 一:环境准备: 1:首先要有一个Centos7操作系统,可以在虚拟机中安装. 2:在centos7中安装docker,docker的版本为1.8.2 安装步骤如下: <1>安装制定版本的docker yum install -y docker-1.8.2-10.el7.centos <2>安装的时候可能会报错,需要删除这个依赖 r
-
用docker搭建selenium grid分布式环境实践之路
最近需要测试zoom视频会议,同时模拟100个人加入会议.经过了解,zoom提供了直接通过url链接加入会议的方式(只能通过chrome浏览器或者FireFox浏览器,因为用的协议是webrtc). 顺着这个思路考虑可以通过Selenium自动化,同时启动多个浏览器进程,每个进程代表一个视频会议用户,达到模拟多方会议的效果.不过有以下两个难点: 需要多个chrome浏览器进程同时存活,在电脑上启动一个chrome浏览器进程差不多要消耗220M左右. 视频会议的音频和视频源的问题. 针对视频会议的
-
基于Docker的Etcd分布式部署的方法步骤
一 环境准备 1.1 基础环境 ntp配置:略 #建议配置ntp服务,保证时间一致性 etcd版本:v3.3.9 防火墙及SELinux:关闭防火墙和SELinux 名称 地址 主机名 备注 etcd1 172.24.8.71 etcd1.example.com 用于保存相关IP信息 docker01 172.24.8.72 docker01.example.com docker02 172.24.8.73 docker02.example.com # hostnamectl set-h
-
Docker实现分布式应用功能教程
本文详细讲述了Docker实现分布式应用功能.分享给大家供大家参考,具体如下: 这里接着前面一篇<Docker简单安装与应用入门教程>后面扩展应用程序.实现负载平衡,要做到这一点,必须在分布式应用程序的层次结构中的服务层实现. 在分布式应用程序中,应用程序的不同部分被称为"服务".例如,一个视频共享站点,它可能包括一个用于将应用程序数据存储在数据库中的服务.后面的视频转码服务.用户上传东西.为前端服务等等. 服务实际上只是"生产中的容器",服务只运行一个
-
docker利用selenium+testng实现web自动化的方法
前言 经历了漫长的各种资料,终于把selenium+testng参数化的问题搞定了!可能网上能找到一些,但是这些都是自己的经历.本文主要介绍了关于docker利用selenium+testng实现web自动化的相关内容,下面话不多说了,来一起看看详细的介绍吧 Windows下selenium+testng的web自动化环境搭建 做过自动化的人,肯定对selenium web环境的搭建非常熟悉了,特别是selenium在java中的使用. 先搭建好安装好JDK,配置好java开发环境(这个如果还是
-
简述Docker 安装influxDB分布式时间序列数据库及相关操作
influxDB简介 influxDB是一个分布式时间序列数据库.cAdvisor仅仅显示实时信息,但是不存储监视数据.因此,我们需要提供时序数据库用于存储cAdvisor组件所提供的监控信息, 以便显示除实时信息之外的时序数据. influxDB安装 拉取镜像 docker pull tutum/influxdb 启动容器 #18083=>8083 WEB端口 8086=>8086 数据端口 docker run --name is_influx_db -p 18083:8083 -p 80
-
详解基于docker 如何部署surging分布式微服务引擎
1.前言 转眼间surging 开源已经有1年了,经过1年的打磨,surging已从最初在window 部署的分布式微服务框架,到现在的可以在docker部署利用rancher 进行服务编排的分布式微服务引擎,再把业务进行剥离, 通过配置路径就能驱动加载业务模块,这样的细粒度设计,能更加灵活从业务中针对于对象加以细分,能更加灵活的拆分聚合服务.而这篇文章我们来谈谈基于docker 如何部署 surging源码下载 2.概述 容器,就是用来存放镜像的器皿,而镜像是构建成的一个轻量的.独立的.可执行
-
使用Docker Swarm搭建分布式爬虫集群的方法示例
在爬虫开发过程中,你肯定遇到过需要把爬虫部署在多个服务器上面的情况.此时你是怎么操作的呢?逐一SSH登录每个服务器,使用git拉下代码,然后运行?代码修改了,于是又要一个服务器一个服务器登录上去依次更新? 有时候爬虫只需要在一个服务器上面运行,有时候需要在200个服务器上面运行.你是怎么快速切换的呢?一个服务器一个服务器登录上去开关?或者聪明一点,在Redis里面设置一个可以修改的标记,只有标记对应的服务器上面的爬虫运行? A爬虫已经在所有服务器上面部署了,现在又做了一个B爬虫,你是不是又得依次
-
基于docker搭建selenium分布式环境
1.下载镜像 docker pull selenium/hub docker pull selenium/node-firefox docker pull selenium/node-chrome 注意:selenium/node-firefox和selenium/node-chrome都是无界面的. 要想能看到实时运行界面,需要使用以下两个镜像之一. docker pull selenium/standalone-chrome-debug docker pull selenium/standa
-
详解基于docker搭建lanproxy内网穿透服务
文档更新说明 2018年04月06日 v1.0 内网穿透相信是后端开发者经常遇到的需求,可是怎么实现呢?其实有现成的服务:花生壳.ngrok等,但是,最近花生壳宣布,免费版的内网穿透将不支持80端口映射了,而免费版的ngrok也不够稳定,于是乎,我就开始需找新的解决方案了 本文使用了docker.nginx,要全部搞懂的话需要一定的后端基础(当然,基本上入个门就可以了),个人认为还是有一定阅读门槛的,但是你如果只是想把服务搭建起来,按照步骤来做是不难的 1.概述 内网穿透其实就是用服务器做一个中
-
基于docker 搭建Prometheus+Grafana的过程详解
一.介绍Prometheus Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的.随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活跃,他们便将它独立成开源项目,并且有公司来运作.Google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus.现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控. Prometheus基本原理是通过HTT
-
基于Docker搭建ELK 日志系统的方法
背景需求: 业务发展越来越庞大,服务器越来越多 各种访问日志.应用日志.错误日志量越来越多,导致运维人员无法很好的去管理日志 开发人员排查问题,需要到服务器上查日志,不方便 运营人员需要一些数据,需要我们运维到服务器上分析日志. ELK介绍: ELK是三个开源软件的缩写,分别为:Elasticsearch . Logstash以及Kibana , 它们都是开源软件. 目前由于原本的ELK Stack成员中加入了 Beats 工具所以已改名为Elastic Stack. Beats,它是一个轻量级
-
基于Docker搭建iServer集群
目录 前言 一.安装Docker 二.下载 iServer 镜像 三.启动iServer 四.发布服务 五.搭建集群 前言 Linux容器虚拟技术(LXC,Linux Container)是一种轻量级的虚拟化手段,它利用内核虚拟化技术提供轻量级的虚拟化,来隔离进程和资源.Docker扩展了LXC,提供了更高级别的API,并简化了应用的打包和部署,为终端用户创建彼此独立的私有环境,可有效节约开发者和系统管理员的环境部署时间. 一.安装Docker 参考博客 https://www.runoob.c
-
使用 Docker 搭建 Laravel 本地环境的教程详解
Laravel 官方提供 Homestead 和 Valet 作为本地开发环境,Homestead 是一个官方预封装的 Vagrant Box,也就是一个虚拟机,但是跟 docker 比,它占用体积太大,启动速度慢,同时响应速度很慢,现在有了 docker 这种更好的方式,可以轻松方便的搭建整套 PHP 开发环境. 本文就介绍如何使用 docker 搭建 Laravel 本地环境. 安装 docker 首先安装 docker. 克隆 laradock laradock 官方文档: http://
-
Docker 搭建 Tomcat 运行环境的方法
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口. 1 Docker与虚拟机 2 搭建过程 2.1 准备宿主系统 准备一个 CentOS 7操作系统,具体要求如下: 必须是 64 位操作系统 建议内核在 3.8 以上 通过以下命令查看您的 CentOS 内核: # uname -r 2.2 安装Docker # yum install d
-
基于docker搭建nginx文件服务器的方法步骤
1.在本机新建配置文件docker_nginx.conf server { listen 7070; server_name localhost; charset utf-8; location /files { #在docker内nginx的目录 alias /home/files; expires 1d; allow all; autoindex on; } 2.启动命令 docker run --name nginx -d -p 7070:7070 -v D:\dev\nginx-1.13
随机推荐
- AngularJS实现表单验证
- VBS教程:字符集 (0 - 127)
- MongoDB远程访问配置步骤详解
- 实例详解JSON取值(key是中文或者数字)方式
- 跨任意语言实现同步登录的方法
- IOS多线程编程的3种实现方法
- Ajax+asp.net智能匹配检索(含图含完整代码)
- ASP.NET 数据访问类
- Android控件之Spinner用法实例分析
- Android系统默认对话框添加图片功能
- C#中的匿名方法实例解析
- 详解C语言结构体中的函数指针
- 基于Bootstrap的Metronic框架实现页面链接收藏夹功能
- 最佳6款用于移动网站开发的jQuery 图片滑块插件小结
- PHP 接入支付宝即时到账功能
- Javascript 世界时区时间显示代码
- jQuery实现可拖动的浮动层完整代码
- js中删除数组中的某一元素实例(无下标时)
- Java集合之HashMap用法详解
- 跟后台打印程序系统服务通讯时出现错误的解决方法