51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2705|回复: 3
打印 上一主题 下一主题

selenium grid2 初探

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-2-13 15:35:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

#selenium grid2 初探

##0 what is selenium grid?

简单说grid是一个分布式的应用,通过注册不同的节点(hub),提高用例执行效率。


##1 when to use selenium grid?

+不同浏览器,不同版本,不同操作系统下执行用例

+减少用例执行时间,提高执行效率


##2 selenium grid1 VS. selenium grid2

##3 Hub and node

  • Hub:总控节点,连接调用Node,负责分配用例到对应的Node节点所在的执行器上Node
  • Node:负责执行TestCase,启动浏览器

##4 Starting Selenium-Grid 接下来如何启动Selenium-Grid并注册节点呢?windows下我用的批处理实现,以下未经说明,代码均为批处理。

###4.1 start Grid Hub

  1. @echo off
  2. echo "now start selenuim grid hub server"
  3. c:/apps/jdk1.7.0_55/bin/java -jar c:/apps/selenium-server/selenium-server.jar -role hub -port 4200
  4. PAUSE
复制代码

###4.2 register Grid Node with default

  1. @echo off
  2. echo "now register selenuim grid node server"
  3. c:/apps/jdk1.7.0_55/bin/java -jar c:/apps/selenium-server/selenium-server.jar -role node -hub http://127.0.0.1:4200/grid/register -port 5555
  4. PAUSE
  5. ```
  6. ###4.3 register Grid node with self-settings

  7. ```
  8. @echo off
  9. echo "now register selenuim grid node Chrome browser server"
  10. c:/apps/jdk1.7.0_55/bin/java -jar c:/apps/selenium-server/selenium-server.jar -role node -hub http://127.0.0.1:4200/grid/register -port 5557 -Dwebdriver.chrome.driver="c:/apps/selenium-server/chromedriver.exe"
  11. PAUSE
  12. ```
  13. **Dwebdriver.chrome.driver** 参数允许你指定对应的chrome或者IE browser驱动。

  14. ###4.4 check and view grid status

  15. you can visit this url to check grid status `http://localhost:4200/grid/console`


  16. ##5 总结

  17. 这里只是完成了基本的Grid hub启动和注册,接下来看如何结合selenium实现具体需求。

  18. 附上一个用python写的启动脚本
  19. ```
  20. #!/usr/bin/env python
  21. # -*- coding: utf-8 -*-
  22. # @Date    : 2016-03-03 16:48:31
  23. # @Author  : Jeff.Sui
  24. # @Link    : http://jeffsui.github.io
  25. # @Version : $Id$

  26. import os
  27. from subprocess import Popen
  28. import sys
  29. import urllib2
  30. import printTm
  31. DEBUG = True
  32. hubStartStr="c:/apps/jdk1.7.0_55/bin/java -jar c:/apps/selenium-server/selenium-server.jar -role hub -port 4200"
  33. html=''
  34. try:
  35.         response=urllib2.urlopen('http://127.0.0.1:4200/wd/hub')
  36.         html=response.read()
  37.         if 'Browsers' in html:
  38.                 printTm('already running')
  39.                 exit
  40.         else:
  41.                 Popen(hubStartStr,shell=True)
  42.         exit
  43. except urllib2.URLError as e:
  44.         Popen(hubStartStr,shell=True)
  45.         exit
  46. except urllib2.HTTPError:
  47.         printTm('HTTPError')
  48.         exit


  49. ```
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

3#
发表于 2021-10-22 18:17:13 | 只看该作者
请问一下selenium grid是否支持移动端的app测试?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2021-10-22 18:18:11 | 只看该作者
请问一下selenium grid是否支持移动端的app测试呢?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-24 12:57 , Processed in 0.074800 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表