准备:

#请在此之前务必先了解,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分布式测试环境相关推荐

  1. 基于Docker搭建hdfs分布式实验环境

    理论知识 Docker Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源.Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中, ...

  2. 使用Docker如何搭建Web漏洞测试环境?

    本文和大家分享的是使用Docker搭建Web漏洞测试环境相关知识,希望对大家学习Docker有所帮助,一起来看看吧. 由于一直在做 Web 漏洞扫描器的开发, 那么就必然少不了 Web 的漏洞测试环境 ...

  3. 压力测试工具Apache JMeter:11:搭建容器化分布式测试环境

    Apache JMeter是一个纯Java开发的用于负载测试或者性能测试的开源软件.这篇文章介绍一下建立基于JMeter的一主多从的容器化压测环境. 基于Alpine的JMeter镜像 关于基于Alp ...

  4. 使用Docker搭建大数据Hadoop环境

    使用Docker搭建大数据Hadoop环境 一.安装Docker 原文地址:https://www.imooc.com/article/48676.http://www.runoob.com/dock ...

  5. 使用 kind 快速搭建一个 Kubernetes 测试环境

    使用 kind 快速搭建一个 Kubernetes 测试环境 Intro kind(Kubernetes IN Docker) 是一个基于 docker 构建 Kubernetes 集群的工具,非常适 ...

  6. 基于docker搭建cephfs分布式文件

    目的 在一台机器上, 利用多块硬盘, 搭建一个cephfs文件系统. 具体来说就是1个mon, 1个mds, 1个mgr, 3个osd 注意 a. 使用vmware会很方便 b. 安装过程中会遇到很多 ...

  7. 基于CectOS7利用docker搭建Vulhub漏洞靶机环境

    基于CectOS7利用docker搭建Vulhub漏洞靶机环境 准备条件 第一步:在CentOS7上安装docker centos安装python3 安装 docker-compose docker- ...

  8. 一键搭建php本地测试环境_如何在PHP中设置本地调试环境

    一键搭建php本地测试环境 Recently I started focusing more on PHP, and I needed to set up a local debugging envi ...

  9. Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress实践

    本文给大家分享的是作者基于Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress的详细过程,非常的全面,有需要的小伙伴可以参考下 Docker基于LXC实现了把软件封装到一个完 ...

最新文章

  1. NGINX + PHP 安装配置
  2. Python-OpenCV 处理图像(一):基本操作
  3. C语言 泛型链表的实现
  4. ASCII可显示字符
  5. 在VS中创建多个项目
  6. 解决The current branch is not configured for pull No value for key branch.master.merge found in config
  7. 七月算法--12月机器学习在线班-第五次课笔记—回归
  8. post多个参数_如何使用Arjun v1.3挖掘HTTP参数
  9. HBase中的MemStore
  10. 1000道Python题库系列分享18(11道选择题)
  11. IT职业发展与诺兰模型
  12. chrome 您即将提交的信息不安全_各地市场监督管理局发布食品安全抽检信息 通报不合格样品批次...
  13. 实现数组头尾两端元素对调代码
  14. css hover变成手_html实现鼠标悬停变成手型实现方式
  15. Crumb -面包屑状的嵌套按钮
  16. 【HTTP API】简单的http签名算法
  17. Android开发中VSS、RSS、PSS、USS的区别
  18. 在Excel工作簿中显示网络图片
  19. 凤舞丹心东方美,中华才女竞风采 ——黛兰娜杯《中华才女大赛》七月汇演
  20. VBS和VBA初步(一)

热门文章

  1. Service生命周期
  2. JavaScript Binding
  3. Java并发编程—JUC的Lock锁
  4. OO第三单元JML总结
  5. Python学习--Selenium模块
  6. Python 38 初识数据库
  7. kbmmw 5.06.00 beta 发布
  8. SQL SERVER 中如何用脚本管理作业
  9. 【LeetCode】36. Valid Sudoku
  10. Spring MVC 学习笔记 json格式的输入和输出