试玩Selenium的Grid

发表于:2014-1-20 11:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:xiaobaiwdn    来源:51Testing软件测试网博客

  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);
}
版权声明:本文出自 xiaobaiwdn 的51Testing软件测试博客:http://www.51testing.com/?367232
原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号