码迷,mamicode.com
首页 > 其他好文 > 详细

Selenium_Grid

时间:2018-08-20 01:12:37      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:http   测试   executor   管理   find   客户端   不同的   本机   运行   

Selenium Grid 工作原理

       Grid是一种分布式测试工具,整个结果由一个hub主节点和若干个node代理节点组成。 hub用来管理各个代理节点的注册和状态信息,并且接收远程客户端代码请求调用,然后把请求的命令再转发给代理代点来执行。针对验证不同的测试环境比如(操作系统、浏览器),得到不同环境下执行结果。可在主机上配置搭建多台虚拟机操作系统环境用于代理节点,在本机分发测试用例脚本至各台虚拟机代理节点运行。

        下面在同一台主机上启动一个hub主节点和两个node分支节点,如下所示:

  • 启动本机hub主机:java -jar selenium-server-standalone-2.53.0.jar -role hub [默认4444端口]
  • 启动本机node分支节点:java -jar selenium-server-standalone-2.53.0.jar -role node -port 5555         java -jar selenium-server-standalone-2.53.0.jar -role node -port 6666

可通过浏览器访问Grid控制台:http://127.0.0.1:4444/grid/console,可查看到启动节点信息:

技术分享图片

Remote应用

       Remote作用是在配置测试用例在远程分机节点上执行,也就是相当于主机用例自动分发到远程主机执行用例,不需要copy代码过去。

下面在一台主机上启动一个hub主节点和一个node分支节点,另一台主机启动一个node分支节点如下所示:

  • 启动本机hub主机:java -jar selenium-server-standalone-2.53.0.jar -role hub [默认4444端口]
  • 启动本机node分支节点:java -jar selenium-server-standalone-2.53.0.jar -role node -port 5555        
  • 在远程主机启动node分支节点:java -jar selenium-server-standalone-2.53.0.jar -role node -port 6666 -hub http://192.168.31.210:4444/grid/register
 1 #!/usr/bin/env python
 2 # _*_ coding:utf-8 _*_
 3 __author__ = YinJia
 4 
 5 
 6 from selenium.webdriver import Remote
 7 
 8 #定义主机与浏览器
 9 lists = {http://127.0.0.1:4444/wd/hub: chrome,
10          http://192.168.31.230:6666/wd/hub: internet explorer,
11          http://127.0.0.1:5555/wd/hub: firefox}
12 
13 #通过不同的浏览器执行脚本
14 for host, browser in lists.items():
15     print(host,browser)
16     driver = Remote(command_executor=host,
17                     desired_capabilities={platform: ANY,
18                                           browserName: browser,
19                                           version: ‘‘,
20                                           javascriptEnabled: True
21                                           }
22                     )
23     driver.get("http://www.baidu.com")
24     driver.find_element_by_id("kw").send_keys(browser)
25     driver.find_element_by_id("su").click()
26     driver.quit()

执行脚本,可看到远程主机192.168.31.230被执行用例。

还可以通过VisGrid工具来启动和管理节点,如下图所示:

技术分享图片

Selenium_Grid

标签:http   测试   executor   管理   find   客户端   不同的   本机   运行   

原文地址:https://www.cnblogs.com/yinjia/p/9503351.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!