Selenium Grid的原理,配置和WEB UI分布式测试
selenium grid 用于webui automation的分布式测试, 一般常规情况下,测试不建议用多线程,多线程会有很多问题,比如并发,锁机制等,什么时候线程该动什么时候停,考虑并发协同机制等等,测试没必要用自动化去实现多线程,线程阻塞等等问题。
分布式相当于多机器协同,多机器协同完成一个任务。在webui的自动化测试中,selenium grid用于做浏览器的分布式测试,你可以让多台电脑一起测试,或者当设定的当前的极限,转到另一个机器上进行运行。
selenium grid支持多浏览器,支持selenium,同时是免费和开源的。准备环境到配置。之前公司是把selenium grid与openshift集成,现在我们来本地搭建和配置一个这样的环境,直接使用开源的东西。
selenium grid的工作原理:
selenium原理是发送一段命令给cpu, cpu会把对应的指令下达给浏览器,那selenium grid是有个总线机制,selenium grid 设置一个电脑为主节点hub,其他电脑设置多个分支节点node, 根据主节点hub,去分发通信命令给多个分支节点node,当单个分支节点出问题了或者异常,可以转到另一个分支节点继续执行

hub 启动主节点,这个节点只需要启动,完后去开放ip和端口号,node 启动, 他的ip通过网络传输给hub节点,

selenium grid的配置和启动:
selenium官网下载: Selenium
下载这个selenium server grid jar file

下载之后直接启动命令: cmd 里面java -jar .\selenium-server-4.33.0.jar hub
这个作为主节点,端口号默认是4444,他还支持其他的命令有需要可以查查。

有了主节点之后,就可以去浏览器里面看看selenium grid的hub起来了么。默认的端口号是4444

hub起来之后,可以为主节点添加多个node节点,node节点需要指定hub ip进行关联
我没有那么多电脑作为node节点,所以还是本机开始配置node。java -jar .\selenium-server-4.33.0.jar node --hub http:*****:4444


node启动成功之后,selenium grid可以看到node起来了。

环境搭好之后,自动化测测试脚本可以用remote run的方式执行(driver使用RemoteWebDriver)。运行之后,selenium grid可以看到session 新建出来,点击进去可以看到case的操作流程。也可以进行remote的debug。
selenium grid 官网: Grid | Selenium
博主: haining
Selenium Grid的原理,配置和WEB UI分布式测试的更多相关文章
- Selenium Grid的原理、配置与使用(转)
Selenium GridSelenium Grid在前面介绍Selenium的时候说过它有三大组件,Selenium Grid就是其中之一而作用就是分布式执行测试.讲分布式之前还是要说说UI自动化的 ...
- 转:Selenium Grid+JAVA +Windows 配置(Selenium 2.0)
Selenium-Grid 允许你在多台机器的多个浏览器上并行的进行测试,也就是说,你可以同时运行多个测试.本质上来说就是,Selenium-Grid 支持分布式的测试执行.它可以让你的测试在一个分布 ...
- Selenium系列(十四) - Web UI 自动化基础实战(1)
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- Selenium系列(十五) - Web UI 自动化基础实战(2)
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- Selenium系列(十六) - Web UI 自动化基础实战(3)
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- Selenium系列(十八) - Web UI 自动化基础实战(5)
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- Selenium系列(十九) - Web UI 自动化基础实战(6)
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- selenium grid解决多台电脑进行并发执行测试脚本
1 两台计算机,一台计算机既做HUB,又做Node 机器A设置HUB的步骤: 1 运行---输入cmd 2 输入: cd c:/ 3 输入: java -jar selenium-server-st ...
- WEB UI分布式自动化测试框架
Github地址: https://github.com/zhangweixu/Autotest.git
- web端自动化——Selenium Grid原理
利用Selenium Grid可以在不同的主机上建立主节点(hub)和分支节点(node),可以使主节点上的测试用例在不同的分支节点上运行. 对不同的节点来说,可以搭建不同的测试环境(操作系统.浏 ...
随机推荐
- 窗体添加按钮--java进阶day03
1.组件.面板对象 窗体中的图片.按钮.文本都是组件,光创建出了窗体没有组件肯定不行,但是这些组件该放到窗体的哪个位置? 很明显是窗体中空白的位置,但是我们需要知道,这块空白位置在窗体中是一个被封装的 ...
- 使用 gitee 托管你的 go 模块
前言 实话实说, github 作为这个球上顶级的代码托管平台, 公司/企业/开发者的认可和参与度是非常高的. 但是因为某些原因 特色墙, 国内使用 github 的体验不是非常好 速度慢 不靠谱同学 ...
- 《机器人SLAM导航核心技术与实战》第1季:第7章_SLAM中的数学基础
<机器人SLAM导航核心技术与实战>第1季:第7章_SLAM中的数学基础 视频讲解 [第1季]7.第7章_SLAM中的数学基础-视频讲解 [第1季]7.1.第7章_SLAM中的数学基础_S ...
- 思绪碎片:一个INFP的自我对话
## 关于存在与意义 > "我写一些东西,不是为了让别人看见,而是为了未来的我." -- 阮一峰 - 未知带来的心慌持续蔓延 - **根本症结**:自身的弱小,无法坦然面对生 ...
- arthas安装和简单使用
介绍 Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load.内存.gc.线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参.异常,监测方法执 ...
- elemengui分页
<!-- 分页模块 --> <template> <div class="block" style="margin-top:20px&quo ...
- MySQL 中的索引数量是否越多越好?为什么?
MySQL 中的索引数量是否越多越好?为什么? 虽然索引能够提高查询性能,但并不是索引越多越好.索引数量过多会带来一定的负面影响,尤其是在写操作频繁的场景下.需要根据实际的查询需求来合理设计索引,以平 ...
- 爬虫项目之爬取4K高清壁纸
爬虫项目之爬取4K高清壁纸 目标网址:4K壁纸高清图片_电脑桌面手机全面屏壁纸4K超清_高清壁纸4K全屏 - 壁纸汇 使用技术Selenium+Requests 下面是目标网页 思路:由于此网页是通过 ...
- 题解:P10983 [蓝桥杯 2023 国 Python A] 跑步计划
一眼看,什么 py,不是纯计算题吗? 需要知道的 2023 年是平年,有 365 天. 每个月分别有 31,28,31,30,31,30,31,31,30,31,30,31 天. 计算 一月,十月,十 ...
- C# Delegate 委托及事件
1.委托Delegate实质 由一个修饰符+ delegate,跟方法的定义比较类似,也需要声明参数和返回值.声明一个委托,就是声明一种方法签名(参数+返回值),只要是和声明委托方法签名相同的方法, ...