Selenium(七)分布式

介绍

Selenium 包含 3 大组件,分别是:Selenium IDE、Selenium WebDriver、Selenium Grid:

1、Selenium IDE 负责录制、回放脚本,模拟用户对页面的真实操作

2、Selenium WebDriver 提供 API 来操作浏览器,比如:Chrome、FireFox、IE 等

3、Selenium Grid 用于分布式自动化测试,通过控制多台机器、多个浏览器并行执行测试用例,在测试用例比较多的情况下比较实用。

Selenium Grid 分布式测试是由一个主节点( Hub )、多个代理节点( Node )组成。Hub 用来管理 Node 代理节点的注册、状态信息,接受客户端代码的调用,将命令分发给 Node 来执行

优点

  1、为所有的测试提供统一的入口
  2、管理和控制运行着浏览器的节点/环境
  3、扩展
  4、并行测试,减少执行时间
  5、跨平台(操作系统)测试
  6、负载测试

环境搭建

1、下载selenium-server(selenium-server-standalone-3.141.59.jar):https://www.selenium.dev/downloads/。
2、下载浏览器驱动,chromedriver:http://chromedriver.storage.googleapis.com/index.html。(注意与chrome浏览器的版本相匹配)

3、注册hub和node

通过 -role 参数,指定 hub 或 node,来启动主节点和代理节点,默认 Hub 的端口号是 4444,node 的端口号是 5555

# 注册hub,端口默认4444
java -jar selenium-server-standalone-3.141.59.jar -role hub
# 注册node
java -jar selenium-server-standalone-3.141.59.jar -role node -port 8888 -hub http://hub机器的ip:4444/grid/register

测试

driver = webdriver.Remote(
    command_executor='http://192.168.183.1:4444/wd/hub',
    desired_capabilities=DesiredCapabilities.CHROME.copy())
driver.get('http://google.com')
sleep(10)
driver.quit()

运行上面的测试脚本,Hub 主节点会自动分配到满足条件的 Node 节点去运行

 

posted @ 2022-06-12 16:23  hjy1995  阅读(377)  评论(0编辑  收藏  举报