Kaynağa Gözat

Generalize the webdriver context prefix

On the off chance that someone might set up a webdriver server in a
context that isn't `/wd/hub`, let's make it customizable!

This is foreshadowing.
Daniel Gempesaw 10 yıl önce
ebeveyn
işleme
18f0772f8d

+ 12 - 6
lib/Selenium/Remote/Driver.pm

@@ -382,15 +382,21 @@ has 'session_id' => (
 has 'remote_conn' => (
     is      => 'lazy',
     builder => sub {
-            my $self = shift;
-            return Selenium::Remote::RemoteConnection->new(
-                remote_server_addr => $self->remote_server_addr,
-                port               => $self->port,
-                ua                 => $self->ua
-            );
+        my $self = shift;
+        return Selenium::Remote::RemoteConnection->new(
+            remote_server_addr => $self->remote_server_addr,
+            port               => $self->port,
+            ua                 => $self->ua,
+            wd_context_prefix  => $self->wd_context_prefix
+        );
     },
 );
 
+has 'wd_context_prefix' => (
+    is => 'lazy',
+    default => sub { '/wd/hub' }
+);
+
 has 'error_handler' => (
     is => 'rw',
     coerce => sub {

+ 7 - 5
lib/Selenium/Remote/RemoteConnection.pm

@@ -36,11 +36,15 @@ has 'error_handler' => (
     builder => sub { return Selenium::Remote::ErrorHandler->new; }
 );
 
-
+has 'wd_context_prefix' => (
+    is => 'lazy',
+    default => sub { '/wd/hub' }
+);
 
 sub check_status {
     my $self = shift;
     my $status;
+
     try {
         $status = $self->request({method => 'GET', url => 'status'});
     }
@@ -59,9 +63,6 @@ sub check_status {
     }
 }
 
-
-
-# This request method is tailored for Selenium RC server
 sub request {
     my ($self,$resource,$params,$dont_process_response) = @_;
     my $method =        $resource->{method};
@@ -87,7 +88,8 @@ sub request {
             "http://"
           . $self->remote_server_addr . ":"
           . $self->port
-          . "/wd/hub/$url";
+          . $self->wd_context_prefix
+          . "/$url";
     }
 
     if ((defined $params) && $params ne '') {