简介:Selenium Grid是selenium的三大组件之一,它允许Selenium-RC针对规模庞大的测试案例集或者需要在不同环境中运行的测试案例集进行扩展。通过将客户端命令发送到远程浏览器的实例, Selenium Grid 允许在远程计算机 (虚拟或真实) 上执行WebDriver脚本. 它旨在提供一种在多台计算机上并行运行测试的简便方法。Selenium Grid允许我们在多台计算机上并行运行测试, 并集中管理不同的浏览器版本和浏览器配置 (而不是在每个独立的测试中)。

官方文档:

https://www.selenium.dev/zh-cn/

selenium-grid文档:

https://www.selenium.dev/zh-cn/documentation/grid/

selenium-grid优势:

1、为所有的测试提供统一的入口
2、管理和控制运行着浏览器的节点/环境
3、扩展
4、并行测试,减少执行时间
5、跨平台(操作系统)测试
6、负载测试

环境安装准备:

1、控制机和执行机,hub和node节点电脑互相能ping通。
2、执行机node节点需要配置对应浏览器驱动。
3、python:推荐3.7+,如3.8.0,验证Python环境安装结果 python
4、java环境:自行百度,验证Java环境安装结果 java -version
5、selenium-server下载地址

https://github.com/SeleniumHQ/selenium/releases/tag/selenium-3.141.59

启动hub:

java -jar selenium-server-standalone-3.141.59.jar -role hub -port 4444

参数说明:
1、selenium-server-standalone.jar不在当前目录,需要添加路径。
2、-port 4444,hub默认4444端口
3、可以把启动命令写在.bat批处理里,方便执行

附:启动hub的bat的脚本

@echo off:: 进入对应盘符和selenium-server在的路径C:
cd C:\magic\webUI
java -jar selenium-server-standalone-3.141.59.jar -role hub -port 4444
pausenode节点启动:java -jar selenium-server-standalone-3.141.59.jar -role node -port 5555 -hub http://hub_ip:4444/grid/register

节点启动完成后,hub的状态:

检查selenium Hub的状态:

http://localhost:4444/grid/console

源码:

# coding=utf-8
from selenium import webdriver
import oschrome_driver = os.path.abspath(r"C:\software\chromedriver")
os.environ["webdriver.chrome.driver"] = chrome_driver
chrome_capabilities = {"browserName": "chrome",  # 浏览器名称"version": "",  # 操作系统版本"platform": "ANY",  # 平台,这里可以是windows、linux、andriod等等"javascriptEnabled": True,  # 是否启用js"webdriver.chrome.driver": chrome_driver
}
driver = webdriver.Remote("http://node_ip:5555/wd/hub", desired_capabilities=chrome_capabilities)
driver.get("http://www.baidu.com")
print(driver.title)
driver.quit()

控制机代码执行效果:

控制机selenium-grid状态:

node执行机启动浏览器并打开百度:

自此,Selenium分布式运行安装配置完毕。

微信公众号:玩转测试开发
欢迎关注,共同进步,谢谢!

