python selenium grid_使用docker搭建selenium grid 分布式环境|python基础教程|python入门|python教程...

2023-05-16

本文章只做docker搭建selenium grid 分布式环境步骤说明,对于selenium grid中的参数、流程、原理等不做说明。selenium grid的详细情况可查看官方文档https://wizardforcel.gitbooks.io/selenium-doc/official-site/selenium-grid.html

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

使用docker 可以自动执行自动化测试用例和持续集成、发布。

1、安装docker

windows安装使用阿里云的镜像来下载docker toolbox,下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

下载后安装默认安装即可。

安装完成后会出现Oracle VM Virtualbox、Docker QuickStart she和Kitematic三个文件。

Kitematic :这是 Docker 的 GUI 版本。

Docker QuickStart shell :这是一个已经配置好Docker的命令行环境。

Oracle VM Virtualbox:虚拟机。

2、获取docker镜像

打开 Docker QuickStart shell,可以看到启动后docker使用的Ip:192.168.99.100

获取docker-selenium镜像,在github上有现成的镜像: https://github.com/SeleniumHQ/docker-selenium 。

例如获取 selenium/hub 、 selenium/node-chrome、 selenium/node-chrome-debug 三个镜像。其中selenium/node-chrome-debug启动后会启动一个VNC Server,在脚本执行过程中,本地可以连上VNC Server,通过界面查看服务器的脚本执行情况。使用命令:

$ docker pull selenium/hub

$ docker pull selenium/node-chrome

$ docker pull selenium/node-chrome-debug

获取 selenium/hub 镜像:

获取 selenium/node-chrome 镜像:

获取 selenium/node-chrome-debug 镜像:

3、运行docker镜像

1、启动hub

$ docker run -d -p 4444:4444 -e GRID_MAX_SESSION=100 --name hub selenium/hub

参数说明:

run:运行一个镜像,创建出一个容器。

-p 5555:4444 :映射容器里端口。

-d: 后台运行

--name:容器名称,这里我就直接把这个容器成为hub

2、启动node

在hub节点中注册node节点

$ docker run -d -p 5555:5555 -e NODE_MAX_INSTANCES=5 -e NODE_MAX_SESSION=5 --shm-size=2g --link hub:hub --name node1 selenium/node-chrome

--link 是链接别名为hub的容器

3、启动chrome-debug

开启debug模式

$ docker run -d -p 5900:5900 --link hub:hub selenium/node-chrome-debug

4、查看运行的容器

使用命令:docker ps -a

5、访问hub节点查看配置

ip为自己的docker的ip,也就是hub节点所在的服务器ip

http://192.168.99.100:4444/grid/console

4、安装VNC Viewer

VNC (Virtual Network Console)是虚拟网络控制台的缩写。是一款优秀的远程控制工具软件,在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用。

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

打开后输入访问的机器IP,会要求输入密码,默认密码为 secret

5、脚本运行

编写python自动化脚本

from time importsleepfrom selenium importwebdriver

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")

driver.find_element_by_id("kw").send_keys("docker selenium")

driver.find_element_by_id("su").click()

sleep(1)

driver.quit()print("end...")

