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),可以使主节点上的测试用例在不同的分支节点上运行. 对不同的节点来说,可以搭建不同的测试环境(操作系统.浏 ...
随机推荐
- Win7共享账号切换程序
服务器共享目录需要多账号登录时,需要重启电脑才可切换不同账号登 为了不重启电脑就可立即切换不同账号登,特意写了此款软件, 下载: 链接:https://pan.baidu.com/s/1g_4SCXl ...
- Redis 原理 - String
String 数据结构 首先我来看下, Redis 中 String 的数据结构: 我们称之为 SDS (Simple Dynamic String) 简单动态字符串 struct sdshdr { ...
- 太赞了!两个技巧帮你记住复杂 Linux 命令!
Linux 经历这么多个年头了,其中命令越来越多,又加上参数的多种多样,就算是实打实的高手也没有十足的把握能把各种命令运用得炉火纯青,就别说那些初学者了. 面对这些复杂难记的命令,网上的一些工具如 K ...
- nginx中的路径匹配规则详解(location规则)
Nginx的路径匹配规则 Nginx的匹配规则用location指令来实现,Nginx 的location指令用于匹配请求的 URI(请求路径),并根据匹配结果执行特定的处理指令.location是实 ...
- 科研新体验:刘同学深度试用ADTF软件反馈揭晓!
一.前言 作为一名高校的科研工作者,在高校的科研工作中,经常需要处理各种复杂的数据流,尤其是视频采集和处理的工作,对数据的实时性和精度要求非常高,我首次试用ADTF时,主要负责开发一个集成FFmpeg ...
- html中的em和rem到底该如何使用,自适应效果中如何确定文字大小/字号?
如今手机屏幕繁多,自适应效果中如何确定文字大小/字号? em rem vm vw vh你都了解吗? 先说说em和rem em:继承父级的,假设html的font-size默认为16px,body字体大 ...
- 话说神奇的content="IE=edge,chrome=1"的meta标签内容
这是个是IE8的专用标记,用来指定IE8浏览器去模拟某个特定版本的IE浏览器的渲染方式(比如人见人烦的IE6),以此来解决部分兼容问题,例如模拟IE7的具体方式如下: < meta http-e ...
- Netty 心跳机制实现(客户端与服务端)
Netty 心跳机制实现(客户端与服务端) Netty 的心跳机制是保持长连接有效性的重要手段,可以检测连接是否存活并及时释放无效连接.下面介绍客户端和服务端的完整实现方案. 一.服务端实现 1. 基 ...
- 【翻译】 Processing系列|(三)安卓项目构建
上上篇:[翻译]Processing系列|(一)简介及使用方法 上一篇:[翻译]Processing系列|(二)安卓模式的安装使用及打包发布 我顺藤摸瓜找到了Github仓库,然后发现人家主要还是用A ...
- Axure RP Element UI 2和 Element UI Plus元件库
基于ElementUI2.0及ElementUI Plus3.0二次创作的ElementUI 元件库.2个版本的原型图内容会有所不同,ElementUI Plus3.0的交互更加丰富和高级.你可以同时 ...