无法在网格中启动Selenium脚本

时间:2017-08-24 11:41:47

标签: selenium-webdriver automation selenium-grid

我已经通过运行命令启动了selenium服务器中心: import pandas as pd writer = pd.ExcelWriter('file.xlsx') for i, df in enumerate(df_list): df.to_excel(writer,'sheet{}'.format(i)) writer.save()

我还通过运行命令连接节点::net ECHO off cls :netstart ECHO. ECHO Net... ECHO 0. Accounts ECHO 1. Config ECHO 2. Continue Echo 3. Help Echo 4. Localgroup Echo 5. Pause Echo 6. Session Echo 7. Statistics Echo 8. Stat Echo 9. View set /p choice= rem if not '%choice%'=='' set choice=%choice:~0;1% if '%choice%'=='' ECHO "%choice%" Is Not An Option if '%choice%'=='0' goto 0 if '%choice%'=='1' goto 1 if '%choice%'=='2' goto 2 if '%choice%'=='3' goto 3 if '%choice%'=='4' goto 4 if '%choice%'=='5' goto 5 if '%choice%'=='6' goto 6 if '%choice%'=='7' goto 7 if '%choice%'=='8' goto 8 if '%choice%'=='9' goto 9 ECHO. goto netstart :0 cls ECHO Wait... net accounts pause exit :1 cls ECHO Wait... net config pause exit :2 cls ECHO Wait... net continue pause exit :3 cls ECHO Wait... net help pause exit :4 cls ECHO Wait... net localgroup pause exit :5 cls ECHO Wait... net pause pause exit :6 cls ECHO Wait... net session pause exit :7 cls ECHO Wait... net statistics pause exit :8 cls ECHO Wait... netstat pause exit :9 cls ECHO Wait... net view pause goto end :end cls exit

grid node

在网格控制台中显示v:null(不知道为什么?)。

我在代码下运行selenium:

java -jar selenium-server-standalone-3.4.jar -port 4444 -role hub

`

enter image description here

了解这些错误,请有人帮忙解决这些问题吗?

非常感谢adc

2 个答案:

答案 0 :(得分:1)

网格控制台显示没有Firefox的实例是您遇到的问题。您的节点似乎存在一些问题。

检查节点注册命令。

java -jar selenium-server-standalone-3.4.0.jar -role node -hub http://XXX.XXX.XXX.XXX:4444/grid/register/ -browser browserName=firefox,platform=WINDOWS,maxInstances=2

尝试删除命令中-之前的browserName

答案 1 :(得分:0)

错误消息Error forwarding the new session cannot find是网格告诉您无论您请求什么,集线器都找不到支持该功能的任何节点的方式。

在你的情况下,当你这样做时

DesiredCapabilities cap = DesiredCapabilities.firefox();
cap.setBrowserName("firefox");
cap.setPlatform(Platform.WIN10);

您基本上告诉集线器您需要一个可以支持名称为firefox的浏览器的节点,并且该节点应该在Windows 10操作系统上运行。

但是在你的节点启动命令中,你使用了这个

java -jar selenium-server-standalone-3.4.0.jar -role node -hub http://XXX.XXX.XXX.XXX:4444/grid/register/ -browser -browserName=firefox -port 5580

这意味着您向Hub注册了支持firefox浏览器的节点,但您从未提及有关该平台的任何内容。因此,节点假定平台为“任何”。

现在,当您创建新的RemoteWebDriver实例时,Hub尝试将请求的功能与每个节点的可用功能进行匹配。由于它没有找到任何在Windows 10上运行并支持firefox的节点(请记住,您只有一个支持firefox且未设置其平台的节点),匹配失败,因为“ANY”与“WIN10”不匹配。

要解决此问题,请删除第cap.setPlatform(Platform.WIN10);行,然后重试。

PS: 第DesiredCapabilities cap = DesiredCapabilities.firefox();行已经确定了浏览器名称,因此您无需通过cap.setBrowserName("firefox");

明确设置浏览器名称