Selenium的四种部署方式详解

news2024/11/14 18:57:33

关于selenium 的部署,我在网上找了很多,基本上都没有提到或是说的比较清晰的。当时我一直有个困惑:测试的脚本代码,是放在跟浏览器同一台机器上呢,还是放在Application Server上?

在官方开发文档中,提到了四种部署方式:

一、本地部署

说明:脚本代码跟测试的浏览器同一台机器
在这里插入图片描述

【WebDriver】 相当于 依赖包,以下代码为例


<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.X</version>
  </dependency>

【Driver】是下载下来的exe可执行程序(以window系统来说),测试不同的浏览器时,需要不同的exe可执行程序
在这里插入图片描述

【Browser】是目标测试浏览器

此部署方式最简单,把测试脚本放在目标浏览器同一台机器上,然后执行测试脚本即可。

在这里插入图片描述

在第6行代码中,直接启动本地(指代码与浏览器Drvier.exe同一台机器)的chromedriver.exe,然后就是跑脚本了。

简单总结: 优点:容易上手,快速见效,容易对selenium 有大概认识; 缺点:只能作为新手练习用,不能作为建设自动化测试系统的方案,因为不管对每台浏览器管理啊。

二、远程部署

执行的测试脚本与目标浏览器不在同一台机器上。
在这里插入图片描述

【RemoteWebDriver】简单来说就提供了一套API接口,允许WebDriver访问RemoteWebDriver 此部署方式分两部分,一边是客户端,一边是服务端。可以把测试脚本与目标浏览器分开在不同的机器上。 服务端是指【RemoteWebDriver】这边,启动时,RemoteWebDriver可以看作为Tomcat容器启动一个WEB应用,暴露了监听端口,并发布RESTFUL接口。
在这里插入图片描述

注意:服务器的地址如下:http://你的host地址:4444/wd/hub/,记录,后面编写客户端代码的时候需要使用。

客户端是指【WebDriver】这边,是应用程序跑测试脚本的(Java\Python\JavaScript等),通过RESTFUL接口把测试参数化传给RemoteWebDriver。

在这里插入图片描述

在第17行代码中,需要把定IP和端口。

图片RemoteWebDriver.png和代码源于:https://www.cnblogs.com/hejing-swust/articles/8052969.html

简单总结: 优点:此部署方式,可以用于一般的企业自动化测试方案,实现测试脚本和执行机(目标浏览器)分离,可以自己实现远程管理多个执行机。 缺点:比本地部署稍稍麻烦些。

三、Grid部署

集中管理,由selenium grid 来统一分以任务。
在这里插入图片描述

【Grid】官方描述:Selenium Grid is a smart proxy server that allows Selenium tests to route commands to remote web browser instances. Its aim is to provide an easy way to run tests in parallel on multiple machines ,简单来说就是由Grid智能的分发任务到各个执行机

下图"components of grid.png" 这里分三部分,一是client,二是HUB,三是NODES。 【client】就是上文中描述过的 client ,不再重复; 【HUB】相当于一个中控,类似于“二、远程部署”那章的中的“server服务端”,client 端将脚本通过HTTP接口传给HUB,至于由哪个执行机(目标浏览器)执行,那就由HUB去计算了。 【NODES】就是HUB的节点,全由HUB监听和管理;
在这里插入图片描述

启动HUB很简单,注意下文的命令是 “-role hub”,启动后可以通过浏览器访问控制台 http://localhost:4444/grid/console。


  java -jar selenium-server-standalone.jar -role hub

启动NODES也简单,注意下文的命令是“-role node”, 而 -hub http:localhost:4444 是HUB的IP 和端口。 一台机会可以同时启动多个NODES

  java -jar selenium-server-standalone.jar -role node -hub http://localhost:4444

HUB 和 NODES 更多的配置就参考官网Setting up your own Grid

而client 如何访问HUB呢?

DesiredCapabilities capability = new DesiredCapabilities();
  capability.setBrowserName("ie");
  capability.setPlatform(Platform.WINDOWS);
  try {
      WebDriver  driver = new RemoteWebDriver(new URL("http://192.168.0.245:4444/wd/hub"), capability);
      driver.get("http://www.baidu.com");
      driver.quit();
  } catch (MalformedURLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
  }

