Explorar el Código

Update send_keys format to conform with spec

Daniel Gempesaw hace 9 años
padre
commit
878b95e1fe

+ 8 - 2
lib/Selenium/Remote/WebElement.pm

@@ -164,9 +164,15 @@ sub send_keys {
     my ( $self, @strings ) = @_;
     croak "no keys to send" unless scalar @strings >= 1;
     my $res = { 'command' => 'sendKeysToElement', 'id' => $self->id };
-    map { $_ .= "" } @strings;
+
+    # We need to send an array of single characters to be WebDriver
+    # spec compatible. That is, for @strings = ('hel', 'lo'), the
+    # corresponding value must be ('h', 'e', 'l', 'l', 'o' ). This
+    # format conforms with the Spec AND works with the Selenium
+    # standalone server.
+    my $strings = join('', map { $_ .= "" } @strings);
     my $params = {
-        'value' => \@strings,
+        'value' => [ split('', $strings) ]
     };
     return $self->_execute_command( $res, $params );
 }

+ 1 - 1
t/Test-Selenium-Remote-Driver.t

@@ -54,7 +54,7 @@ my $find_elements = sub {
 
 my $send_keys = sub {
     my ( $session_object, $val ) = @_;
-    my $keys = shift @{ $val->{value} };
+    my $keys = join('', @{$val->{value}});
     return { status => 'OK', return => 1 } if ( $keys =~ /abc|def/ );
     return { status => 'NOK', return => 0, error => 'cannot send keys' };
 };

+ 30 - 30
t/mock-recordings/11-action-chains-mock.json

@@ -1,46 +1,46 @@
 {
-   "POST session/3f503639-8f7c-4416-9db8-db3fa5b9adaf/url {\"url\":\"https://www.google.com\"}" : [
-      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 01 Nov 2016 02:36:16 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 158\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 01 Nov 2016 02:36:17 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"3f503639-8f7c-4416-9db8-db3fa5b9adaf\",\"hCode\":999378961,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
+   "POST session/0d9c5e47-12f9-4c56-beb8-2de30137070a/element/0/value {\"value\":[\"t\",\"e\",\"s\",\"t\"]}" : [
+      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 13 Dec 2016 15:57:06 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 159\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 13 Dec 2016 15:57:06 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"0d9c5e47-12f9-4c56-beb8-2de30137070a\",\"hCode\":1525313316,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
    ],
-   "POST session/a831783d-42cd-408e-afca-bc7548c55a70/url {\"url\":\"http://medialize.github.io/jQuery-contextMenu/demo.html\"}" : [
-      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 01 Nov 2016 02:36:18 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 158\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 01 Nov 2016 02:36:18 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"a831783d-42cd-408e-afca-bc7548c55a70\",\"hCode\":203965653,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
+   "POST session/cfb502ab-076d-40fc-a73e-bceb2a0d100d/click {\"button\":2}" : [
+      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 13 Dec 2016 15:57:09 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 157\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 13 Dec 2016 15:57:09 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"cfb502ab-076d-40fc-a73e-bceb2a0d100d\",\"hCode\":87931161,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
    ],
-   "GET session/a831783d-42cd-408e-afca-bc7548c55a70/element/1/displayed {}" : [
-      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 01 Nov 2016 02:36:18 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 158\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 01 Nov 2016 02:36:18 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"a831783d-42cd-408e-afca-bc7548c55a70\",\"hCode\":400401918,\"value\":true,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
+   "POST session/0d9c5e47-12f9-4c56-beb8-2de30137070a/keys {\"value\":[\"\"]}" : [
+      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 13 Dec 2016 15:57:06 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 159\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 13 Dec 2016 15:57:06 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"0d9c5e47-12f9-4c56-beb8-2de30137070a\",\"hCode\":1910976450,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n",
+      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 13 Dec 2016 15:57:06 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 158\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 13 Dec 2016 15:57:06 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"0d9c5e47-12f9-4c56-beb8-2de30137070a\",\"hCode\":636410388,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
    ],
-   "DELETE session/a831783d-42cd-408e-afca-bc7548c55a70 {}" : [
-      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 01 Nov 2016 02:36:19 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 158\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 01 Nov 2016 02:36:19 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"a831783d-42cd-408e-afca-bc7548c55a70\",\"hCode\":622764451,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
+   "POST session/0d9c5e47-12f9-4c56-beb8-2de30137070a/elements {\"using\":\"xpath\",\"value\":\"//*[@class='hdtb-mitem']\"}" : [
+      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 13 Dec 2016 15:57:06 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 156\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 13 Dec 2016 15:57:06 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"0d9c5e47-12f9-4c56-beb8-2de30137070a\",\"hCode\":925799255,\"value\":[],\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
    ],
-   "POST session/3f503639-8f7c-4416-9db8-db3fa5b9adaf/element/0/value {\"value\":[\"test\"]}" : [
-      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 01 Nov 2016 02:36:17 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 159\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 01 Nov 2016 02:36:17 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"3f503639-8f7c-4416-9db8-db3fa5b9adaf\",\"hCode\":1087528476,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
+   "GET session/cfb502ab-076d-40fc-a73e-bceb2a0d100d/element/1/displayed {}" : [
+      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 13 Dec 2016 15:57:09 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 158\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 13 Dec 2016 15:57:09 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"cfb502ab-076d-40fc-a73e-bceb2a0d100d\",\"hCode\":172334054,\"value\":true,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
    ],
-   "POST session/3f503639-8f7c-4416-9db8-db3fa5b9adaf/element {\"using\":\"xpath\",\"value\":\"//input[@type='text']\"}" : [
-      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 01 Nov 2016 02:36:17 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 169\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 01 Nov 2016 02:36:17 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"3f503639-8f7c-4416-9db8-db3fa5b9adaf\",\"hCode\":339774665,\"value\":{\"ELEMENT\":\"0\"},\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
-   ],
-   "POST session/a831783d-42cd-408e-afca-bc7548c55a70/element {\"using\":\"xpath\",\"value\":\"//*[text()='Paste']\"}" : [
-      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 01 Nov 2016 02:36:18 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 169\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 01 Nov 2016 02:36:18 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"a831783d-42cd-408e-afca-bc7548c55a70\",\"hCode\":937093363,\"value\":{\"ELEMENT\":\"1\"},\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
+   "POST session/cfb502ab-076d-40fc-a73e-bceb2a0d100d/url {\"url\":\"http://medialize.github.io/jQuery-contextMenu/demo.html\"}" : [
+      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 13 Dec 2016 15:57:07 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 159\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 13 Dec 2016 15:57:09 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"cfb502ab-076d-40fc-a73e-bceb2a0d100d\",\"hCode\":1252846045,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
    ],
    "POST session {\"desiredCapabilities\":{\"acceptSslCerts\":true,\"browserName\":\"chrome\",\"javascriptEnabled\":false,\"platform\":\"ANY\",\"version\":null}}" : [
-      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 01 Nov 2016 02:36:15 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 908\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 01 Nov 2016 02:36:16 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":null,\"sessionId\":\"3f503639-8f7c-4416-9db8-db3fa5b9adaf\",\"hCode\":1822618615,\"value\":{\"applicationCacheEnabled\":false,\"rotatable\":false,\"mobileEmulationEnabled\":false,\"networkConnectionEnabled\":false,\"chrome\":{\"chromedriverVersion\":\"2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1)\",\"userDataDir\":\"/var/folders/19/fy4zlkw13c160qyl6h5px_dh55vrly/T/.org.chromium.Chromium.n6pqRD\"},\"takesHeapSnapshot\":true,\"pageLoadStrategy\":\"normal\",\"databaseEnabled\":false,\"handlesAlerts\":true,\"hasTouchScreen\":true,\"version\":\"54.0.2840.71\",\"platform\":\"MAC\",\"browserConnectionEnabled\":false,\"nativeEvents\":true,\"acceptSslCerts\":true,\"webdriver.remote.sessionid\":\"3f503639-8f7c-4416-9db8-db3fa5b9adaf\",\"locationContextEnabled\":true,\"webStorageEnabled\":true,\"browserName\":\"chrome\",\"takesScreenshot\":true,\"javascriptEnabled\":true,\"cssSelectorsEnabled\":true},\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n",
-      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 01 Nov 2016 02:36:17 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 908\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 01 Nov 2016 02:36:18 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":null,\"sessionId\":\"a831783d-42cd-408e-afca-bc7548c55a70\",\"hCode\":1043555649,\"value\":{\"applicationCacheEnabled\":false,\"rotatable\":false,\"mobileEmulationEnabled\":false,\"networkConnectionEnabled\":false,\"chrome\":{\"chromedriverVersion\":\"2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1)\",\"userDataDir\":\"/var/folders/19/fy4zlkw13c160qyl6h5px_dh55vrly/T/.org.chromium.Chromium.gMiZbv\"},\"takesHeapSnapshot\":true,\"pageLoadStrategy\":\"normal\",\"databaseEnabled\":false,\"handlesAlerts\":true,\"hasTouchScreen\":true,\"version\":\"54.0.2840.71\",\"platform\":\"MAC\",\"browserConnectionEnabled\":false,\"nativeEvents\":true,\"acceptSslCerts\":true,\"webdriver.remote.sessionid\":\"a831783d-42cd-408e-afca-bc7548c55a70\",\"locationContextEnabled\":true,\"webStorageEnabled\":true,\"browserName\":\"chrome\",\"takesScreenshot\":true,\"javascriptEnabled\":true,\"cssSelectorsEnabled\":true},\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
+      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 13 Dec 2016 15:57:04 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 908\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 13 Dec 2016 15:57:05 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":null,\"sessionId\":\"0d9c5e47-12f9-4c56-beb8-2de30137070a\",\"hCode\":1830882337,\"value\":{\"applicationCacheEnabled\":false,\"rotatable\":false,\"mobileEmulationEnabled\":false,\"networkConnectionEnabled\":false,\"chrome\":{\"chromedriverVersion\":\"2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1)\",\"userDataDir\":\"/var/folders/19/fy4zlkw13c160qyl6h5px_dh55vrly/T/.org.chromium.Chromium.QKab2M\"},\"takesHeapSnapshot\":true,\"pageLoadStrategy\":\"normal\",\"databaseEnabled\":false,\"handlesAlerts\":true,\"hasTouchScreen\":true,\"version\":\"54.0.2840.98\",\"platform\":\"MAC\",\"browserConnectionEnabled\":false,\"nativeEvents\":true,\"acceptSslCerts\":true,\"webdriver.remote.sessionid\":\"0d9c5e47-12f9-4c56-beb8-2de30137070a\",\"locationContextEnabled\":true,\"webStorageEnabled\":true,\"browserName\":\"chrome\",\"takesScreenshot\":true,\"javascriptEnabled\":true,\"cssSelectorsEnabled\":true},\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n",
+      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 13 Dec 2016 15:57:06 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 908\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 13 Dec 2016 15:57:07 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":null,\"sessionId\":\"cfb502ab-076d-40fc-a73e-bceb2a0d100d\",\"hCode\":1357738444,\"value\":{\"applicationCacheEnabled\":false,\"rotatable\":false,\"mobileEmulationEnabled\":false,\"networkConnectionEnabled\":false,\"chrome\":{\"chromedriverVersion\":\"2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1)\",\"userDataDir\":\"/var/folders/19/fy4zlkw13c160qyl6h5px_dh55vrly/T/.org.chromium.Chromium.xFtZ43\"},\"takesHeapSnapshot\":true,\"pageLoadStrategy\":\"normal\",\"databaseEnabled\":false,\"handlesAlerts\":true,\"hasTouchScreen\":true,\"version\":\"54.0.2840.98\",\"platform\":\"MAC\",\"browserConnectionEnabled\":false,\"nativeEvents\":true,\"acceptSslCerts\":true,\"webdriver.remote.sessionid\":\"cfb502ab-076d-40fc-a73e-bceb2a0d100d\",\"locationContextEnabled\":true,\"webStorageEnabled\":true,\"browserName\":\"chrome\",\"takesScreenshot\":true,\"javascriptEnabled\":true,\"cssSelectorsEnabled\":true},\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
+   ],
+   "POST session/0d9c5e47-12f9-4c56-beb8-2de30137070a/element {\"using\":\"xpath\",\"value\":\"//input[@type='text']\"}" : [
+      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 13 Dec 2016 15:57:06 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 169\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 13 Dec 2016 15:57:06 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"0d9c5e47-12f9-4c56-beb8-2de30137070a\",\"hCode\":692339240,\"value\":{\"ELEMENT\":\"0\"},\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
    ],
-   "POST session/a831783d-42cd-408e-afca-bc7548c55a70/element {\"using\":\"xpath\",\"value\":\"//*[contains(text(),'right click me')]\"}" : [
-      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 01 Nov 2016 02:36:18 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 169\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 01 Nov 2016 02:36:18 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"a831783d-42cd-408e-afca-bc7548c55a70\",\"hCode\":108667381,\"value\":{\"ELEMENT\":\"0\"},\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
+   "DELETE session/0d9c5e47-12f9-4c56-beb8-2de30137070a {}" : [
+      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 13 Dec 2016 15:57:06 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 158\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 13 Dec 2016 15:57:06 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"0d9c5e47-12f9-4c56-beb8-2de30137070a\",\"hCode\":809964258,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
    ],
-   "POST session/a831783d-42cd-408e-afca-bc7548c55a70/click {\"button\":2}" : [
-      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 01 Nov 2016 02:36:18 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 159\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 01 Nov 2016 02:36:18 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"a831783d-42cd-408e-afca-bc7548c55a70\",\"hCode\":2003710956,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
+   "POST session/cfb502ab-076d-40fc-a73e-bceb2a0d100d/element {\"using\":\"xpath\",\"value\":\"//*[text()='Paste']\"}" : [
+      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 13 Dec 2016 15:57:09 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 169\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 13 Dec 2016 15:57:09 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"cfb502ab-076d-40fc-a73e-bceb2a0d100d\",\"hCode\":432580762,\"value\":{\"ELEMENT\":\"1\"},\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
    ],
-   "DELETE session/3f503639-8f7c-4416-9db8-db3fa5b9adaf {}" : [
-      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 01 Nov 2016 02:36:17 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 159\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 01 Nov 2016 02:36:17 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"3f503639-8f7c-4416-9db8-db3fa5b9adaf\",\"hCode\":2024587853,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
+   "DELETE session/cfb502ab-076d-40fc-a73e-bceb2a0d100d {}" : [
+      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 13 Dec 2016 15:57:09 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 159\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 13 Dec 2016 15:57:10 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"cfb502ab-076d-40fc-a73e-bceb2a0d100d\",\"hCode\":1187653314,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
    ],
-   "POST session/3f503639-8f7c-4416-9db8-db3fa5b9adaf/keys {\"value\":[\"\"]}" : [
-      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 01 Nov 2016 02:36:17 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 158\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 01 Nov 2016 02:36:17 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"3f503639-8f7c-4416-9db8-db3fa5b9adaf\",\"hCode\":328612161,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n",
-      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 01 Nov 2016 02:36:17 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 159\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 01 Nov 2016 02:36:17 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"3f503639-8f7c-4416-9db8-db3fa5b9adaf\",\"hCode\":2034514983,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
+   "POST session/cfb502ab-076d-40fc-a73e-bceb2a0d100d/element {\"using\":\"xpath\",\"value\":\"//*[contains(text(),'right click me')]\"}" : [
+      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 13 Dec 2016 15:57:09 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 170\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 13 Dec 2016 15:57:09 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"cfb502ab-076d-40fc-a73e-bceb2a0d100d\",\"hCode\":1784282694,\"value\":{\"ELEMENT\":\"0\"},\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
    ],
-   "POST session/3f503639-8f7c-4416-9db8-db3fa5b9adaf/elements {\"using\":\"xpath\",\"value\":\"//*[@class='hdtb-mitem']\"}" : [
-      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 01 Nov 2016 02:36:17 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 157\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 01 Nov 2016 02:36:17 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"3f503639-8f7c-4416-9db8-db3fa5b9adaf\",\"hCode\":1583373121,\"value\":[],\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
+   "POST session/cfb502ab-076d-40fc-a73e-bceb2a0d100d/moveto {\"element\":\"0\"}" : [
+      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 13 Dec 2016 15:57:09 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 159\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 13 Dec 2016 15:57:09 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"cfb502ab-076d-40fc-a73e-bceb2a0d100d\",\"hCode\":1929413445,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
    ],
-   "POST session/a831783d-42cd-408e-afca-bc7548c55a70/moveto {\"element\":\"0\"}" : [
-      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 01 Nov 2016 02:36:18 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 159\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 01 Nov 2016 02:36:18 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"a831783d-42cd-408e-afca-bc7548c55a70\",\"hCode\":1724830628,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
+   "POST session/0d9c5e47-12f9-4c56-beb8-2de30137070a/url {\"url\":\"https://www.google.com\"}" : [
+      "HTTP/1.1 200 OK\nCache-Control: no-cache\nCache-Control: no-cache\nConnection: close\nDate: Tue, 13 Dec 2016 15:57:05 GMT\nServer: Jetty(9.2.15.v20160210)\nContent-Length: 159\nContent-Type: application/json; charset=utf-8\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\nClient-Date: Tue, 13 Dec 2016 15:57:06 GMT\nClient-Peer: 127.0.0.1:4444\nClient-Response-Num: 1\n\n{\"state\":\"success\",\"sessionId\":\"0d9c5e47-12f9-4c56-beb8-2de30137070a\",\"hCode\":1605414546,\"value\":null,\"class\":\"org.openqa.selenium.remote.Response\",\"status\":0}\n"
    ]
 }