Selenium对于我们进行web自动化测试有很大的帮助,如果要进行大范围的测试覆盖,就不能仅仅在一两台机器上跑了;同样Selenium-Grid也给我们提供了这样的帮助,我们可以借助Selenium-Grid很容易的实现分布式测试环境的搭建。不同于其它一些通用的分布式程序【如:hudson】,Selenium-Grid是专门针对Selenium的自动化分布式测试解决方案。
其优点是:
- 快速搭建分布环境【通过简单的参数配置】
- 自动分配测试脚本【针对不同环境】
- 只需一份测试代码【目标测试机不需要有测试代码】
搭建Selenium2环境
在搭建Selenium-Grid之前,首先要搭建每台测试机上的Selenium环境【准确点说应该是代理节点的环境】。这里以Java为例:
- 安装Java【下载】
- 配置Java环境变量【这里】
- 下载ie、chrome的driver程序【如果要测试其它浏览器还需额外下载;FF驱动默认在webdriver中,无需下载】
- 把ie、chrome的driver程序放到系统环境变量中【例如:system32下】
- 安装最新版的浏览器【FF、chrome等】
- 下载Selenium Webdriver【下载standalone server】
- 代码测试
本地版:
- import org.openqa.selenium.*;
- import org.openqa.selenium.firefox.*;
- import org.openqa.selenium.chrome.*;
- import org.openqa.selenium.htmlunit.*;
- import org.openqa.selenium.ie.*;
- // WebDriver driver = new ChromeDriver();
- // WebDriver driver = new FirefoxDriver();
- // WebDriver driver = new HtmlUnitDriver();
- WebDriver driver = new InternetExplorerDriver();
- driver.get("http://www.dangdang.com");
- System.out.println(driver.getCurrentUrl());
- driver.quit();
远程版:
- import org.openqa.selenium.*;
- import org.openqa.selenium.remote.DesiredCapabilities;
- import org.openqa.selenium.remote.RemoteWebDriver;
- DesiredCapabilities ffDesiredcap = DesiredCapabilities.firefox();
- DesiredCapabilities chromeDesiredcap = DesiredCapabilities.chrome();
- DesiredCapabilities ieDesiredcap = DesiredCapabilities.internetExplorer();
- WebDriver wd = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), ieDesiredcap);
- wd.get("http://www.google.com");
- Thread.sleep(1200);
- System.out.println(wd.getCurrentUrl());
- wd.quit();
上述测试都成功了,就说明你的环境已经搭建成功,依次你可以在多个系统、平台上搭建Selenium2环境。
注:
如果使用IDE则把selenium-standalone-server的jar包引用到项目build path,如果直接从命令行编译和执行的话,则必须指定该jar包的路径,否则编译会失败。
- javac -classpath $HOME/path/to/selenium-server.jar Test.java
- java -classpath $HOME/path/to/selenium-server.jar Test
搭建Selenium-Grid环境
当所有测试机上的Selenium2环境搭建成功后,就可以开始启动Selenium-Grid2环境了。【Selenium-Grid的工作原理】
首先启动一个hub:
- java -jar selenium-server-standalone-x.xx.x.jar -role hub
启动hub的机器可以不是测试机,任意一台机器有Java环境的机器都可以。这个是整个Selenium-Grid的中枢节点,所有的远程测试都会由经它后再被转发出去,然后在对应的测试机上执行测试。
启动测试代理node:
- java -jar selenium-server-standalone-x.xx.x.jar -role node
测试代理必须在测试机上启动【即之前搭建了Selenium2环境的机器上】,并且其注册的地址必须是hub所在的机器的ip和端口。一台测试机上可以启动多个代理,前提是要保证不使用相同的端口即可。【当然不建议这样做,尽量避免不稳定因素】
查看Selenium-Grid状态
当hub和所有的代理节点都启动成功后,可以通过浏览器查看当前Selenium-Grid的状态,直接访问地址http://localhost:4444/grid/console。 可以看到页面显示了可以支持测试的代理节点的数量和类型,这里显示的数量和类型和你启动代理节点时所带的配置参数有关。当启动代理节点时其实就是一个注册过程;启动时所带的参数会被hub记住作为注册信息,所以页面中所看到的信息就是各代理节点注册时信息的汇总。
相关推荐
selenium grid2,比较详细。
内含selenium-server-standalone-3.8.0.jar、selenium-server-standalone-3.8.1.jar ...java -jar selenium-server-standalone-3.8.0.jar -role node -hub "http://127.0.0.1:1444/grid/register" -port 1445 启动node
Selenium 4 Grid&K8s和Docker 作为模板创建的此演示演示了如何使用Kubernetes和Docker对Chrome ve Firefox Web驱动程序进行设置,以使用Selenium 4 Grid进行分布式并行测试。要求该项目需要 。 安装 。 安装 ,...
这本菜谱不做什么安装Java JRE(需要运行SeleniumGridExtras jar文件) 安装任何浏览器设置自动登录支持平台mac_os_x 视窗属性钥匙类型描述默认[:selenium_grid_extras] [:version] 细绳Selenium Grid Extras的...
Selenium Server (Grid) The Selenium Server is needed in order to run Remote Selenium WebDriver (Grid).
Selenium核 selenium grid2 - 跨浏览器测试环境
selenium-java-3.8.1.zip selenium-dotnet-3.8.0.zip selenium-dotnet-strongnamed-3.8.0.zip selenium-server-3.8.1.zip selenium-server-standalone-3.8.1.jar IEDriverServer_Win32_3.8.0.zip ...
java8 看不到源码Jitsi基准平台 这个项目的目标是建立一个正确的平台来使用 jitsi-meet-torture 和 Selenium Grid 对 Jitsi 进行基准测试。 要运行“基准测试”,需要一个运行 Selenium 网格的平台。 当前项目提供了...
Selenium木星 Selenium-Jupiter是一个扩展,旨在简化JUnit 5测试中对Selenium的使用。 该库是开源的,根据的条款。 目录 动机 Selenium-Jupiter允许以简单的...Selenium-Jupiter作为Java依赖项 为了将Selenium-Jupi
2)从Selenium网格节点下载文件 在Selenium测试中下载文件? 将它们带到您的机器上并检查内容。 现在很简单。 3)在Selenium网格节点上上传资源 您可能有一些文件上传测试。 将文件上传到远程环境不再是问题。 ...
网格录像机请注意,这已经在Selenium2.X中进行了测试,Selenium3.X可能会发生变化,但是想法是一样的网格录像机: 此扩展程序可以对Selenium网格中正在运行的测试用例进行视频记录。出于演示目的,它具有一个屏幕...
selenium-server-3.8.1.zip selenium-java-3.8.1.zip selenium-server-standalone-3.8.1.jar
开始使用Java进行Selenium WebDriver测试[视频] 这是发行的的代码存储库。 它包含从头到尾完成视频课程所需的所有支持项目文件。 关于视频课程 本课程将使您了解Selenium WebDriver的功能。 您将通过实践测试步骤并...
Selenium网格 ... 启动集线器 java -jar selenium-server-standalone-2.45.0.jar -role hub 启动[many] phantom 实例phantomjs --webdriver=8910 --webdriver-selenium-grid-hub= 运行测试节点 index.js
使用的工具: Selenium网格3.141 Appium服务器Azure Devops代理移动设备设置安装和配置Selenium Grid Infrastructure: 从下载Selenium Grid 3.141.59 设置本地集线器在selenium-grid.jar目录中打开cmd并运行以下...
Applitools教程-Selenium Java-超快速网格 通过此Ultrafast Grid示例开始使用Applitools Eyes视觉测试,该示例使用 ,Java和在Applitools云中运行测试。 通过我们的了解有关如何安装和启动该项目的更多信息! 更多...
平行Selenium网如何使用Selenium网格对TestNG进行WebDriver并行测试的超简单示例。 根据说明使用TestNG并行运行WebDriver测试将以下内容下载到C:\ Selenium 在网格中心和所有网格节点上 到将运行测试的所有网格节点...
Java Selenium框架 Selenium Java Framework是使用Java,Selenium和Zalenium编写CI自动运行测试的UI自动化测试的良好起点。 产品特点 多个域 可以将测试配置为针对不同的域运行。 例如: : 和 。 多种环境 与针对多...
Selenium测试吸引人示例项目使用: Selenium WebDriver TestNg 魅力2 Maven执行命令要运行测试并生成魅力报告: mvn clean site -P [singleThreaded,nogrid,grid,parallelSuite]singleThreaded-按顺序执行测试,省略...
Selenium化物 Selenoid是使用容器启动浏览器的 hub的强大...下载和删除已保存日志文件的API轻巧快速适合个人使用和大型集群: 在相同负载下消耗的内存比基于Java的Selenium服务器少10倍小型6 Mb二进制文件,无外部依