Мой скрипт perl не смог подключиться к автономному серверу selenium, запущенному в localhost port 4444. В разных средах происходят разные вещи.Удаленный драйвер Perl selenium не может создать новый экземпляр
Windows 7: Скрипт работает иногда, а иногда и нет.
Selenium server side: начинается правильно. но нет нового сеанса, созданного при создании удаленного экземпляра драйвера.
C:\Users\ganess4\msant\nsn_testeng\tools\AutoBuildPromotionEmail>java -jar selenium-server-standalone-2.37.0.jar
Dec 3, 2013 12:16:43 PM org.openqa.grid.selenium.GridLauncher main
INFO: Launching a standalone server
12:16:43.882 INFO - Java: Sun Microsystems Inc. 20.14-b01
12:16:43.882 INFO - OS: Windows 7 6.1 x86
12:16:43.894 INFO - v2.37.0, with Core v2.37.0. Built from revision a7c61cb
12:16:43.953 INFO - Default driver org.openqa.selenium.iphone.IPhoneDriver regis
tration is skipped: registration capabilities Capabilities [{platform=MAC, brows
erName=iPhone, version=}] does not match with current platform: VISTA
12:16:43.973 INFO - Default driver org.openqa.selenium.iphone.IPhoneDriver regis
tration is skipped: registration capabilities Capabilities [{platform=MAC, brows
erName=iPad, version=}] does not match with current platform: VISTA
12:16:44.020 INFO - RemoteWebDriver instances should connect to: http://127.0.0.
1:4444/wd/hub
12:16:44.021 INFO - Version Jetty/5.1.x
12:16:44.022 INFO - Started HttpContext[/selenium-server/driver,/selenium-server
/driver]
12:16:44.023 INFO - Started HttpContext[/selenium-server,/selenium-server]
12:16:44.024 INFO - Started HttpContext[/,/]
12:16:44.074 INFO - Started [email protected]
2
12:16:44.074 INFO - Started HttpContext[/wd,/wd]
12:16:44.112 INFO - Started SocketListener on 0.0.0.0:4444
12:16:44.112 INFO - Started [email protected]
Код: Примечание. Я попытался порт 4444 и другие варианты.
my $browser = "firefox";
my $platform = "WINDOWS";
eval
{
$self->{seldriverarray} = new Selenium::Remote::Driver(browser_name => $browser, platform => $platform);
$self->{seldriverarray}->debug_on;
print Dumper $self->{seldriverarray}->status;
};
Выдает следующее
Use of uninitialized value in string ne at C:/Dwimperl/perl/site/lib/Selenium/Re
mote/RemoteConnection.pm line 30, <FH> line 48.
Use of uninitialized value in string eq at C:/Dwimperl/perl/site/lib/Selenium/Re
mote/RemoteConnection.pm line 35, <FH> line 48.
Selenium server did not return proper status at C:/Dwimperl/perl/site/lib/Seleni
um/Remote/Driver.pm line 232.
Самая странная вещь происходит, когда я запускаю его в другой среде Suse Enterprise Edition: сторона
Selenium сервера: см создает новый сессии, что означает, что код не является ошибочным. Итак, что останавливает код для запуска нового сеанса в Windows? Я не мог запустить скрипт в Linux, потому что он долгое время пытается запустить firefox.
12:32:09.969 INFO - Started [email protected]
12:32:19.041 INFO - Executing: [new session: {platform=WINDOWS, acceptSslCerts=true, javascriptEnabled=true, browserName=firefox, version=}] at URL: /session)
12:32:19.057 INFO - Creating a new session for Capabilities [{platform=WINDOWS, javascriptEnabled=true, acceptSslCerts=true, browserName=firefox, version=}]
Если вы посмотрите на консоль сетки, вы увидите, какие возможности у хаба есть у хоста, который вы запустили на http: // localhost: 4444/grid/console. Я подозреваю, что вам может понадобиться что-то вроде VISTA для платформы. – KeepCalmAndCarryOn
I включил опцию debug в коде Selenium RemoteConnection.pm, и я увидел, что это время в LWP http-пакете. 'пакет LWP :: Protocol :: http :: SocketMethods; sub sysread { my $ self = shift; if (my $ timeout = $ {* $ self} {** io_socket_timeout **}) { \t ** die "time timeout", если только $ self-> can_read ($ timeout) **; } ' –