Selenium分布式运行:SeleniumGrid相关推荐

  1. Selenium之运行效果展示

    Selenium之运行效果展示 接下来主要学习selenium自动化测试框架在爬虫中的应用,selenium能够大幅降低爬虫的编写难度,但是也同样会大幅降低爬虫的爬取速度.(selenium可用于爬虫 ...

  2. flink运行原理_浅谈Flink分布式运行时和数据流图的并行化

    本文将以WordCount的案例为主线,主要介绍Flink的设计和运行原理.关于Flink WordCount程序可以参考我之前的文章:读取Kafka实时数据流,实现Flink WordCount.阅 ...

  3. hadoop--完全分布式运行模式

    完全分布式运行模式 3x客户机(关闭防火墙.静态IP.主机名称) ==> Clone 3x客户机 安装JDK 安装Hadoop 配置环境变量 ==> JDK/Hadoop安装与环境变量的配 ...

  4. 20200903-03-Hadoop运行模式之本地运行模式伪分布式运行模式

    准备工作: 1.一台Linux机器[windows也支持,参考:https://cwiki.apache.org/confluence/display/HADOOP2/Hadoop2OnWindows ...

  5. Nutch 分布式运行模式 (v1.14)

    Nutch 1.x 是成熟的产品级 web 爬虫,这个分支通过精细的优化配制,充分利用了具有非常强大的批处理能力的Apache Hadoop数据结构.目前该分支最新版本是 2017 年12月23日发布 ...

  6. Dapr中国社区活动之 分布式运行时开发者日 (2022.09.03)

    自2019年10月首次发布以来,Dapr(Distributed Application Runtime,分布式应用运行时)因其"更稳定"."更可靠".&quo ...

  7. 3D引擎系统对于分布式运行时的支持

    WebGL环境Demo: http://www.artvily.com/renderCase?sample=distributedRuntime 3D引擎系统如果有了分布式运行时的支持机制,则程序系统 ...

  8. selenium===使用docker搭建selenium分布式测试环境

    准备: #请在此之前务必先了解,selenium grid :参考:selenium-grid ,下载地址, win-本地部署过程 >>>环境准备: Linux操作系统 >&g ...

  9. Hadoop运行模式 之 伪分布式运行模式

    什么是伪分布式模式?它与本地运行模式以及完全分布式模式有什么区别? 伪分布式的配置信息,完全是按照完全分布式的模式去搭建的,但是它只有一台服务器,可以用于学习和测试,真正的开发中不可以使用. 目录 一 ...

  10. selenium threading运行后退出_Selenium的使用

    Selenium是一个自动化测试工具,利用它可以模仿人类行为,如点击.下滑.移动鼠标等,同时还能获取网页源码 相关链接:https://www.selenium.dev/ 目录 1.准备工作 2.基本 ...

最新文章

  1. 基于C++模板的线性代数库---Eigen
  2. BMC Plant biology:高丰度青枯菌改变了番茄根际微生物组和代谢组
  3. 怎么提高面试成功率?
  4. request对象方法详解
  5. 浅谈Java锁,与JUC的常用类,集合安全类,常用辅助类,读写锁,阻塞队列,线程池,ForkJoin,volatile,单例模式不安全,CAS,各种锁
  6. 微信小程序---实现输入手机验证码功能
  7. html checkbox 透明度,【求助】关于表达式checkbox中不透明度的设置
  8. 使用U盘全新安装Mac OS X EI Capitan
  9. 保温杯市场前景分析及行业研究报告
  10. docker配置centos7(二),dnf,sshd配置及部分其它常用软件
  11. laravel异常前后端独立返回 阿星小栈
  12. 所谓的360,到底窥探了你多少隐私
  13. linux ipp,IPP 文件扩展名: 它是什么以及如何打开它?
  14. swift学习笔记_iOS开发(一)
  15. Rettrofit设计模式
  16. android 内核老版本下载安装,百度极速版老版本下载安装
  17. Latex图片、公式、参考文献插入技巧
  18. 【Java多线程并发编程】面试知识点总结
  19. matlab画波动图像,【基于Matlab的波动方程的可视化实现最终版材料】
  20. 如何在 R 中找到 F 临界值

热门文章

  1. 初识Exchange2010
  2. 全球国家和地区代码列表
  3. 本易计算机不开机了,本易M3V(云游戏版)平板电脑刷机详细过程
  4. 皮尔逊、斯皮尔曼、肯德尔相关系数
  5. Word技能-更改 Normal 模板 (Normal.dotm)
  6. flash builder java_Flash Builder4.5 + BladeDS + Java 集成实例
  7. 学习《自己动手写网络爬虫》之记录2
  8. 【教程】小米盒子4 刷机,无广告,总是无限重启,刷入2%报错的解决方法
  9. bootstarp怎么使盒子到最右边_疯狂搞机 | 联通IPTV盒子免拆安装第三方软件
  10. Python调用QQ截图工具