Docker+Selenium Grid搭建自动化测试平台

安装docker
yum install -y yum-utils
device-mapper-persistent-data
lvm2
yum-config-manager
–add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce -y
Create a Docker Network
docker network create grid
下载镜像
hub
docker pull selenium/hub:latest
chrome
selenium/node-chrome:latest
运行镜像
docker run -d -p 4442-4444:4442-4444 --net grid --restart: always --name selenium-hub selenium/hub:latest
docker run -d -p 5900:5900 --net grid -e SE_EVENT_BUS_HOST=selenium-hub
–restart: always
–shm-size=“2g”
-e SE_EVENT_BUS_PUBLISH_PORT=4442
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443
-e SE_NODE_SCREEN_WIDTH=1280
-e SE_NODE_SCREEN_HEIGHT=800
-e SE_NODE_MAX_SESSIONS=5
selenium/node-chrome:latest
VNC登录:
在这里插入图片描述
Vnc Server:IP:5900
password:secret
在这里插入图片描述
在这里插入图片描述

test

import time
from selenium.webdriver.chrome.options import Options
from selenium import webdriver

# 定义远程浏览器的地址
remote_url = "http://10.1.2.218:4444"

# 定义浏览器配置
chrome_options = Options()

# 添加所需的浏览器选项
#chrome_options.add_argument('--headless')  # 设置无头模式
chrome_options.add_argument('--disable-gpu')  # 禁用 GPU 加速

# 创建远程浏览器实例
driver = webdriver.Remote(command_executor=remote_url, options=chrome_options)

# 将浏览器窗口最大化
driver.maximize_window()

# 打开指定的网页
driver.get("https://www.baidu.com")
time.sleep(2)
driver.save_screenshot('screenshot1.png')
print("截图完成")

# 关闭浏览器
driver.quit()

docker-compose.yml文件:

version: '3'
services:
  selenium-hub:
    image: selenium/hub:latest
    ports:
      - 4442-4444:4442-4444
    networks:
      - grid
    restart: always

  selenium-node-chrome:
    image: selenium/node-chrome:latest
    environment:
      - SE_EVENT_BUS_HOST=selenium-hub
      - SE_EVENT_BUS_PUBLISH_PORT=4442
      - SE_EVENT_BUS_SUBSCRIBE_PORT=4443
      - SE_NODE_SCREEN_WIDTH=1280
      - SE_NODE_SCREEN_HEIGHT=800
      - SE_NODE_MAX_SESSIONS=5
    shm_size: 2g
    ports:
      - 5900:5900
    networks:
      - grid
    restart: always

networks:
  grid:

在这里插入图片描述

说明:
这个Docker Compose文件定义了两个服务:selenium-hub和selenium-node-chrome。selenium-hub服务使用selenium/hub:latest镜像,并将端口4442-4444映射到主机的相同端口。selenium-node-chrome服务使用selenium/node-chrome:latest镜像,并设置了事件总线主机、事件发布和订阅端口、屏幕宽度和高度以及最大会话数等环境变量。它还将共享内存大小设置为2GB(shm_size: 2g)。
这两个服务都连接到grid网络,以允许容器之间的通信。
在与docker-compose.yml文件相同的目录中运行docker-compose up -d,容器将在后台启动,您将拥有一个具有指定配置的Selenium Grid环境。
注意:在使用此YAML文件之前,请确保已在系统上安装了Docker Compose。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/77798.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

YOLO v5、v7、v8 模型优化