运行脚本,运行后在VNC Viewer中可以观看到执行过程

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python selenium grid_使用docker搭建selenium grid 分布式环境|python基础教程|python入门|python教程... 的相关文章

  • openMP使用

    openMP使用 项目需要对程序的运行进行加速 xff0c 在不考虑更换硬件的前提下 xff0c 考虑采用多线程对代码进行优化 xff0c 以下记录学习过程 处理器采用大疆秒算2 C xff0c CMakeList配置参考这篇博客 xff1
  • VSCode git工具

    之前都是老老实实用命令行敲命令 xff0c 其实VSCode自带得git工具已经非常方便 命令行提交代码 首先先介绍之前在命令行 ubuntu终端 xff0c windows git bash here 操作 xff1a 工程路径下 xff
  • vscode给docker内部的的ros工程代码打断点

    背景 打断点debug虽然不能直观看到变量在时间轴上的整体变化曲线 xff0c 但是其针对某一帧问题数据 xff0c 暂停后一步步单步执行监视每个变量的变化 xff0c 方便直观的判断每一步逻辑的正确性 xff0c 即使这个变量结构再复杂也
  • js中onclick()获取当前点击对象的属性值

    HTML span class token operator lt span a type span class token operator 61 span span class token single quoted string st
  • layui上传文件loading加载动画

    jquery layui 开始请求打开layui加载动画 所有请求结束后关闭layui加载动画 ajaxSetup 方法为将来的 AJAX 请求设置默认值 ajax请求中有一个beforeSend方法 xff0c 用于在向服务器发送请求前执
  • 微信小程序事件bindtap实现页面跳转

    index wxml通过bindtap 61 34 getUrl 34 设置一个名为getUrl事件 lt view class 61 34 tab con 34 gt lt view class 61 34 newsinfo 34 bin
  • 程序员找工作的个人经验教训以及注意事项

    点击上方 程序人生 xff0c 选择 置顶公众号 第一时间关注程序猿 xff08 媛 xff09 身边的故事 忽然间想到如果要找工作的话 xff0c 需要注意一些什么问题 没毕业的 xff0c 刚刚毕业的 xff0c 刚刚工作的都可以借鉴一
  • JavaScript逻辑运算与或非

    逻辑运算 amp amp 与 或 非 javascript中的逻辑运算两边的操作数 xff0c 可以是任意类型的任意值 默认布尔值 xff1a 当参与逻辑运算或判断语句中时 xff0c 任意类型的任意值都有一个默认的布尔型的值 与运算 xf
  • PHP面试题

    PHP知识 php反转字符串的三种方法 1 把分割字符串到一个数组中 xff0c 然后遍历拼接 xff1a lt php function joinStrrev str if strlen str lt 61 1 return str ne
  • tp6实现商城后台登录功能

    后台登录逻辑 1 没有登录状态 xff0c 访问后台页面都应该跳转到登录页 已经登录状态 xff1a 1 访问登录页面 xff0c 应该跳转到后台首页 解决方案 xff1a 后台登录拦截 xff1a 1 传统common base php控
  • Jenkins环境部署

    简介 Jenkins是一款开源 CI amp CD 软件 xff0c 用于自动化各种任务 xff0c 包括构建 测试和部署软件 Jenkins 支持各种运行方式 xff0c 可通过系统包 Docker 或者通过一个独立的 Java 程序 J
  • Nginx中Return指令使用

    Return指令使用 1 返回状态码 return 404 location test set name 39 user123 39 return 404 name curl i http 192 168 56 10 test 2 返回字符
  • MySQL触发器

    介绍 触发器是与表有关的数据库对象 xff0c 指在 insert update delete 之前或之后 xff0c 触发并执行触发器中定义的SQL语句集合 触发器的这种特性可以协助应用在数据库端确保数据的完整性 日志记录 数据校验等操作
  • 制作composer包提供sdk扩展

    目录 1 初始化包 2 将代码推送到github远程仓库 3 为写好扩展包打上tag标签标记当前代码版本 4 将包发布到包管理平台 初始化包 xff0c 生成 Creates a basic composer json file in cu
  • Go环境搭建与IDE开发工具配置

    安装Go语言编译器 Go语言编译器 61 编译器 61 将源代码编译为可执行程序 61 源代码 61 程序员使用高级语言所书写的代码文件 61 高级语言 61 c c 43 43 go 61 机器语言 61 0和1构成 xff0c 机器能直
  • 计算机中的速率、带宽、时延、利用率解读

    计算机网络的性能一般是指它的几个重要的性能指标 但除了这些重要的性能指标外 xff0c 还有一些非性能特征 xff08 nonperformance characteristics xff09 也对计算机网络的性能有很大的影响 那么 xff
  • 无人机原理

    文章目录 1基本运动2为何无人机螺旋桨多为偶数3机器人的运动控制4加速度计5陀螺仪6姿态角解算欧拉角的平面换算 1基本运动 为了平衡扭矩 xff0c 上图中1 3逆时针转动 xff0c 电机2 4顺时针转动进行反扭矩对消 上升 F1 61
  • 新浪微博PC端模拟登陆

    点击上方 程序人生 xff0c 选择 置顶公众号 第一时间关注程序猿 xff08 媛 xff09 身边的故事 图 xff1a Fantastic Beasts and Where to Find Them 投稿 星星在线 简介 一个从妹子图
  • win10下 docker build 报错 “Failed to fetch xxxxxxxx Temporary failure resolving 'archive.ubuntu.com'”

    错误信息 在docker中搭建禅道的时候执行docker build t zentao 命令后执行到apt get update amp amp apt get install指令的时候报错 xff0c 错误如下 xff1a W Faile
  • docker-ros-gui

    主机环境 系统 Ubuntu 16 04 1 安装docker 1 1 在线安装 物理机 默认使用当前最新版本 1 更新apt包索引 xff1a sudo apt get update 2 安装以下包以使apt可以通过HTTPS使用存储库

随机推荐