51Testing软件测试论坛

标题: selenium grid2 初探 [打印本页]

作者: 橙子0012    时间: 2019-2-13 15:35
标题: selenium grid2 初探

#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


##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. ```
复制代码



作者: Miss_love    时间: 2020-12-31 09:55
支持分享
作者: allen111    时间: 2021-10-22 18:17
请问一下selenium grid是否支持移动端的app测试?
作者: allen111    时间: 2021-10-22 18:18
请问一下selenium grid是否支持移动端的app测试呢?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2