YOLO v5、v7、v8 模型优化 魔改YOLOyaml 文件解读模型选择在线做数据标注 YOLO算法改进YOLOv5更换骨干网络之 SwinTransformer更换骨干网络之 EfficientNet优化上采样方式:轻量化算子CARAFE 替换 传统(最近邻 / 双线性 / 双立方 / 三线性 / 转置卷积&…

数据结构单链表

单链表 1 链表的概念及结构 概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链 接次序实现的 。 在我们开始讲链表之前,我们是写了顺序表,顺序表就是类似一个数组的东西&#xff0…

使用Python批量将Word文件转为PDF文件

说明:在使用Minio服务器时,无法对word文件预览,如果有需要的话,可以将word文件转为pdf文件,再存储到Minio中,本文介绍如果批量将word文件,转为pdf格式的文件; 安装库 首先&#xff…

地址解析协议-ARP

ARP协议 无论网络层使用何种协议,在实际网络的链路上传输数据帧时,最终必须使用硬件地址 地址解析协议(Address Resolution Protocol,ARP):完成IP地址到MAC地址的映射,每个主机都有一个ARP高速缓…

图片转换成pdf格式?这几种转换格式方法了解一下

图片转换成pdf格式?将图片转换成PDF格式的好处有很多。首先,PDF格式具有通用性,可以在几乎任何设备上查看。其次,PDF格式可以更好地保护文件,防止被篡改或者复制。此外,PDF格式还可以更好地压缩文件大小&am…

Python Web框架:Django、Flask和FastAPI巅峰对决

今天,我们将深入探讨Python Web框架的三巨头:Django、Flask和FastAPI。无论你是Python小白还是老司机,本文都会为你解惑,带你领略这三者的魅力。废话不多说,让我们开始这场终极对比! Django:百…

泰迪大数据挖掘建模平台功能特色介绍

大数据挖掘建模平台面相高校、企业级别用户快速进行数据处理的建模工具。 大数据挖掘建模平台介绍 平台底层算法基于R语言、Python、Spark等引擎,使用JAVA语言开发,采用 B/S 结构,用户无需下载客户端,可直接通过浏览器进行…

docker 容器满了常用处理方法

docker 容器满了常用处理方法 1、运行 df -h 查看剩余磁盘占用情况 2、进入到docker目录 cd /var/lib/docker 3、运行du -h --max-depth1 (检索文件的最大深度1,即只检索汇总计算当前目录下的文件) 4、进入占用最大的 /containers文件夹&am…

spring入门基本介绍及注入方式---详细介绍

一,spring的简介 Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。 提供了许多功能强大且易于使用的特性,使得开发者能够更加轻松地构建可维护且可扩展的应用程序,简单来说: Spring使用基…

Ant Design Vue 下拉框输入框 可以输入 可以查询

Ant Design Vue 下拉框 可以输入 可以查询 直接上代码 效果图 &#xff08;输入内容查询后端 返回下拉的值 &#xff0c;如何查询后端是空的直接 把输入的内容 赋值给 输入框&#xff09; 在这里插入图片描述 <template><div><a-selectv-model.lazy"i…

【论文阅读】基于深度学习的时序预测——Autoformer

系列文章链接 论文一&#xff1a;2020 Informer&#xff1a;长时序数据预测 论文二&#xff1a;2021 Autoformer&#xff1a;长序列数据预测 论文三&#xff1a;2022 FEDformer&#xff1a;长序列数据预测 论文四&#xff1a;2022 Non-Stationary Transformers&#xff1a;非平…

SwiftUI 动画进阶:实现行星绕圆周轨道运动

0. 概览 SwiftUI 动画对于优秀 App 可以说是布帛菽粟。利用美妙的动画我们不仅可以活跃界面元素,更可以单独打造出一整套生动有机的世界,激活无限可能。 如上图所示,我们用动画粗略实现了一个小太阳系:8大行星围绕太阳旋转,而卫星们围绕各个行星旋转。 在本篇博文中,您将…

力扣 213. 打家劫舍 II

题目来源&#xff1a;https://leetcode.cn/problems/house-robber-ii/description/ C题解&#xff08;来源代码随想录&#xff09;&#xff1a; 对于一个数组&#xff0c;成环的话主要有如下三种情况&#xff1a;&#xff08;1&#xff09;考虑不包含首尾元素&#xff1b;&…

一生一芯4——使用星火应用商店在ubuntu下载QQ、微信、百度网盘

星火应用商店可以非常方便的完成一些应用的下载&#xff0c;下面是官方网址 http://spark-app.store/download 我使用的是intel处理器&#xff0c;无需下载依赖项&#xff0c;直接点击软件本体 我这里下载amd64,根据自己的处理器下载对应版本 sudo apt install ./spark-stor…

性能分析之MySQL慢查询日志分析(慢查询日志)

一、背景 MySQL的慢查询日志是MySQL提供的一种日志记录,他用来记录在MySQL中响应的时间超过阈值的语句,具体指运行时间超过long_query_time(默认是10秒)值的SQL,会被记录到慢查询日志中。 慢查询日志一般用于性能分析时开启,收集慢SQL然后通过explain进行全面分析,一…

Wordcloud | 风中有朵雨做的‘词云‘哦!~

1写在前面 今天可算把key搞好了&#xff0c;不得不说&#x1f3e5;里手握生杀大权的人&#xff0c;都在自己的能力范围内尽可能的难为你。&#x1f602; 我等小大夫也是很无奈&#xff0c;毕竟奔波霸、霸波奔是要去抓唐僧的。 &#x1f910; 好吧&#xff0c;今天是词云&#x…

Mathematica 与 Matlab 常见复杂指令集汇编

Mathematica 常见指令汇编 Mathematica 常见指令 NDSolve 求解结果的保存 sol NDSolve[{y[x] x^2, y[0] 0, g[x] -y[x]^2, g[0] 1}, {y, g}, {x, 0, 1}]; numericSoly sol[[1, 1, 2]]; numericSolg sol[[1, 2, 2]]; data Table[{x, numericSoly[x], numericSolg[x]},…

PG常用SQL

数据库 创建数据库 PostgreSQL 创建数据库可以用以下三种方式&#xff1a; 1、使用 CREATE DATABASE SQL 语句来创建。2、使用 createdb 命令来创建。3、使用 pgAdmin 工具。 CREATE DATABASE 创建数据库 CREATE DATABASE 命令需要在 PostgreSQL 命令窗口来执行&#xff0…

【会议征稿信息】第二届信息学,网络与计算技术国际学术会议(ICINC2023)

2023年第二届信息学&#xff0c;网络与计算技术国际学术会议(ICINC2023) 2023 2nd International Conference on Informatics,Networking and Computing (ICINC 2023) 2023年第二届信息学&#xff0c;网络与计算技术国际学术会议(ICINC2023)将于2023年10月27-29日于中国武汉召…

【第二阶段】kotlin的函数类型作为返回类型

fun main() {//调用,返回的是一个匿名类型&#xff0c;所以info就是一个匿名函数val infoshow("",0)//info接受的返回值为匿名类型&#xff0c;此时info就是一个匿名函数println(info("kotlin",20)) }//返回类型为一个匿名函数的返回类型fun show(name:Str…