前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >selenium grid搭建

selenium grid搭建

作者头像
测试邦
发布2019-07-24 11:10:15
6810
发布2019-07-24 11:10:15
举报
文章被收录于专栏:测试邦测试邦

1、selenium grid简介

selenium grid可以同时在不同机器上测试不同浏览器,包含一个hub和至少一个node。node会发送配置信息到hub,hub记录并跟踪每一个node的配置信息,同时hub会接受到即将被执行的测试用例及其相关信息,并通过这些信息自动选择可用的且符合浏览器与平台搭配要求的node,node被选中后,测试用例所调用的selenium命令就会被发送到hub,hub再将这些命令发送到指定给该测试用例的node,之后由node执行测试。

2、selenium grid应用

测试多浏览器的兼容性,减少测试套件运行时间

3、selenium grid部署

这里使用selenium-server-standalone-2.48.2.jar,hub、node都需要启动selenium-server-standalone-2.48.2.jar文件启动

1)hud配置

java -jar selenium-server-standalone-2.48.2.jar -role hub -port 4446 ,默认端口为4444,如下启动成功!

输入http://xxx.xxx.xxx.xxx:4446/grid/console,如图显示

单击view config可以查看selenium grid的配置信息,默认情况单个hub支持的5个会话

也可以通过配置json文件启动

java -jar selenium-server-standalone-2.48.2.jar -role hub xxx.json

2)node配置

目前只配置一个node与hub不在同一机子

通过如下命令可启动默认设置的node,node会将本机操作系统所支持的浏览器信息全部注册到hub上,如下图

客户端cmd输入命令:java -jar selenium-server-standalone-2.48.0.jar -role node -host 27.154.242.214 -hub http://xxx.xxx.xxx.xxx:4446/grid/register

现注册一个node到hub,命令如下:

java -jar selenium-server-standalone-2.48.2.jar -role node -host 27.154.242.214 -hub http://xxx.xxx.xxx.xxx:4446/grid/register -browser browserName=firefox

seleniumProtocol=WebDriver,maxInstances=5,platform=WINDOWS

如上命令只是修改了客户端ip,如果端口被占用,也可以修改客户端端口,再node后加 -port xxx ,默认是5555

注册后服务端日志如图,成功注册了一个node,此时打开http://xxx.xxx.xxx.xxx:4446/grid/console,也会显示注册的node信息,这里就不附图了

注意:客户端必须能telnet进去服务端,服务端也要能telnet进去客户端

4、执行

  1. public static void main(String[] args) throws IOException {
  2. // TODO Auto-generated method stub
  3. DesiredCapabilities ff =DesiredCapabilities.firefox();
  4. ff.setBrowserName("firefox");
  5. ff.setPlatform("WINDOWS");
  6. WebDriver driver = new RemoteWebDriver(new URL(serverUrl),ff);
  7. driver.get("https://passport.csdn.net/account/login");
  8. System.out.println("开始");
  9. WebDriver augmentedDriver = new Augmenter().augment(driver);
  10. File screenshot = ((TakesScreenshot) augmentedDriver)
  11. .getScreenshotAs(OutputType.FILE);
  12. FileUtils.copyFile(screenshot, new File("11.png"));
  13. driver.quit();
  14. }

运行如上实例代码,服务端日志如图,用例分给node 27.154.242.214:5555去执行

客户端日志,就是具体执行selenium命令的日志信息。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试邦 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档