四、Test Framework

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人工智能项目管理︱大模型在项目管理中的应用

全国项目经理专业人士年度盛会 河钢数字技术股份有限公司绿色低碳事业部研发交付中心部门经理江鑫先生受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾&#xff0c;演讲议题为“大模型在项目管理中的应用”。大会将于10月26-27日在北京…

使用终端工具Tabby(跳板机)连接ssh

目录 1.tabby下载2.下载安装3.安装成功3.1在应用中配置语言为中文3.2外观可以更改字体大小颜色等3.3配色方案改变外观颜色3.4快捷键&#xff0c;可以根据自己的习惯自定义修改3.5配置和连接&#xff08;最重要的&#xff0c;安装完成要连接ssh可以直接到这一步&#xff09; 1.t…

【运维心得】获取程控交换机的IP的笨办法

本文主要解决了当你忘记某个程控交换机设备的IP地址的时候&#xff0c;如何通过技术手段进行获取。 背景 智能手机的普及&#xff0c;让固定电话已经逐渐从寻常百姓家里消失了。但仍然是单位客户的必要选择&#xff0c;例如400或者800电话&#xff0c;当然&#xff0c;也有公…

共轴麦轮直立、运动、位置串级PID

角度PID 微分项Angle_Pram[KD] * gyroy&#xff1a;根据角速度的变化率来调整电机PWM&#xff0c;角速度变化越快&#xff0c;调整的幅度也越大。 速度PID Encoder_Least (Encoder1 Encoder2 Encoder3 Encoder4) - Trg_Speed;&#xff1a;计算速度偏差&#xff0c;即四个编…

大批量影像瓦片优化

背景 在很多场景中&#xff0c;需要用的影像瓦片&#xff0c;常规的思路是将tif进行切图&#xff0c;做成分层的瓦片&#xff1a; 但是&#xff0c;如果层级太高&#xff0c;产生的文件将十分庞大&#xff0c;据测试&#xff0c;某地级市18层级切片&#xff0c;内存占用高达2…

【Windows】bat批处理获取文件路径,并写入注册表

echo off setlocal:: 获取当前绝对路径 for %%I in ("%~dp0") do set "CURRENT_DIR%%~fI":: 拼接文件名 set "FILE_NAMEtest.exe" set "FULL_PATH%CURRENT_DIR%%FILE_NAME%"::创建注册表项并写入数据 ::/v 具体的注册表项值的查…

图片拼图怎么操作?教你5个快速拼图的方法

我的元气假期已经到尾声了&#xff0c;在此期间的照片也积累了很多&#xff0c;要怎么把它们全部分享出来呢&#xff1f; 当然&#xff0c;最直接的方式就是把它们做成一张张精美的图片拼图啦&#xff01;这样不仅能节省空间&#xff0c;还能让朋友们一眼就看到你的精彩假期生…

一篇文章带你入门Golang

Go语言的特点和优势 1&#xff0e;简单易学 Go语言语法简单&#xff0c;包含了类似C语言的语法。如果读者已经掌握了两到三门编程语言&#xff0c;那么学习Go语言只需要几天的熟悉过程。即使一名刚入门的开发者&#xff0c;花几个星期也能写出来性能较高的程序。 2&#xff…

GlobalUsing、JSON Schema、NuGet使用方法

一、速通一图流 二、GlobalUsing 使用 1. 关于 GlobalUsing 在 .NET 6/C# 10 之后&#xff0c;微软引入了 GlobalUsings 机制。这个机制允许你在项目根目录下创建一个 GlobalUsings.cs 文件&#xff0c;并在其中定义全局的 using 指令。这样一来&#xff0c;项目中的其他 .cs…

公网、内网ip地址专用SSL证书

现在给网站安装SSL证书来实现网站的HTTPS安全访问已经成了大多数人的共识&#xff0c;但是有一些特殊情况&#xff1a;比如对于个别的应用IP地址不需要绑定域名&#xff0c;只是单纯用IP来访问网站&#xff0c;这种情况下&#xff0c;可以实现HTTPS访问吗&#xff1f; 先说答案…

