试玩Selenium的Grid

简介:
Selenium Grid是一个分布式 测试平台,它可以通过一个 server端的hub服务来控制多个用于提供Selenium脚本运行环境的client端,起到并发在多台机器上运行的作用。整个结构是由一个hub节点和若干个代理节点组成的。hub用于管理各个代理节点的注册和状态信息,并接受远程客户端代码的请求调用,然后把请求的命令再转给代理节点来执行,同时需要一个hub和至少一个代理节点。除此之外,grid还支持一种更友好的功能,其可以根据用例中启动测试的类型来相应的把用例转给符合匹配要求的测试代理。
   下面说下本人如何搭建环境的:
  1. 准备三台机器(一台为主机[提供hub服务],另两台为从机[client端])
  2. 三台机器都安装好JDK环境(可参见本人的“Selenium2.0测试工程的搭建”)
  3. 三台机器上都确保有selenium server的jar包
  本人在主机上创建主节点,并在主机和两台从机上各创建一个子节点。最终的现象是在这三台机器上并发运行。
  (1) 启动主节点
  在主机上打开命令行,cd至selenium server jar包所在的路径下,用命令启动主节点hub服务: java -jar selenium-server-standalone-2.39.0.jar -role hub 启动的默认端口是4444,如果要改变这个端口号,则命令后加上-port XXXX,如端口号改为6666,命令为java -jar selenium-server-standalone-2.39.0.jar -role hub -port 6666
   (2) 启动子节点
  在从机上打开命令行,cd至selenium server jar包所在的路径下,用命令启动子节点的服务:java -jar selenium-server-standalone-2.39.0.jar -role node -hub http://10.1.3.59/grid/register 启动的默认端口是5555。其中,10.1.3.45为hub所在主机的IP地址。由于本人在主机上创建了主节点和一个子节点,所以这两个节点的port应不同。
  启动完成后,可以在主机上打开浏览器http://localhost:4444/grid/console,来查看各节点的状态。
  最后,编辑代码(主节点的port为4444,各子节点的port为5555,主机IP为10.1.3.59,两台从机IP分别为10.1.3.197和10.1.3.200):
public string[] strServer = new string[3];
public const string strWeb = "http://www.baidu.com";
public void TestGrid()
{
strServer[0] = "http://10.1.3.197:5555/wd/hub";
strServer[1] = "http://10.1.3.200:5555/wd/hub";
strServer[2] = "http://10.1.3.59:5555/wd/hub";
int nThreadCount = 3;
Thread[] threads = new Thread[nThreadCount];
for (int i = 0; i < nThreadCount; i++)
{
threads[i] = new Thread(new ThreadStart(OpenWeb));
threads[i].Name = i.ToString();
}
foreach(Thread t in threads)
{
t.Start();
}
Thread.Sleep(60000);
}
public void OpenWeb()
{
DesiredCapabilities dc = DesiredCapabilities.InternetExplorer();
int nId = Convert.ToInt32(Thread.CurrentThread.Name);
Uri seleniumServer = new Uri(strServer[nId]);
Uri addr = new Uri(strWeb);
RemoteWebDriver driver = new RemoteWebDriver(seleniumServer, dc);
driver.Navigate().GoToUrl(addr);
}

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
4月前
|
Web App开发 Docker 容器
百度搜索:蓝易云【用docker搭建selenium grid分布式环境实践】
通过这些步骤,您可以使用Docker搭建Selenium Grid分布式环境,并在多个节点上并行运行Selenium测试。根据实际需求,您还可以进行更高级的配置和扩展,如增加更多的节点、配置浏览器版本等。
37 1
|
Web App开发 测试技术 调度
浩若烟海事半功倍|利用Docker容器技术构建自动化分布式web测试集群Selenium Grid
“世界上有那么多城市,城市里有那么多的酒馆,可她,却偏偏走进了我的.....”,这是电影《卡萨布拉卡》中的一句著名独白,投射到现实生活中,与之类似的情况不胜枚举,这世界上有那么多的系统,系统中有那么多的浏览器,在只有一台测试机的前提下,难道我们只能排队一个一个地做兼容性测试吗?有没有效率更高的方法呢?为此我们提出一个更高效的解决方案:使用Docker+Selenium Grid。
浩若烟海事半功倍|利用Docker容器技术构建自动化分布式web测试集群Selenium Grid
|
Web App开发 存储 测试技术
软件测试|Selenium Grid作用是什么? Selenium Grid 的使用过程?
软件测试|Selenium Grid作用是什么? Selenium Grid 的使用过程?
100 0
软件测试|Selenium Grid作用是什么? Selenium Grid 的使用过程?
|
Java 测试技术
软件测试面试题:Selenium Grid的使用过程?
软件测试面试题:Selenium Grid的使用过程?
60 0
|
测试技术
软件测试面试题:Selenium Grid作用是什么?
软件测试面试题:Selenium Grid作用是什么?
72 0
|
Web App开发 Java 测试技术
Selenium Grid集群搭建
背景介绍 阅读对象 背景知识 测试人员 具有Selenium使用基础 在Web UI自动化测试过程中,我们都使用了Selenium这个工具来与浏览器进行交互。
1739 0
|
Web App开发 测试技术 Docker
Zalenium 容器化扩展Selenium Grid
zalenium 介绍 zalenium是一种以容器方式来动态创建和管理本地Selenium Grid的扩展。它使用docker-selenium在本地运行基于Firefox和Chrome的测试。
1943 0
|
Web App开发 Java Windows
|
Web App开发 Java Windows

热门文章

最新文章