(五十七)Selenium Grid2之工作原理
随笔记录方便自己和同路人查阅。
#------------------------------------------------我是可耻的分割线-------------------------------------------
Selenium Grid工作原理
Grid是用于设计帮助我们进行分布式测试的工具,其整个结构由一个hub主节点和若干个node代理节点组成。hub用来管理各个代理节点的注册和状态信息,并且接受远程客户端代码的请求调整,然后把请求的命令在转发给代理节点来执行。使用Grid远程执行测试代码与直接调用Selenium Server是一样的,只是环境启动的方式不一样,需要同时启动一个hub和至少一个node。
java -jar selenium-server-standalone-3.141.59.jar -role hub
java -jar selenium-server-standalone-3.141.59.jar -role node
上面的代码分别启动了一个hub和一个node,hub默认端口号为4444,node默认端口号为5555.若是同一个主机上启动多个node,则需要注意指定端口号,可以通过下面的方式来启动多个node节点。
java -jar selenium-server-standalone-3.141.59.jar -role node -port 5555
java -jar selenium-server-standalone-3.141.59.jar -role node -port 5556
java -jar selenium-server-standalone-3.141.59.jar -role node -port 5557
当你的测试用例需要验证的环境比较多时,可以并行地执行这些用例进而缩短测试总耗时。并行的能力需要借助编程语言得多线程技术,多线程技术我会在以后的文章中贴出。Grid可以根据用例中指定的平台配置信息把用例转发给符合匹配要求的测试代理。例如,你的用例中制定了要在Linux上用Firefox版本进行测试,那么Grid会自动匹配注册信息为Linux且安装了Firefox的代理节点,如果匹配成功,则转发测试请求,如果匹配失败则拒绝请求。
下面在一台主机上启动一个hub主节点和两个node分界点,如下图:
通过流量拿起访问Grid的控制台:http://127.0.0.1:4444/grid/console。
登入后如下图所示:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异