(1)安装docker环境。安装请百度

(2)启动docker

service docker start

(3) 然后获取selenium相关镜像,本篇部署一个hub,一个chrome node;一个firefox node;

docker pull selenium/hub

docker pull selenium/node-chrome-debug

docker pull selenium/node-firefox-debug

查看镜像docker images

(4)创建并运行selenium容器

启动容器myhub并映射端口

docker run -d --name myhub -p 5555:4444 selenium/hub

将selenium/node-chrome-debug节点容器与容器myhub之间链接起来(--link是链接别名为hub的容器)

docker run -d --name node -p 5902:5900 --link myhub:hub selenium/node-chrome-debug

创建firefox node容器,将selenium/node-firefox-debug容器与容器myhub之间链接起来(--link是链接别名为hub的容器)

docker run -d --name node1 -p 5901:5900 --link myhub:hub selenium/node-firefox-debug

使用虚拟机ip+映射端口打开http://192.168.222.132:5555/grid/console,这时候selenium grid环境已经部署完成,这就是在docker里部署的好处,用容器的隔离,省去好几台设备部署node,

(5)VNC远程浏览器环境安装

Vnc server下载地址:https://www.realvnc.com/en/connect/download/vnc/

Viewer下载地址:https://www.realvnc.com/en/connect/download/viewer/

Viewer远程链接:debug结尾的镜像都带有VNC服务端,本机安装VNC客户端,即可远程连接(密码是secret)

 

(6)运行代码

运行代码时,提示我没有selenium模块,于是我安装了相关模块

python -m pip install selenium  (python3安装)

再次运行测试代码,代码例子如下

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : ##
# @Time   : 2021/7/25 23:24from selenium import webdriverfirefox_capabilities = {"browserName": "firefox","version": "90.0",  # 注意版本号一定要写对"platform": "LINUX","javascriptEnabled": True,"marionette": True,
}
browser = webdriver.Remote("http://192.168.222.132:5555/wd/hub",desired_capabilities=firefox_capabilities)  # 注意端口号5555是我们上文中映射的宿主机端口号
browser.get("http://www.baidu.com")
browser.find_element_by_id('kw').send_keys('docker')
browser.find_element_by_id('su').click()
browser.get_screenshot_as_file("D:/baidu.png")

firefox_capabilities参数来自于grid/console:

运行代码:

chrome代码和firfox差不多,根据grid/console改一下capabilities参数运行就好:

docker+selenium+node-chrome-debug(node-firefox-debug)完成自动化测试环境的部署相关推荐

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

    docker+selenium web自动化测试环境的部署 1.使用SecureCRT或Docker Quickstart Terminal打开docker终端. 2.下载selemiunUI测试需要 ...

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

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

  3. selenium+phantomjs/chrome/firefox 的操作(八)

    回顾(七) selenium+phantomjs/chrome/firefox 设置无界面模式(chromedriver | firefox) options = webdriver.ChromeOp ...

  4. selenium webdriver 启动三大浏览器Firefox,Chrome,IE

    一.安装Python3 1.进入Python官方网站: https://www.python.org/downloads/  下载并安装最新版本的Python(建议安装Python3)> 下面是 ...

  5. Puppeteer -headless Chrome 的 Node.js API

    Puppeteer 是一个控制 headless Chrome 的 Node.js API .它是一个 Node.js 库,通过 DevTools 协议提供了一个高级的 API 来控制 headles ...

  6. Selenium:Chrome、Edge、Firefox、Opera、Safari常用WebDriver下载安装

    简介:Selenium中运行需要先配置WebDriver,各主流浏览器安装配置大同小异. 关联攻略: Selenium分布式运行:SeleniumGrid Python + Jenkins + Sel ...

  7. Docker selenium自动化 - Python调用容器实例跑自动化查天气实例演示,docker selenium自动化环境部署过程

    Docker selenium自动化 - 环境部署与 Python 自动化运行实战演示 第一章:docker selenium 环境部署 ① 下载 selenium 镜像 ② 容器 selenium ...

  8. linux 内核调试信息在哪里,Linux kernel debug技巧----开启DEBUG选项

    Linux kernel debug技巧----开启DEBUG选项 作者:wowo 发布于:2016-11-1 19:39 分类:Linux应用技巧 kernel的source code中有很多使用p ...

  9. 【Node.js】node入门全攻略

    文章目录 一.初识 Node.js (一)JS 解析引擎 (二)JS 运行环境 (三)Node.js 1.作用 2.命令 二.fs 文件系统模块 (一)fs 模块 (二)方法 1.fs.readFil ...

最新文章

  1. ppcelerator徐旸:新一代移动互联网技术
  2. [剑指offer] 跳台阶
  3. 把阿里jar包安装到本地,供pom引用
  4. Zend Framework 自动加载类的实现方法
  5. linux几种时间函数总结
  6. 【bzoj3280】小R的烦恼 费用流
  7. CF628D Magic Numbers (数据大+数位dp)求[a,b]中,偶数位的数字都是d,其余为数字都不是d,且能被m整除的数的个数...
  8. debian下apr-get isntall 出错提示用apt-get -f install问题
  9. Git教程——如何创建一个版本库(Repository)
  10. 数据结构试卷及答案(五)
  11. 豆丁网word文档下载方法集锦
  12. html图片随圆点下标轮播,基于JavaScript实现轮播图代码
  13. WIN7封装教程2018系列(二)—必要的系统调整
  14. 人脸识别,结构光名词记录
  15. fastboot烧机
  16. 学习大数据开发零基础是不是限制,小白能否快速学会?附上学习路线图
  17. 关于Ransomware备份 哪些是该做和不该做的?
  18. 2023最新彩虹易支付源码免授权2.0版前台模板美化/用户中心美化
  19. 【线代】 线性方程组的解
  20. binlog是什么?能做什么?Window下怎么开启binlog?怎么查看binlog日志?利用binlog日志恢复数据

热门文章

  1. 项目排期工具OmniPlan实用指南
  2. 电大计算机统考大纲,电大计算机专科论文大纲模板范文 电大计算机专科论文提纲怎么写...
  3. new open SQL ABAP语法错误,逗号和转义符变量 when escaped, all host variables must be escaped using@
  4. 序列化和反序列化的概念及应用
  5. 在markdown中控制文字的颜色,背景色,字体大小,字体样式及颜色RGB转换工具链接
  6. 万兆局域网方案_家庭基础万兆网络——最简单的方案
  7. QQ登录接口申请流程(全面)
  8. Python中: unsupported format character ''' (0x27)
  9. 基于mapnik的地图符号编辑器功能介绍
  10. 服务器上的文件夹设置ftp,设置ftp服务器上传文件夹