2013-12-03 2 views
0

Мой скрипт 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=}] 
+0

Если вы посмотрите на консоль сетки, вы увидите, какие возможности у хаба есть у хоста, который вы запустили на http: // localhost: 4444/grid/console. Я подозреваю, что вам может понадобиться что-то вроде VISTA для платформы. – KeepCalmAndCarryOn

+0

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) **; } ' –

ответ

0

После обновления Net :: HTTPS и IO :: Socket :: SSL это было разрешено.

Смежные вопросы