首页 > 其他分享 >软件测试 | Selenium-Grid架构

软件测试 | Selenium-Grid架构

时间:2023-09-04 16:04:26浏览次数:47  
标签:Control Remote Selenium 案例 Grid 测试 软件测试

Selenium-Grid是基于传统Selenium架构发展起来的,它有如下优点:

1.Selenium测试案例、待测Web应用系统、Remote Control/浏览器组合之间无须紧密耦合。它们之间通过HTTP进行通信,因此不需要工作在一台机器上。

2.Selenium测试案例和待测Web应用系统与具体项目相关。不过,无论Selenium Remote Control还是浏览器都与具体项目无关。事实上,它们可以在不同应用和项目间进行共享。

因此,只有通过建立一个基于Selenium Remote Control的网络,我们才能在不同版本、不同应用、不同项目,甚至于不同组织间共享测试平台。当然我们同样会面对前面提到的传统Selenium架构所面临的局限。这就解释了为什么我们需要一个全新组件,来解决如下问题:

如何透明地向测试案例指派一个Selenium Remote Control;

克服每个Remote Control支持的并发测试案例个数限制;

屏蔽测试案例对于测试平台架构的依赖

Selenium-Grid将这一组件称为Selenium Hub.

1.Hub拥有一个与传统Remote Control一模一样的对外接口。这就意味着测试案例集可以透明地选择一个传统Remote Control或者Selenium Hub,而无须为此更该代码,唯一需要改变的就是IP地址。它能屏蔽测试案例对网络基础架构(你可以对其进行扩展)的依赖,这一点很重要,它同样能够减轻测试人员的工作量。同样的测试案例,既可以在测试人员的办公机器上运行,也可以在网络分布式网络上运行,而不需要改变任何一行代码。

2.Hub会为每一个测试案例分配Selenium Remote Control。Hub同样负责来自测试案例的Selenium命令,路由至正确的Remote Control。同时它还会不断底跟踪测试进程。

3.当一个新测试启动后,如果Hub找不到符合测试要求的Remote Control,它就会暂存收到请求。一旦符合要求的Remote Control资源被释放,Hub就会立即响应这一请求。对于整个测试流程而言,测试案例并不需要知道Grid内部发生了什么;它需要做的仅仅是等待HTTP响应。

Selenium Grid的架构简图如图8-2所示。

软件测试 | Selenium-Grid架构_Selenium

想要发挥Selenium-Grid的优势,你必须并行地运行测试案例。如果使用Java来编写Selenium测试阿里,你可以选择TestNG parallel runs或者Parallel JUnit。如果你更喜欢Ruby,那么应该了解一下DeepTest或者spawn。总之,依赖于你选择的变成语言和开发平台是否提供并行执行测试案例的解决方案。

标签:Control,Remote,Selenium,案例,Grid,测试,软件测试
From: https://blog.51cto.com/u_15605684/7351707

相关文章

  • 软件测试 | Selenium-RC工作原理
    我们描述Selenium-RC组件是如何运转的,以及它们在测试案例运行过程中扮演什么角色。1.RC组件Selenium-RC组件包括:SeleniumServer,它负责启动和关闭浏览器,解释和运行从测试程序传来的Selenium命令,就像一个HTTP代理一样。截取和验证浏览器与待测应用(AUT)之间的HTTP消息;客户端库文件提供......
  • 软件测试 | Selenium基础
    Selenium命令——SeleneseSelenium提供一系列命令,可以用你能想到的所有方式全面测试你的Web应用系列。这些命令通常被称为Selenese。这些测试命令事实上构成了一种测试语言。使用Selenese,用户可以通过HTMLtags测试UI元素是否存在,测试特殊文本,测试死链接、输入框、下拉列表、提交表......
  • 软件测试 | Selenium验证页面元素
    验证页面上的UI元素,是你在自动化测试案例过程中最常用到的特性。Selenese允许通过多种方式验证UI元素。了解这些不同验证方式非常重要,因为它们决定了你实际正在测试什么。举例,你是否正在测试如下情况:(1)一个UI元素存在于页面上某个位置;(2)特别稳定存在于页面上某个位置;(3)特定文本存在于......
  • 软件测试 | Web自动化测试
    当前绝大多数企业应用系统都是基于Web的应用系统,人们可以通过Internet浏览器便捷地访问它们。在可以预见地将来,“云计算”会进一步推动这种趋势。当前很多组织和公司,采用持续改进的开发模式来应对这种趋势。在持续改进开发模式中(例如敏捷和极限开发模式),需要不断地进行迭代测试。传......
  • 7-4 ALV 报表之 ALV GRID(OOALV)
     「ZPGM_ALV_GRID_DEMO」常用:「CL_GUI_ALV_GRID」でALVを新規作成;灵活性强,ALV实现报表方式上最为灵活; 実装の基本的な流れ:ステップ1:(オブジェクト)定義DATA:GRIDTYPEREFTOCL_GUI_ALV_GRID,G_CUSTOM_CONTAINERTYPEREFTOCL_GUI_CUSTOM_CONTAINER. ステッ......
  • python+selenium自动化测试
    自动化测试工具selenium使用指南python+selenium环境安装:直接pipinstallselenium 安装webdriver打开/关闭浏览器:importtimefromseleniumimportwebdriverbrowser=webdriver.Edge()browser.get("http://www.baidu.com/")time.sleep(5)browser.get("https://ma......
  • Web应用测试与其他软件测试的区分
    Web应用系统开发完成后,需要对Web应用进行全面的测试,其测试方法与其他系统的测试既有相同之处,又有不同之处。相同之处体现在下面几个方面。(1)测试内容基本相同Web应用系统作为软件系统的一种形式,其测试内容也会包括功能、性能、易用性、兼容性和安全性测试等内容。(2)某些项目的测试方......
  • 软件测试面试题
    软件测试的流程?考察目的:软件测试基础参考答案:需求评审(需求是否合理、是否可测)->测试计划(人、时间、业务点、资源)->测试设计(测试用例)->冒烟测试(准入测试,基本业务测试不通过直接打回)->测试执行(环境、工具搭建、用例执行)->bug提交->新版本发布(bug有没有验证、新功能......
  • python+selenium+Autolt实现文件或图片的上传
    python+selenium+Autolt实现文件或图片的上传1、先下载AUTolt安装包,具体下载链接:链接:https://pan.baidu.com/s/1dfankuPn8O_ckFB4qEsC1Q提取码:13gt2、下载完成后,先安装autoit-v3-setup.exe,再安装SciTE4AutoIt3.exe,具体的安装步骤略;3、打开安装目录下的Au3Info_x64.exe,(64位的......
  • 前端项目实战叁佰肆拾捌react-admin和material ui-Grid布局样式
    <Gridstyle={{margin:0,padding:0,display:"flex"}}><Gridstyle={{width:"70px",margin:"12px0012px"}}>{typeList&&typeList.map((item:any,index......