博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
selenium grid 环境搭建
阅读量:4970 次
发布时间:2019-06-12

本文共 1955 字,大约阅读时间需要 6 分钟。

 

一、selenium grid简介

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

图 1. Selenium Grid2 的机制

二、环境准备

1、

 A、在不同的测试集群机上,分别安装不同类型的浏览器和相应的驱动。并配置好环境变量(将浏览器驱动driver配置进PATH变量中)。

 B、安装java的jre环境并配置环境变量。

2、selenium-server-standalone-XX.XX.jar 下载

在https://selenium-release.storage.googleapis.com/index.html找到适配的版本并将其放到pc的某一个目录下;

3、进入放置selenium-server-standalone-XX.XX.jar的目录,启动Hub(192.168.0.41):

(不管是要使用WebDriver功能的网格还是RC功能的网格还是同事使用两者,都是使用selenium-server-standalone 的jar文件来启动节点。命令如下:)

java -jar selenium-server-standalone-3.10.0.jar -role hub

在pc1的浏览器内打开:http://192.168.0.41:4444/grid/console  可以查看Hub状态。也就是说Grid默认启动端口是4444,如果想切换为其他端口,则加-port参数。比如要切换为8888:

java -jar selenium-server-standalone-3.10.0.jar -role hub  -port 8888

4、进入放置selenium-server-standalone-XX.XX.jar的目录,启动Node(192.168.0.42):

java -jar selenium-server-standalone-2.27.0.jar -role node -hub http://192.168.0.41/grid/register

同样的,也可以使用-port切换node端口,默认端口是5555. 

此处的node节点,也可以作为一个单机的远程节点存在,并同时支持RC,WebDriver。浏览器输入可以看到session信息。

然后,同样的启动其它ip的Node节点。

打开浏览器:http://192.168.0.41:4444/grid/console ,可以看到注册的节点、

5、

四、环境测试

编写python脚本:

# coding=utf-8 from selenium import webdriver import os chrome_driver = os.path.abspath(r"C:\software\chromedriver") os.environ["webdriver.chrome.driver"] = chrome_driver chrome_capabilities = {
"browserName": "chrome", # 浏览器名称 "version": "", # 操作系统版本 "platform": "ANY", # 平台,这里可以是windows、linux、andriod等等 "javascriptEnabled": True, # 是否启用js "webdriver.chrome.driver": chrome_driver } driver = webdriver.Remote("http://node_ip:5555/wd/hub", desired_capabilities=chrome_capabilities) # driver.set_window_size(1280,720) driver.get("http://www.baidu.com") print(driver.title) driver.quit()

node_ip  需要修改成自己的node ip地址;

成功运行结果如下图:

node端日志:

 

转载于:https://www.cnblogs.com/yoyo008/p/9468632.html

你可能感兴趣的文章
apache 实现图标缓存客户端
查看>>
揭秘:黑客必备的Kali Linux是什么,有哪些弊端?
查看>>
linux系统的远程控制方法——学神IT教育
查看>>
springboot+mybatis报错Invalid bound statement (not found)
查看>>
Linux环境下SolrCloud集群环境搭建关键步骤
查看>>
P3565 [POI2014]HOT-Hotels
查看>>
MongoDB的简单使用
查看>>
prometheus配置
查看>>
【noip2004】虫食算——剪枝DFS
查看>>
python 多进程和多线程的区别
查看>>
sigar
查看>>
iOS7自定义statusbar和navigationbar的若干问题
查看>>
[Locked] Wiggle Sort
查看>>
deque
查看>>
c#中从string数组转换到int数组
查看>>
数据模型(LP32 ILP32 LP64 LLP64 ILP64 )
查看>>
java小技巧
查看>>
POJ 3204 Ikki's Story I - Road Reconstruction
查看>>
iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?
查看>>
toad for oracle中文显示乱码
查看>>