通风天窗设计使用说明

通风天窗设计使用说明旨在为用户提供一套全面、详细的安装、使用、维护及安全指南&#xff0c;适用于各类工业厂房、仓库、体育馆等大型公共建筑顶部的自然通风系统。通风天窗通过有效利用风压和热压效应&#xff0c;促进室内空气流通降低室内温度&#xff0c;改善工作环境&…

【Python基础】基础语法

本文收录于 《Python编程入门》专栏&#xff0c;从零基础开始&#xff0c;分享一些Python编程基础知识&#xff0c;欢迎关注&#xff0c;谢谢&#xff01; 文章目录 一、前言二、Python 基础语法2.1 编码格式2.2 标识符2.3 保留字2.4 注释2.5 行与缩进2.6 多行语句2.7 同一行显…

USB5834数据采集卡30路模拟量采集卡DAQ卡——阿尔泰科技

概述&#xff1a; 产品应用&#xff1a; AD模拟量输入功能&#xff1a; DI数字量输入功能&#xff1a; DO数字量输出功能&#xff1a; CNT定时/计数器功能&#xff1a; 其它指标&#xff1a; 板卡图片及尺寸&#xff1a;

等保需要的设备部署vs网络安全域划分原则

等保需要的安全设备和部署 技术要点–等保2级 技术要点–等保3级 安全产品/服务全景图 选型产品说明 安全区域边界配置 资产探测及漏洞检测配置 网络安全域划分原则 网络安全域 定义 网络安全域是一种网络划分方式&#xff0c;将具有相同安全需求、访问控制、相同信任级别、…

uva227 (我tm破防了!!!)

本人写了小十天就干这个&#xff08;我太菜了那个紫皮书出这么恶心的题本身代码逻辑并不难&#xff0c;我也写出来了但是就算有问题我ccccccccccccccc&#xff09; 首先说一下我不讲这个&#xff0c;因为我本身vs没有运行出来正确结果&#xff0c;在第二个输入中我输入的这个多…

极狐GitLab 如何管理 Kubernetes 集群?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门面向中国程序员和企业提供企业级一体化 DevOps 平台&#xff0c;用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规&#xff0c;而且所有的操作都是在一个平台上进行&#xff0c;省事省心省钱。可以一键安装极狐GitL…

高效实用!mp4转mkv,视频格式转换技巧分享

mp4和mkv是两种常见的视频格式&#xff0c;它们之间有着明显的区别。简单来说&#xff0c;mp4是一种较为通用的视频格式&#xff0c;支持在多种设备和播放器上播放&#xff0c;文件大小适中&#xff0c;但可能不支持一些高级功能。而mkv则是一种更为灵活的格式&#xff0c;能够…

深度学习-批量与动量【Datawhale X 李宏毅苹果书 AI夏令营】

实际工程中使用批量和动量可以对抗鞍点或局部最小值。 批量&#xff1a; 在计算梯度的时候不会用所有数据计算损失。类比我们考试复习时&#xff0c;一个单元一个单元的知识点输入&#xff0c;所有单元都输入就是一整个轮回。而这一个单元用深度学习的术语来说就是批量&#x…

职升网:二级造价工程师的作用有很多!

一、专业知识与技能 二级造价工程师具备一定的专业知识和技能&#xff0c;能够独立完成工程项目的造价核算、合同管理和成本控制等工作。 二、重要角色 二级造价工程师在建设项目中扮演着重要的角色&#xff0c;能够提供专业的造价咨询和决策支持&#xff0c;为项目的顺利进…

华为OD机考一次没过,其他部门岗位机考考过且面试全部通过,因为有首次考试记录,无法有流程,有什么高招?

1.华为机考的规则其实前面的一文带你读懂华为OD已经和大家详细介绍了啥是OD了&#xff0c;我们在回顾一下整个应聘流程&#xff1a; 第一步投递简历&#xff08;要找靠谱的HR太重要了&#xff09; 这一阶段你要提供姓名、邮箱、手机号、身份证号码用于锁定&#xff0c;所以投递…