mozilla / geckodriver

WebDriver for Firefox
https://firefox-source-docs.mozilla.org/testing/geckodriver/
Mozilla Public License 2.0
7.15k stars 1.52k forks source link

Ctrl not pressed for Ctrl-A (SendKeys of Actions API) #665

Closed codingphil closed 6 years ago

codingphil commented 7 years ago

Firefox Version

53.0 (64bit) geckodriver 0.15

Platform

Windows 10 Anniversary Update (Redstone 1)

Steps to reproduce -

When sending "Ctrl-A" to Actions.sendKeys(elem, keys) the Ctrl key seems to be not pressed (just the 'a' character). The Ctrl-A is created via Keys.chord().

Sending other non-modifier special keys like Backspace works fine.

Maybe related to #233.

The following unit test fails with: org.junit.ComparisonFailure: expected:<[]> but was:<[12345a]>

    // given
    driver.navigate().to("http://localhost/SimpleTextField.html"); // TODO: Adapt to your own local server
    WebElement textFieldElem = driver.findElementByName("textfield");
    textFieldElem.click();
    new Actions(driver).sendKeys(textFieldElem, "12345").perform();
    assertEquals("12345", textFieldElem.getAttribute("value"));

    // when
    List<CharSequence> keyWithModifiers = new ArrayList<CharSequence>();
    keyWithModifiers.add(Keys.CONTROL);
    keyWithModifiers.add("a");
    String ctrlA = Keys.chord(keyWithModifiers);
    new Actions(driver).sendKeys(textFieldElem, ctrlA).perform();
    new Actions(driver).sendKeys(Keys.DELETE).perform();

    // then
    assertEquals("", textFieldElem.getAttribute("value")); // <<=== FAILS

The same test works fine with Google Chrome.

<!DOCTYPE html>
<html>
<head>
    <title>Simple Text Field</title>
</head>
<body>
    <h1>Simple Text Field</h1>
    <input type="text" name="textfield" value="">
</body>
</html>
Apr 21, 2017 5:07:15 PM org.openqa.selenium.firefox.FirefoxOptions toCapabilities
INFO: Preferring the firefox binary in these options (C:\Program Files\Mozilla Firefox\firefox.exe rather than /Program Files/Mozilla Firefox/firefox.exe)
Apr 21, 2017 5:07:15 PM org.openqa.selenium.firefox.FirefoxOptions toCapabilities
INFO: Preferring the firefox binary in these options (C:\Program Files\Mozilla Firefox\firefox.exe rather than null)
Apr 21, 2017 5:07:15 PM org.openqa.selenium.firefox.FirefoxOptions toCapabilities
INFO: Preferring the firefox binary in these options (C:\Program Files\Mozilla Firefox\firefox.exe rather than /Program Files/Mozilla Firefox/firefox.exe)
Apr 21, 2017 5:07:15 PM org.openqa.selenium.firefox.FirefoxOptions toCapabilities
INFO: Preferring the firefox binary in these options (C:\Program Files\Mozilla Firefox\firefox.exe rather than null)
1492787235734   geckodriver INFO    Listening on 127.0.0.1:33610
1492787236444   mozprofile::profile INFO    Using profile path C:\Users\philipl\AppData\Local\Temp\rust_mozprofile.F0DcFSGb5XzF
1492787236451   geckodriver::marionette INFO    Starting browser C:\Program Files\Mozilla Firefox\firefox.exe with args []
1492787236465   geckodriver::marionette INFO    Connecting to Marionette on localhost:4302
1492787236954   Marionette  DEBUG   Marionette enabled via build flag and pref
1492787237951   Marionette  INFO    Listening on port 4302
1492787237968   geckodriver::marionette DEBUG   TCP connection established
[GPU 26204] WARNING: pipe error: 109: file c:/builds/moz2_slave/m-rel-w64-00000000000000000000/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
1492787237992   Marionette  DEBUG   Accepted connection conn0 from 127.0.0.1:4309
1492787237997   geckodriver::marionette DEBUG   ← {"applicationType":"gecko","marionetteProtocol":3}
1492787237997   geckodriver::marionette DEBUG   → 411:[0,1,"newSession",{"capabilities":{"desiredCapabilities":{"browserName":"firefox","firefox_binary":{"class":"org.openqa.selenium.firefox.FirefoxBinary","extraEnv":{},"hCode":18255785,"timeout":45000},"marionette":true,"platform":"ANY","version":""},"requiredCapabilities":{"firefox_binary":{"class":"org.openqa.selenium.firefox.FirefoxBinary","extraEnv":{},"hCode":18255785,"timeout":45000}}},"sessionId":null}]
1492787238002   Marionette  TRACE   conn0 -> [0,1,"newSession",{"capabilities":{"desiredCapabilities":{"browserName":"firefox","firefox_binary":{"class":"org.openqa.selenium.firefox.FirefoxBinary","extraEnv":{},"hCode":18255785,"timeout":45000},"marionette":true,"platform":"ANY","version":""},"requiredCapabilities":{"firefox_binary":{"class":"org.openqa.selenium.firefox.FirefoxBinary","extraEnv":{},"hCode":18255785,"timeout":45000}}},"sessionId":null}]
1492787238005   Marionette  CONFIG  Matched capabilities: {"browserName":"firefox","browserVersion":"53.0","platformName":"windows_nt","platformVersion":"10.0","pageLoadStrategy":"normal","acceptInsecureCerts":false,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"rotatable":false,"specificationLevel":0,"moz:processID":34440,"moz:profile":"C:\\Users\\philipl\\AppData\\Local\\Temp\\rust_mozprofile.F0DcFSGb5XzF","moz:accessibilityChecks":false}
1492787238046   Marionette  TRACE   conn0 <- [1,1,null,{"sessionId":"b802711d-5304-421e-bcf3-86db23ea574a","capabilities":{"browserName":"firefox","browserVersion":"53.0","platformName":"windows_nt","platformVersion":"10.0","pageLoadStrategy":"normal","acceptInsecureCerts":false,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"rotatable":false,"specificationLevel":0,"moz:processID":34440,"moz:profile":"C:\\Users\\philipl\\AppData\\Local\\Temp\\rust_mozprofile.F0DcFSGb5XzF","moz:accessibilityChecks":false}}]
1492787238049   geckodriver::marionette DEBUG   ← [1,1,null,{"sessionId":"b802711d-5304-421e-bcf3-86db23ea574a","capabilities":{"browserName":"firefox","browserVersion":"53.0","platformName":"windows_nt","platformVersion":"10.0","pageLoadStrategy":"normal","acceptInsecureCerts":false,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"rotatable":false,"specificationLevel":0,"moz:processID":34440,"moz:profile":"C:\\Users\\philipl\\AppData\\Local\\Temp\\rust_mozprofile.F0DcFSGb5XzF","moz:accessibilityChecks":false}}]
1492787238049   webdriver::server   DEBUG   Returning status Ok
1492787238049   webdriver::server   DEBUG   Returning body {"value": {"sessionId":"b802711d-5304-421e-bcf3-86db23ea574a","value":{"acceptInsecureCerts":false,"browserName":"firefox","browserVersion":"53.0","moz:accessibilityChecks":false,"moz:processID":34440,"moz:profile":"C:\\Users\\philipl\\AppData\\Local\\Temp\\rust_mozprofile.F0DcFSGb5XzF","pageLoadStrategy":"normal","platformName":"windows_nt","platformVersion":"10.0","rotatable":false,"specificationLevel":0,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000}}}}
1492787238049   hyper::header   TRACE   Headers.set( "Content-Type", ContentType(Mime(Application, Json, [(Charset, Utf8)])) )
1492787238049   hyper::header   TRACE   Headers.set( "Cache-Control", CacheControl([NoCache]) )
1492787238049   hyper::header   TRACE   Headers.set( "Content-Length", ContentLength(471) )
1492787238049   hyper::server::response DEBUG   writing head: Http11 Ok
1492787238049   hyper::header   TRACE   Headers.set( "Date", Date(HttpDate(Tm { tm_sec: 18, tm_min: 7, tm_hour: 15, tm_mday: 21, tm_mon: 3, tm_year: 117, tm_wday: 5, tm_yday: 110, tm_isdst: 0, tm_utcoff: 0, tm_nsec: 49004800 })) )
1492787238049   hyper::server::response DEBUG   headers [
Headers { Connection: close
, Content-Type: application/json; charset=utf-8
, Cache-Control: no-cache
, Content-Length: 471
, Date: Fri, 21 Apr 2017 15:07:18 GMT
, }]
1492787238049   hyper::server::response DEBUG   write 471 bytes
1492787238049   hyper::server::response TRACE   ending
1492787238049   hyper::server   DEBUG   keep_alive = false for 127.0.0.1:4301
1492787238049   hyper::server   DEBUG   keep_alive loop ending for 127.0.0.1:4301
Apr 21, 2017 5:07:18 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
1492787238075   hyper::server   DEBUG   Incoming stream
1492787238075   hyper::buffer   TRACE   get_buf []
1492787238075   hyper::buffer   TRACE   read_into_buf buf[0..4096]
1492787238076   hyper::buffer   TRACE   get_buf [u8; 4096][0..325]
1492787238076   hyper::http::h1 TRACE   try_parse([80, 79, 83, 84, 32, 47, 115, 101, 115, 115, 105, 111, 110, 47, 98, 56, 48, 50, 55, 49, 49, 100, 45, 53, 51, 48, 52, 45, 52, 50, 49, 101, 45, 98, 99, 102, 51, 45, 56, 54, 100, 98, 50, 51, 101, 97, 53, 55, 52, 97, 47, 117, 114, 108, 32, 72, 84, 84, 80, 47, 49, 46, 49, 13, 10, 67, 111, 110, 116, 101, 110, 116, 45, 84, 121, 112, 101, 58, 32, 97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 116, 102, 45, 56, 13, 10, 67, 111, 110, 116, 101, 110, 116, 45, 76, 101, 110, 103, 116, 104, 58, 32, 53, 57, 13, 10, 72, 111, 115, 116, 58, 32, 108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48, 13, 10, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 58, 32, 75, 101, 101, 112, 45, 65, 108, 105, 118, 101, 13, 10, 85, 115, 101, 114, 45, 65, 103, 101, 110, 116, 58, 32, 65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41, 13, 10, 65, 99, 99, 101, 112, 116, 45, 69, 110, 99, 111, 100, 105, 110, 103, 58, 32, 103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101, 13, 10, 13, 10, 123, 34, 117, 114, 108, 34, 58, 34, 104, 116, 116, 112, 58, 47, 47, 108, 110, 122, 45, 116, 101, 115, 116, 115, 105, 116, 101, 47, 83, 105, 108, 107, 84, 101, 115, 116, 47, 83, 105, 109, 112, 108, 101, 84, 101, 120, 116, 70, 105, 101, 108, 100, 46, 104, 116, 109, 108, 34, 125])
1492787238076   hyper::http::h1 TRACE   Request.try_parse([Header; 100], [u8; 325])
1492787238076   hyper::http::h1 TRACE   Request.try_parse Complete(266)
1492787238076   hyper::header   TRACE   raw header: "Content-Type"=[97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 116, 102, 45, 56]
1492787238076   hyper::header   TRACE   raw header: "Content-Length"=[53, 57]
1492787238076   hyper::header   TRACE   raw header: "Host"=[108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48]
1492787238076   hyper::header   TRACE   raw header: "Connection"=[75, 101, 101, 112, 45, 65, 108, 105, 118, 101]
1492787238076   hyper::header   TRACE   raw header: "User-Agent"=[65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41]
1492787238076   hyper::header   TRACE   raw header: "Accept-Encoding"=[103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101]
1492787238076   hyper::server::request  DEBUG   Request Line: Post AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a/url") Http11
1492787238076   hyper::server::request  DEBUG   Headers { Content-Type: application/json; charset=utf-8
, Content-Length: 59
, Host: localhost:33610
, Connection: Keep-Alive
, User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_112)
, Accept-Encoding: gzip,deflate
, }
1492787238076   hyper::header   TRACE   Headers.set( "Connection", Connection([Close]) )
1492787238076   hyper::http::h1 TRACE   Sized read, remaining=59
1492787238076   hyper::http::h1 TRACE   Sized read: 32
1492787238076   hyper::http::h1 TRACE   Sized read, remaining=27
1492787238076   hyper::http::h1 TRACE   Sized read: 27
1492787238076   hyper::http::h1 TRACE   Sized read, remaining=0
1492787238076   webdriver::server   DEBUG   Got request POST AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a/url")
1492787238076   webdriver::command  DEBUG   Got request body {"url":"http://lnz-testsite/SilkTest/SimpleTextField.html"}
1492787238077   geckodriver::marionette DEBUG   → 71:[0,2,"get",{"url":"http://lnz-testsite/SilkTest/SimpleTextField.html"}]
1492787238077   Marionette  TRACE   conn0 -> [0,2,"get",{"url":"http://lnz-testsite/SilkTest/SimpleTextField.html"}]
1492787238116   Marionette  TRACE   conn0 <- [1,2,null,{}]
1492787238120   geckodriver::marionette DEBUG   ← [1,2,null,{}]
1492787238120   webdriver::server   DEBUG   Returning status Ok
1492787238120   webdriver::server   DEBUG   Returning body {"value": {}}
1492787238120   hyper::header   TRACE   Headers.set( "Content-Type", ContentType(Mime(Application, Json, [(Charset, Utf8)])) )
1492787238120   hyper::header   TRACE   Headers.set( "Cache-Control", CacheControl([NoCache]) )
1492787238120   hyper::header   TRACE   Headers.set( "Content-Length", ContentLength(13) )
1492787238120   hyper::server::response DEBUG   writing head: Http11 Ok
1492787238120   hyper::header   TRACE   Headers.set( "Date", Date(HttpDate(Tm { tm_sec: 18, tm_min: 7, tm_hour: 15, tm_mday: 21, tm_mon: 3, tm_year: 117, tm_wday: 5, tm_yday: 110, tm_isdst: 0, tm_utcoff: 0, tm_nsec: 120541400 })) )
1492787238120   hyper::server::response DEBUG   headers [
Headers { Connection: close
, Content-Type: application/json; charset=utf-8
, Cache-Control: no-cache
, Content-Length: 13
, Date: Fri, 21 Apr 2017 15:07:18 GMT
, }]
1492787238120   hyper::server::response DEBUG   write 13 bytes
1492787238120   hyper::server::response TRACE   ending
1492787238121   hyper::server   DEBUG   keep_alive = false for 127.0.0.1:4315
1492787238121   hyper::server   DEBUG   keep_alive loop ending for 127.0.0.1:4315
1492787238125   hyper::server   DEBUG   Incoming stream
1492787238125   hyper::buffer   TRACE   get_buf []
1492787238125   hyper::buffer   TRACE   read_into_buf buf[0..4096]
1492787238125   hyper::buffer   TRACE   get_buf [u8; 4096][0..324]
1492787238125   hyper::http::h1 TRACE   try_parse([80, 79, 83, 84, 32, 47, 115, 101, 115, 115, 105, 111, 110, 47, 98, 56, 48, 50, 55, 49, 49, 100, 45, 53, 51, 48, 52, 45, 52, 50, 49, 101, 45, 98, 99, 102, 51, 45, 56, 54, 100, 98, 50, 51, 101, 97, 53, 55, 52, 97, 47, 101, 108, 101, 109, 101, 110, 116, 32, 72, 84, 84, 80, 47, 49, 46, 49, 13, 10, 67, 111, 110, 116, 101, 110, 116, 45, 84, 121, 112, 101, 58, 32, 97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 116, 102, 45, 56, 13, 10, 67, 111, 110, 116, 101, 110, 116, 45, 76, 101, 110, 103, 116, 104, 58, 32, 53, 52, 13, 10, 72, 111, 115, 116, 58, 32, 108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48, 13, 10, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 58, 32, 75, 101, 101, 112, 45, 65, 108, 105, 118, 101, 13, 10, 85, 115, 101, 114, 45, 65, 103, 101, 110, 116, 58, 32, 65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41, 13, 10, 65, 99, 99, 101, 112, 116, 45, 69, 110, 99, 111, 100, 105, 110, 103, 58, 32, 103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101, 13, 10, 13, 10, 123, 34, 118, 97, 108, 117, 101, 34, 58, 34, 42, 91, 110, 97, 109, 101, 61, 39, 116, 101, 120, 116, 102, 105, 101, 108, 100, 39, 93, 34, 44, 34, 117, 115, 105, 110, 103, 34, 58, 34, 99, 115, 115, 32, 115, 101, 108, 101, 99, 116, 111, 114, 34, 125])
1492787238125   hyper::http::h1 TRACE   Request.try_parse([Header; 100], [u8; 324])
1492787238125   hyper::http::h1 TRACE   Request.try_parse Complete(270)
1492787238125   hyper::header   TRACE   raw header: "Content-Type"=[97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 116, 102, 45, 56]
1492787238125   hyper::header   TRACE   raw header: "Content-Length"=[53, 52]
1492787238125   hyper::header   TRACE   raw header: "Host"=[108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48]
1492787238125   hyper::header   TRACE   raw header: "Connection"=[75, 101, 101, 112, 45, 65, 108, 105, 118, 101]
1492787238125   hyper::header   TRACE   raw header: "User-Agent"=[65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41]
1492787238125   hyper::header   TRACE   raw header: "Accept-Encoding"=[103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101]
1492787238125   hyper::server::request  DEBUG   Request Line: Post AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a/element") Http11
1492787238125   hyper::server::request  DEBUG   Headers { Content-Type: application/json; charset=utf-8
, Content-Length: 54
, Host: localhost:33610
, Connection: Keep-Alive
, User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_112)
, Accept-Encoding: gzip,deflate
, }
1492787238125   hyper::header   TRACE   Headers.set( "Connection", Connection([Close]) )
1492787238125   hyper::http::h1 TRACE   Sized read, remaining=54
1492787238125   hyper::http::h1 TRACE   Sized read: 32
1492787238125   hyper::http::h1 TRACE   Sized read, remaining=22
1492787238125   hyper::http::h1 TRACE   Sized read: 22
1492787238125   hyper::http::h1 TRACE   Sized read, remaining=0
1492787238125   webdriver::server   DEBUG   Got request POST AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a/element")
1492787238126   webdriver::command  DEBUG   Got request body {"value":"*[name='textfield']","using":"css selector"}
1492787238126   geckodriver::marionette DEBUG   → 74:[0,3,"findElement",{"using":"css selector","value":"*[name='textfield']"}]
1492787238129   Marionette  TRACE   conn0 -> [0,3,"findElement",{"using":"css selector","value":"*[name='textfield']"}]
1492787238135   Marionette  TRACE   conn0 <- [1,3,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30","ELEMENT":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"}}]
1492787238135   geckodriver::marionette DEBUG   ← [1,3,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30","ELEMENT":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"}}]
1492787238135   webdriver::server   DEBUG   Returning status Ok
1492787238136   webdriver::server   DEBUG   Returning body {"value":{"element-6066-11e4-a52e-4f735466cecf":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"}}
1492787238136   hyper::header   TRACE   Headers.set( "Content-Type", ContentType(Mime(Application, Json, [(Charset, Utf8)])) )
1492787238136   hyper::header   TRACE   Headers.set( "Cache-Control", CacheControl([NoCache]) )
1492787238136   hyper::header   TRACE   Headers.set( "Content-Length", ContentLength(88) )
1492787238136   hyper::server::response DEBUG   writing head: Http11 Ok
1492787238136   hyper::header   TRACE   Headers.set( "Date", Date(HttpDate(Tm { tm_sec: 18, tm_min: 7, tm_hour: 15, tm_mday: 21, tm_mon: 3, tm_year: 117, tm_wday: 5, tm_yday: 110, tm_isdst: 0, tm_utcoff: 0, tm_nsec: 136051000 })) )
1492787238136   hyper::server::response DEBUG   headers [
Headers { Connection: close
, Content-Type: application/json; charset=utf-8
, Cache-Control: no-cache
, Content-Length: 88
, Date: Fri, 21 Apr 2017 15:07:18 GMT
, }]
1492787238136   hyper::server::response DEBUG   write 88 bytes
1492787238136   hyper::server::response TRACE   ending
1492787238136   hyper::server   DEBUG   keep_alive = false for 127.0.0.1:4317
1492787238136   hyper::server   DEBUG   keep_alive loop ending for 127.0.0.1:4317
1492787238140   hyper::server   DEBUG   Incoming stream
1492787238140   hyper::buffer   TRACE   get_buf []
1492787238140   hyper::buffer   TRACE   read_into_buf buf[0..4096]
1492787238141   hyper::buffer   TRACE   get_buf [u8; 4096][0..358]
1492787238141   hyper::http::h1 TRACE   try_parse([80, 79, 83, 84, 32, 47, 115, 101, 115, 115, 105, 111, 110, 47, 98, 56, 48, 50, 55, 49, 49, 100, 45, 53, 51, 48, 52, 45, 52, 50, 49, 101, 45, 98, 99, 102, 51, 45, 56, 54, 100, 98, 50, 51, 101, 97, 53, 55, 52, 97, 47, 101, 108, 101, 109, 101, 110, 116, 47, 100, 98, 99, 48, 53, 49, 102, 102, 45, 48, 101, 53, 50, 45, 52, 98, 57, 53, 45, 98, 55, 101, 55, 45, 101, 102, 53, 98, 98, 56, 50, 56, 49, 100, 51, 48, 47, 99, 108, 105, 99, 107, 32, 72, 84, 84, 80, 47, 49, 46, 49, 13, 10, 67, 111, 110, 116, 101, 110, 116, 45, 84, 121, 112, 101, 58, 32, 97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 116, 102, 45, 56, 13, 10, 67, 111, 110, 116, 101, 110, 116, 45, 76, 101, 110, 103, 116, 104, 58, 32, 52, 53, 13, 10, 72, 111, 115, 116, 58, 32, 108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48, 13, 10, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 58, 32, 75, 101, 101, 112, 45, 65, 108, 105, 118, 101, 13, 10, 85, 115, 101, 114, 45, 65, 103, 101, 110, 116, 58, 32, 65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41, 13, 10, 65, 99, 99, 101, 112, 116, 45, 69, 110, 99, 111, 100, 105, 110, 103, 58, 32, 103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101, 13, 10, 13, 10, 123, 34, 105, 100, 34, 58, 34, 100, 98, 99, 48, 53, 49, 102, 102, 45, 48, 101, 53, 50, 45, 52, 98, 57, 53, 45, 98, 55, 101, 55, 45, 101, 102, 53, 98, 98, 56, 50, 56, 49, 100, 51, 48, 34, 125])
1492787238141   hyper::http::h1 TRACE   Request.try_parse([Header; 100], [u8; 358])
1492787238141   hyper::http::h1 TRACE   Request.try_parse Complete(313)
1492787238141   hyper::header   TRACE   raw header: "Content-Type"=[97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 116, 102, 45, 56]
1492787238141   hyper::header   TRACE   raw header: "Content-Length"=[52, 53]
1492787238141   hyper::header   TRACE   raw header: "Host"=[108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48]
1492787238141   hyper::header   TRACE   raw header: "Connection"=[75, 101, 101, 112, 45, 65, 108, 105, 118, 101]
1492787238141   hyper::header   TRACE   raw header: "User-Agent"=[65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41]
1492787238141   hyper::header   TRACE   raw header: "Accept-Encoding"=[103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101]
1492787238141   hyper::server::request  DEBUG   Request Line: Post AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a/element/dbc051ff-0e52-4b95-b7e7-ef5bb8281d30/click") Http11
1492787238141   hyper::server::request  DEBUG   Headers { Content-Type: application/json; charset=utf-8
, Content-Length: 45
, Host: localhost:33610
, Connection: Keep-Alive
, User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_112)
, Accept-Encoding: gzip,deflate
, }
1492787238141   hyper::header   TRACE   Headers.set( "Connection", Connection([Close]) )
1492787238141   hyper::http::h1 TRACE   Sized read, remaining=45
1492787238141   hyper::http::h1 TRACE   Sized read: 32
1492787238141   hyper::http::h1 TRACE   Sized read, remaining=13
1492787238141   hyper::http::h1 TRACE   Sized read: 13
1492787238141   hyper::http::h1 TRACE   Sized read, remaining=0
1492787238141   webdriver::server   DEBUG   Got request POST AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a/element/dbc051ff-0e52-4b95-b7e7-ef5bb8281d30/click")
1492787238142   webdriver::command  DEBUG   Got request body {"id":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"}
1492787238142   geckodriver::marionette DEBUG   → 66:[0,4,"clickElement",{"id":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"}]
1492787238143   Marionette  TRACE   conn0 -> [0,4,"clickElement",{"id":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"}]
1492787238181   Marionette  TRACE   conn0 <- [1,4,null,{}]
1492787238181   geckodriver::marionette DEBUG   ← [1,4,null,{}]
1492787238181   webdriver::server   DEBUG   Returning status Ok
1492787238181   webdriver::server   DEBUG   Returning body {"value": {}}
1492787238181   hyper::header   TRACE   Headers.set( "Content-Type", ContentType(Mime(Application, Json, [(Charset, Utf8)])) )
1492787238181   hyper::header   TRACE   Headers.set( "Cache-Control", CacheControl([NoCache]) )
1492787238181   hyper::header   TRACE   Headers.set( "Content-Length", ContentLength(13) )
1492787238181   hyper::server::response DEBUG   writing head: Http11 Ok
1492787238181   hyper::header   TRACE   Headers.set( "Date", Date(HttpDate(Tm { tm_sec: 18, tm_min: 7, tm_hour: 15, tm_mday: 21, tm_mon: 3, tm_year: 117, tm_wday: 5, tm_yday: 110, tm_isdst: 0, tm_utcoff: 0, tm_nsec: 181584900 })) )
1492787238181   hyper::server::response DEBUG   headers [
Headers { Connection: close
, Content-Type: application/json; charset=utf-8
, Cache-Control: no-cache
, Content-Length: 13
, Date: Fri, 21 Apr 2017 15:07:18 GMT
, }]
1492787238181   hyper::server::response DEBUG   write 13 bytes
1492787238181   hyper::server::response TRACE   ending
1492787238182   hyper::server   DEBUG   keep_alive = false for 127.0.0.1:4318
1492787238182   hyper::server   DEBUG   keep_alive loop ending for 127.0.0.1:4318
1492787238194   hyper::server   DEBUG   Incoming stream
1492787238194   hyper::buffer   TRACE   get_buf []
1492787238194   hyper::buffer   TRACE   read_into_buf buf[0..4096]
1492787238194   hyper::buffer   TRACE   get_buf [u8; 4096][0..1067]
1492787238194   hyper::http::h1 TRACE   try_parse([80, 79, 83, 84, 32, 47, 115, 101, 115, 115, 105, 111, 110, 47, 98, 56, 48, 50, 55, 49, 49, 100, 45, 53, 51, 48, 52, 45, 52, 50, 49, 101, 45, 98, 99, 102, 51, 45, 56, 54, 100, 98, 50, 51, 101, 97, 53, 55, 52, 97, 47, 97, 99, 116, 105, 111, 110, 115, 32, 72, 84, 84, 80, 47, 49, 46, 49, 13, 10, 67, 111, 110, 116, 101, 110, 116, 45, 84, 121, 112, 101, 58, 32, 97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 116, 102, 45, 56, 13, 10, 67, 111, 110, 116, 101, 110, 116, 45, 76, 101, 110, 103, 116, 104, 58, 32, 55, 57, 54, 13, 10, 72, 111, 115, 116, 58, 32, 108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48, 13, 10, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 58, 32, 75, 101, 101, 112, 45, 65, 108, 105, 118, 101, 13, 10, 85, 115, 101, 114, 45, 65, 103, 101, 110, 116, 58, 32, 65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41, 13, 10, 65, 99, 99, 101, 112, 116, 45, 69, 110, 99, 111, 100, 105, 110, 103, 58, 32, 103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101, 13, 10, 13, 10, 123, 34, 97, 99, 116, 105, 111, 110, 115, 34, 58, 91, 123, 34, 105, 100, 34, 58, 34, 100, 101, 102, 97, 117, 108, 116, 32, 109, 111, 117, 115, 101, 34, 44, 34, 116, 121, 112, 101, 34, 58, 34, 112, 111, 105, 110, 116, 101, 114, 34, 44, 34, 112, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 58, 123, 34, 112, 111, 105, 110, 116, 101, 114, 84, 121, 112, 101, 34, 58, 34, 109, 111, 117, 115, 101, 34, 125, 44, 34, 97, 99, 116, 105, 111, 110, 115, 34, 58, 91, 123, 34, 100, 117, 114, 97, 116, 105, 111, 110, 34, 58, 49, 48, 48, 44, 34, 120, 34, 58, 48, 44, 34, 121, 34, 58, 48, 44, 34, 116, 121, 112, 101, 34, 58, 34, 112, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 34, 44, 34, 111, 114, 105, 103, 105, 110, 34, 58, 123, 34, 69, 76, 69, 77, 69, 78, 84, 34, 58, 34, 100, 98, 99, 48, 53, 49, 102, 102, 45, 48, 101, 53, 50, 45, 52, 98, 57, 53, 45, 98, 55, 101, 55, 45, 101, 102, 53, 98, 98, 56, 50, 56, 49, 100, 51, 48, 34, 44, 34, 101, 108, 101, 109, 101, 110, 116, 45, 54, 48, 54, 54, 45, 49, 49, 101, 52, 45, 97, 53, 50, 101, 45, 52, 102, 55, 51, 53, 52, 54, 54, 99, 101, 99, 102, 34, 58, 34, 100, 98, 99, 48, 53, 49, 102, 102, 45, 48, 101, 53, 50, 45, 52, 98, 57, 53, 45, 98, 55, 101, 55, 45, 101, 102, 53, 98, 98, 56, 50, 56, 49, 100, 51, 48, 34, 125, 125, 44, 123, 34, 98, 117, 116, 116, 111, 110, 34, 58, 48, 44, 34, 116, 121, 112, 101, 34, 58, 34, 112, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 34, 125, 44, 123, 34, 98, 117, 116, 116, 111, 110, 34, 58, 48, 44, 34, 116, 121, 112, 101, 34, 58, 34, 112, 111, 105, 110, 116, 101, 114, 85, 112, 34, 125, 93, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 34, 44, 34, 97, 99, 116, 105, 111, 110, 115, 34, 58, 91, 123, 34, 100, 117, 114, 97, 116, 105, 111, 110, 34, 58, 48, 44, 34, 116, 121, 112, 101, 34, 58, 34, 112, 97, 117, 115, 101, 34, 125, 44, 123, 34, 100, 117, 114, 97, 116, 105, 111, 110, 34, 58, 48, 44, 34, 116, 121, 112, 101, 34, 58, 34, 112, 97, 117, 115, 101, 34, 125, 44, 123, 34, 100, 117, 114, 97, 116, 105, 111, 110, 34, 58, 48, 44, 34, 116, 121, 112, 101, 34, 58, 34, 112, 97, 117, 115, 101, 34, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 68, 111, 119, 110, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 49, 34, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 85, 112, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 49, 34, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 68, 111, 119, 110, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 50, 34, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 85, 112, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 50, 34, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 68, 111, 119, 110, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 51, 34, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 85, 112, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 51, 34, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 68, 111, 119, 110, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 52, 34, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 85, 112, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 52, 34, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 68, 111, 119, 110, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 53, 34, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 85, 112, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 53, 34, 125, 93, 44, 34, 105, 100, 34, 58, 34, 100, 101, 102, 97, 117, 108, 116, 32, 107, 101, 121, 98, 111, 97, 114, 100, 34, 125, 93, 125])
1492787238194   hyper::http::h1 TRACE   Request.try_parse([Header; 100], [u8; 1067])
1492787238194   hyper::http::h1 TRACE   Request.try_parse Complete(271)
1492787238194   hyper::header   TRACE   raw header: "Content-Type"=[97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 116, 102, 45, 56]
1492787238194   hyper::header   TRACE   raw header: "Content-Length"=[55, 57, 54]
1492787238194   hyper::header   TRACE   raw header: "Host"=[108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48]
1492787238194   hyper::header   TRACE   raw header: "Connection"=[75, 101, 101, 112, 45, 65, 108, 105, 118, 101]
1492787238194   hyper::header   TRACE   raw header: "User-Agent"=[65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41]
1492787238194   hyper::header   TRACE   raw header: "Accept-Encoding"=[103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101]
1492787238194   hyper::server::request  DEBUG   Request Line: Post AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a/actions") Http11
1492787238194   hyper::server::request  DEBUG   Headers { Content-Type: application/json; charset=utf-8
, Content-Length: 796
, Host: localhost:33610
, Connection: Keep-Alive
, User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_112)
, Accept-Encoding: gzip,deflate
, }
1492787238194   hyper::header   TRACE   Headers.set( "Connection", Connection([Close]) )
1492787238194   hyper::http::h1 TRACE   Sized read, remaining=796
1492787238194   hyper::http::h1 TRACE   Sized read: 32
1492787238194   hyper::http::h1 TRACE   Sized read, remaining=764
1492787238194   hyper::http::h1 TRACE   Sized read: 64
1492787238194   hyper::http::h1 TRACE   Sized read, remaining=700
1492787238194   hyper::http::h1 TRACE   Sized read: 128
1492787238194   hyper::http::h1 TRACE   Sized read, remaining=572
1492787238194   hyper::http::h1 TRACE   Sized read: 256
1492787238194   hyper::http::h1 TRACE   Sized read, remaining=316
1492787238194   hyper::http::h1 TRACE   Sized read: 316
1492787238194   hyper::http::h1 TRACE   Sized read, remaining=0
1492787238194   webdriver::server   DEBUG   Got request POST AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a/actions")
1492787238195   webdriver::command  DEBUG   Got request body {"actions":[{"id":"default mouse","type":"pointer","parameters":{"pointerType":"mouse"},"actions":[{"duration":100,"x":0,"y":0,"type":"pointerMove","origin":{"ELEMENT":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30","element-6066-11e4-a52e-4f735466cecf":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"}},{"button":0,"type":"pointerDown"},{"button":0,"type":"pointerUp"}]},{"type":"key","actions":[{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"type":"keyDown","value":"1"},{"type":"keyUp","value":"1"},{"type":"keyDown","value":"2"},{"type":"keyUp","value":"2"},{"type":"keyDown","value":"3"},{"type":"keyUp","value":"3"},{"type":"keyDown","value":"4"},{"type":"keyUp","value":"4"},{"type":"keyDown","value":"5"},{"type":"keyUp","value":"5"}],"id":"default keyboard"}]}
1492787238195   geckodriver::marionette DEBUG   → 770:[0,5,"performActions",{"actions":[{"actions":[{"duration":100,"origin":{"element-6066-11e4-a52e-4f735466cecf":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"},"type":"pointerMove","x":0,"y":0},{"button":0,"type":"pointerDown"},{"button":0,"type":"pointerUp"}],"id":"default mouse","parameters":{"pointerType":"mouse"},"type":"pointer"},{"actions":[{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"type":"keyDown","value":"1"},{"type":"keyUp","value":"1"},{"type":"keyDown","value":"2"},{"type":"keyUp","value":"2"},{"type":"keyDown","value":"3"},{"type":"keyUp","value":"3"},{"type":"keyDown","value":"4"},{"type":"keyUp","value":"4"},{"type":"keyDown","value":"5"},{"type":"keyUp","value":"5"}],"id":"default keyboard","type":"key"}]}]
1492787238196   Marionette  TRACE   conn0 -> [0,5,"performActions",{"actions":[{"actions":[{"duration":100,"origin":{"element-6066-11e4-a52e-4f735466cecf":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"},"type":"pointerMove","x":0,"y":0},{"button":0,"type":"pointerDown"},{"button":0,"type":"pointerUp"}],"id":"default mouse","parameters":{"pointerType":"mouse"},"type":"pointer"},{"actions":[{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"type":"keyDown","value":"1"},{"type":"keyUp","value":"1"},{"type":"keyDown","value":"2"},{"type":"keyUp","value":"2"},{"type":"keyDown","value":"3"},{"type":"keyUp","value":"3"},{"type":"keyDown","value":"4"},{"type":"keyUp","value":"4"},{"type":"keyDown","value":"5"},{"type":"keyUp","value":"5"}],"id":"default keyboard","type":"key"}]}]
1492787238327   Marionette  TRACE   conn0 <- [1,5,null,{}]
1492787238327   geckodriver::marionette DEBUG   ← [1,5,null,{}]
1492787238327   webdriver::server   DEBUG   Returning status Ok
1492787238327   webdriver::server   DEBUG   Returning body {"value": {}}
1492787238327   hyper::header   TRACE   Headers.set( "Content-Type", ContentType(Mime(Application, Json, [(Charset, Utf8)])) )
1492787238327   hyper::header   TRACE   Headers.set( "Cache-Control", CacheControl([NoCache]) )
1492787238327   hyper::header   TRACE   Headers.set( "Content-Length", ContentLength(13) )
1492787238327   hyper::server::response DEBUG   writing head: Http11 Ok
1492787238328   hyper::header   TRACE   Headers.set( "Date", Date(HttpDate(Tm { tm_sec: 18, tm_min: 7, tm_hour: 15, tm_mday: 21, tm_mon: 3, tm_year: 117, tm_wday: 5, tm_yday: 110, tm_isdst: 0, tm_utcoff: 0, tm_nsec: 328056600 })) )
1492787238328   hyper::server::response DEBUG   headers [
Headers { Connection: close
, Content-Type: application/json; charset=utf-8
, Cache-Control: no-cache
, Content-Length: 13
, Date: Fri, 21 Apr 2017 15:07:18 GMT
, }]
1492787238328   hyper::server::response DEBUG   write 13 bytes
1492787238328   hyper::server::response TRACE   ending
1492787238328   hyper::server   DEBUG   keep_alive = false for 127.0.0.1:4320
1492787238328   hyper::server   DEBUG   keep_alive loop ending for 127.0.0.1:4320
1492787238339   hyper::server   DEBUG   Incoming stream
1492787238340   hyper::buffer   TRACE   get_buf []
1492787238340   hyper::buffer   TRACE   read_into_buf buf[0..4096]
1492787238340   hyper::buffer   TRACE   get_buf [u8; 4096][0..277]
1492787238340   hyper::http::h1 TRACE   try_parse([80, 79, 83, 84, 32, 47, 115, 101, 115, 115, 105, 111, 110, 47, 98, 56, 48, 50, 55, 49, 49, 100, 45, 53, 51, 48, 52, 45, 52, 50, 49, 101, 45, 98, 99, 102, 51, 45, 56, 54, 100, 98, 50, 51, 101, 97, 53, 55, 52, 97, 47, 101, 120, 101, 99, 117, 116, 101, 47, 115, 121, 110, 99, 32, 72, 84, 84, 80, 47, 49, 46, 49, 13, 10, 67, 111, 110, 116, 101, 110, 116, 45, 84, 121, 112, 101, 58, 32, 97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 116, 102, 45, 56, 13, 10, 67, 111, 110, 116, 101, 110, 116, 45, 76, 101, 110, 103, 116, 104, 58, 32, 56, 53, 52, 53, 13, 10, 72, 111, 115, 116, 58, 32, 108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48, 13, 10, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 58, 32, 75, 101, 101, 112, 45, 65, 108, 105, 118, 101, 13, 10, 85, 115, 101, 114, 45, 65, 103, 101, 110, 116, 58, 32, 65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41, 13, 10, 65, 99, 99, 101, 112, 116, 45, 69, 110, 99, 111, 100, 105, 110, 103, 58, 32, 103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101, 13, 10, 13, 10])
1492787238340   hyper::http::h1 TRACE   Request.try_parse([Header; 100], [u8; 277])
1492787238340   hyper::http::h1 TRACE   Request.try_parse Complete(277)
1492787238340   hyper::header   TRACE   raw header: "Content-Type"=[97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 116, 102, 45, 56]
1492787238340   hyper::header   TRACE   raw header: "Content-Length"=[56, 53, 52, 53]
1492787238340   hyper::header   TRACE   raw header: "Host"=[108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48]
1492787238340   hyper::header   TRACE   raw header: "Connection"=[75, 101, 101, 112, 45, 65, 108, 105, 118, 101]
1492787238340   hyper::header   TRACE   raw header: "User-Agent"=[65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41]
1492787238340   hyper::header   TRACE   raw header: "Accept-Encoding"=[103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101]
1492787238340   hyper::server::request  DEBUG   Request Line: Post AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a/execute/sync") Http11
1492787238340   hyper::server::request  DEBUG   Headers { Content-Type: application/json; charset=utf-8
, Content-Length: 8545
, Host: localhost:33610
, Connection: Keep-Alive
, User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_112)
, Accept-Encoding: gzip,deflate
, }
1492787238340   hyper::header   TRACE   Headers.set( "Connection", Connection([Close]) )
1492787238340   hyper::http::h1 TRACE   Sized read, remaining=8545
1492787238341   hyper::http::h1 TRACE   Sized read: 32
1492787238341   hyper::http::h1 TRACE   Sized read, remaining=8513
1492787238341   hyper::http::h1 TRACE   Sized read: 64
1492787238341   hyper::http::h1 TRACE   Sized read, remaining=8449
1492787238341   hyper::http::h1 TRACE   Sized read: 128
1492787238341   hyper::http::h1 TRACE   Sized read, remaining=8321
1492787238341   hyper::http::h1 TRACE   Sized read: 256
1492787238341   hyper::http::h1 TRACE   Sized read, remaining=8065
1492787238341   hyper::http::h1 TRACE   Sized read: 512
1492787238341   hyper::http::h1 TRACE   Sized read, remaining=7553
1492787238341   hyper::http::h1 TRACE   Sized read: 1024
1492787238341   hyper::http::h1 TRACE   Sized read, remaining=6529
1492787238341   hyper::http::h1 TRACE   Sized read: 2048
1492787238341   hyper::http::h1 TRACE   Sized read, remaining=4481
1492787238341   hyper::http::h1 TRACE   Sized read: 32
1492787238341   hyper::http::h1 TRACE   Sized read, remaining=4449
1492787238341   hyper::http::h1 TRACE   Sized read: 1744
1492787238341   hyper::http::h1 TRACE   Sized read, remaining=2705
1492787238341   hyper::http::h1 TRACE   Sized read: 2320
1492787238341   hyper::http::h1 TRACE   Sized read, remaining=385
1492787238341   hyper::http::h1 TRACE   Sized read: 385
1492787238341   hyper::http::h1 TRACE   Sized read, remaining=0
1492787238341   webdriver::server   DEBUG   Got request POST AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a/execute/sync")
1492787238342   webdriver::command  DEBUG   Got request body {"script":"return (function(){return function(){var aa=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(a,c,b){if(b.get||b.set)throw new TypeError(\"ES3 does not support getters and setters.\");a!=Array.prototype&&a!=Object.prototype&&(a[c]=b.value)},ba=\"undefined\"!=typeof window&&window===this?this:\"undefined\"!=typeof global?global:this;\nfunction e(a,c){if(c){for(var b=ba,d=a.split(\".\"),f=0;f<d.length-1;f++){var h=d[f];h in b||(b[h]={});b=b[h]}d=d[d.length-1];f=b[d];h=c(f);h!=f&&null!=h&&aa(b,d,{configurable:!0,writable:!0,value:h})}}\ne(\"String.prototype.repeat\",function(a){return a?a:function(a){var b;if(null==this)throw new TypeError(\"The 'this' value for String.prototype.repeat must not be null or undefined\");b=this+\"\";if(0>a||1342177279<a)throw new RangeError(\"Invalid count value\");a|=0;for(var d=\"\";a;)if(a&1&&(d+=b),a>>>=1)b+=b;return d}});e(\"Math.sign\",function(a){return a?a:function(a){a=Number(a);return!a||isNaN(a)?a:0<a?1:-1}});var g=this;function l(a){return\"string\"==typeof a};function m(a,c){this.a=n[a]||p;this.message=c||\"\";var b=this.a.replace(/((?:^|\\s+)[a-z])/g,function(a){return a.toUpperCase().replace(/^[\\s\\xa0]+/g,\"\")}),d=b.length-5;if(0>d||b.indexOf(\"Error\",d)!=d)b+=\"Error\";this.name=b;b=Error(this.message);b.name=this.name;this.stack=b.stack||\"\"}\n(function(){var a=Error;function c(){}c.prototype=a.prototype;m.b=a.prototype;m.prototype=new c;m.prototype.constructor=m;m.a=function(b,c,f){for(var h=Array(arguments.length-2),k=2;k<arguments.length;k++)h[k-2]=arguments[k];return a.prototype[c].apply(b,h)}})();var p=\"unknown error\",n={15:\"element not selectable\",11:\"element not visible\"};n[31]=p;n[30]=p;n[24]=\"invalid cookie domain\";n[29]=\"invalid element coordinates\";n[12]=\"invalid element state\";n[32]=\"invalid selector\";n[51]=\"invalid selector\";\nn[52]=\"invalid selector\";n[17]=\"javascript error\";n[405]=\"unsupported operation\";n[34]=\"move target out of bounds\";n[27]=\"no such alert\";n[7]=\"no such element\";n[8]=\"no such frame\";n[23]=\"no such window\";n[28]=\"script timeout\";n[33]=\"session not created\";n[10]=\"stale element reference\";n[21]=\"timeout\";n[25]=\"unable to set cookie\";n[26]=\"unexpected alert open\";n[13]=p;n[9]=\"unknown command\";m.prototype.toString=function(){return this.name+\": \"+this.message};var q=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\\s\\xa0]+|[\\s\\xa0]+$/g,\"\")};\nfunction r(a,c){for(var b=0,d=q(String(a)).split(\".\"),f=q(String(c)).split(\".\"),h=Math.max(d.length,f.length),k=0;!b&&k<h;k++){var S=d[k]||\"\",ja=f[k]||\"\",ka=RegExp(\"(\\\\d*)(\\\\D*)\",\"g\"),la=RegExp(\"(\\\\d*)(\\\\D*)\",\"g\");do{var t=ka.exec(S)||[\"\",\"\",\"\"],u=la.exec(ja)||[\"\",\"\",\"\"];if(0==t[0].length&&0==u[0].length)break;b=v(0==t[1].length?0:parseInt(t[1],10),0==u[1].length?0:parseInt(u[1],10))||v(0==t[2].length,0==u[2].length)||v(t[2],u[2])}while(!b)}return b}function v(a,c){return a<c?-1:a>c?1:0};var w;a:{var x=g.navigator;if(x){var y=x.userAgent;if(y){w=y;break a}}w=\"\"}function z(a){return-1!=w.indexOf(a)};function ca(a,c){for(var b=a.length,d=l(a)?a.split(\"\"):a,f=0;f<b;f++)f in d&&c.call(void 0,d[f],f,a)};function A(){return z(\"iPhone\")&&!z(\"iPod\")&&!z(\"iPad\")};function B(){return z(\"Opera\")||z(\"OPR\")}function C(){return(z(\"Chrome\")||z(\"CriOS\"))&&!B()&&!z(\"Edge\")};var D=B(),E=z(\"Trident\")||z(\"MSIE\"),F=z(\"Edge\"),G=z(\"Gecko\")&&!(-1!=w.toLowerCase().indexOf(\"webkit\")&&!z(\"Edge\"))&&!(z(\"Trident\")||z(\"MSIE\"))&&!z(\"Edge\"),da=-1!=w.toLowerCase().indexOf(\"webkit\")&&!z(\"Edge\");function ea(){var a=w;if(G)return/rv\\:([^\\);]+)(\\)|;)/.exec(a);if(F)return/Edge\\/([\\d\\.]+)/.exec(a);if(E)return/\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(a);if(da)return/WebKit\\/(\\S+)/.exec(a)}function H(){var a=g.document;return a?a.documentMode:void 0}\nvar I=function(){if(D&&g.opera){var a;var c=g.opera.version;try{a=c()}catch(b){a=c}return a}a=\"\";(c=ea())&&(a=c?c[1]:\"\");return E&&(c=H(),null!=c&&c>parseFloat(a))?String(c):a}(),J={},K=g.document,L=K&&E?H()||(\"CSS1Compat\"==K.compatMode?parseInt(I,10):5):void 0;!G&&!E||E&&9<=Number(L)||G&&(J[\"1.9.1\"]||(J[\"1.9.1\"]=0<=r(I,\"1.9.1\")));E&&(J[\"9\"]||(J[\"9\"]=0<=r(I,\"9\")));var fa=z(\"Firefox\"),ga=A()||z(\"iPod\"),ha=z(\"iPad\"),M=z(\"Android\")&&!(C()||z(\"Firefox\")||B()||z(\"Silk\")),ia=C(),N=z(\"Safari\")&&!(C()||z(\"Coast\")||B()||z(\"Edge\")||z(\"Silk\")||z(\"Android\"))&&!(A()||z(\"iPad\")||z(\"iPod\"));var ma={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},na={IMG:\" \",BR:\"\\n\"};function oa(a,c,b){if(!(a.nodeName in ma))if(3==a.nodeType)b?c.push(String(a.nodeValue).replace(/(\\r\\n|\\r|\\n)/g,\"\")):c.push(a.nodeValue);else if(a.nodeName in na)c.push(na[a.nodeName]);else for(a=a.firstChild;a;)oa(a,c,b),a=a.nextSibling};function O(a){return(a=a.exec(w))?a[1]:\"\"}var pa=function(){if(fa)return O(/Firefox\\/([0-9.]+)/);if(E||F||D)return I;if(ia)return O(/Chrome\\/([0-9.]+)/);if(N&&!(A()||z(\"iPad\")||z(\"iPod\")))return O(/Version\\/([0-9.]+)/);if(ga||ha){var a=/Version\\/(\\S+).*Mobile\\/(\\S+)/.exec(w);if(a)return a[1]+\".\"+a[2]}else if(M)return(a=O(/Android\\s+([0-9.]+)/))?a:O(/Version\\/([0-9.]+)/);return\"\"}();var qa;function P(a){ra?qa(a):M?r(sa,a):r(pa,a)}var ra=function(){if(!G)return!1;var a=g.Components;if(!a)return!1;try{if(!a.classes)return!1}catch(f){return!1}var c=a.classes,a=a.interfaces,b=c[\"@mozilla.org/xpcom/version-comparator;1\"].getService(a.nsIVersionComparator),d=c[\"@mozilla.org/xre/app-info;1\"].getService(a.nsIXULAppInfo).version;qa=function(a){b.compare(d,\"\"+a)};return!0}(),Q;if(M){var ta=/Android\\s+([0-9\\.]+)/.exec(w);Q=ta?ta[1]:\"0\"}else Q=\"0\";\nvar sa=Q,ua=E&&!(8<=Number(L)),va=E&&!(9<=Number(L));M&&P(2.3);M&&P(4);N&&P(6);function R(a,c){c=c.toLowerCase();if(\"style\"==c)return wa(a.style.cssText);if(ua&&\"value\"==c&&T(a,\"INPUT\"))return a.value;if(va&&!0===a[c])return String(a.getAttribute(c));var b=a.getAttributeNode(c);return b&&b.specified?b.value:null}var xa=/[;]+(?=(?:(?:[^\"]*\"){2})*[^\"]*$)(?=(?:(?:[^']*'){2})*[^']*$)(?=(?:[^()]*\\([^()]*\\))*[^()]*$)/;\nfunction wa(a){var c=[];ca(a.split(xa),function(a){var d=a.indexOf(\":\");0<d&&(a=[a.slice(0,d),a.slice(d+1)],2==a.length&&c.push(a[0].toLowerCase(),\":\",a[1],\";\"))});c=c.join(\"\");return c=\";\"==c.charAt(c.length-1)?c:c+\";\"}function U(a,c){var b;ua&&\"value\"==c&&T(a,\"OPTION\")&&null===R(a,\"value\")?(b=[],oa(a,b,!1),b=b.join(\"\")):b=a[c];return b}function T(a,c){return!!a&&1==a.nodeType&&(!c||a.tagName.toUpperCase()==c)}\nfunction ya(a){return T(a,\"OPTION\")?!0:T(a,\"INPUT\")?(a=a.type.toLowerCase(),\"checkbox\"==a||\"radio\"==a):!1};var za={\"class\":\"className\",readonly:\"readOnly\"},V=\"async autofocus autoplay checked compact complete controls declare defaultchecked defaultselected defer disabled draggable ended formnovalidate hidden indeterminate iscontenteditable ismap itemscope loop multiple muted nohref noresize noshade novalidate nowrap open paused pubdate readonly required reversed scoped seamless seeking selected spellcheck truespeed willvalidate\".split(\" \");function Aa(a,c){var b=null,d=c.toLowerCase();if(\"style\"==d)return(b=a.style)&&!l(b)&&(b=b.cssText),b;if((\"selected\"==d||\"checked\"==d)&&ya(a)){if(!ya(a))throw new m(15,\"Element is not selectable\");var b=\"selected\",f=a.type&&a.type.toLowerCase();if(\"checkbox\"==f||\"radio\"==f)b=\"checked\";return U(a,b)?\"true\":null}var h=T(a,\"A\");if(T(a,\"IMG\")&&\"src\"==d||h&&\"href\"==d)return(b=R(a,d))&&(b=U(a,d)),b;if(\"spellcheck\"==d){b=R(a,d);if(null!==b){if(\"false\"==b.toLowerCase())return\"false\";if(\"true\"==b.toLowerCase())return\"true\"}return U(a,\nd)+\"\"}h=za[c]||c;a:if(l(V))d=l(d)&&1==d.length?V.indexOf(d,0):-1;else{for(var k=0;k<V.length;k++)if(k in V&&V[k]===d){d=k;break a}d=-1}if(0<=d)return(b=null!==R(a,c)||U(a,h))?\"true\":null;try{f=U(a,h)}catch(S){}(d=null==f)||(d=typeof f,d=\"object\"==d&&null!=f||\"function\"==d);d?b=R(a,c):b=f;return null!=b?b.toString():null}var W=[\"_\"],X=g;W[0]in X||!X.execScript||X.execScript(\"var \"+W[0]);for(var Y;W.length&&(Y=W.shift());){var Z;if(Z=!W.length)Z=void 0!==Aa;Z?X[Y]=Aa:X[Y]?X=X[Y]:X=X[Y]={}};; return this._.apply(null,arguments);}.apply({navigator:typeof window!='undefined'?window.navigator:null,document:typeof window!='undefined'?window.document:null}, arguments);}\n).apply(null, arguments);","args":[{"element-6066-11e4-a52e-4f735466cecf":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"},"value"]}
1492787238342   geckodriver::marionette DEBUG   → 8629:[0,6,"executeScript",{"args":[{"element-6066-11e4-a52e-4f735466cecf":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"},"value"],"newSandbox":false,"script":"return (function(){return function(){var aa=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(a,c,b){if(b.get||b.set)throw new TypeError(\"ES3 does not support getters and setters.\");a!=Array.prototype&&a!=Object.prototype&&(a[c]=b.value)},ba=\"undefined\"!=typeof window&&window===this?this:\"undefined\"!=typeof global?global:this;\nfunction e(a,c){if(c){for(var b=ba,d=a.split(\".\"),f=0;f<d.length-1;f++){var h=d[f];h in b||(b[h]={});b=b[h]}d=d[d.length-1];f=b[d];h=c(f);h!=f&&null!=h&&aa(b,d,{configurable:!0,writable:!0,value:h})}}\ne(\"String.prototype.repeat\",function(a){return a?a:function(a){var b;if(null==this)throw new TypeError(\"The 'this' value for String.prototype.repeat must not be null or undefined\");b=this+\"\";if(0>a||1342177279<a)throw new RangeError(\"Invalid count value\");a|=0;for(var d=\"\";a;)if(a&1&&(d+=b),a>>>=1)b+=b;return d}});e(\"Math.sign\",function(a){return a?a:function(a){a=Number(a);return!a||isNaN(a)?a:0<a?1:-1}});var g=this;function l(a){return\"string\"==typeof a};function m(a,c){this.a=n[a]||p;this.message=c||\"\";var b=this.a.replace(/((?:^|\\s+)[a-z])/g,function(a){return a.toUpperCase().replace(/^[\\s\\xa0]+/g,\"\")}),d=b.length-5;if(0>d||b.indexOf(\"Error\",d)!=d)b+=\"Error\";this.name=b;b=Error(this.message);b.name=this.name;this.stack=b.stack||\"\"}\n(function(){var a=Error;function c(){}c.prototype=a.prototype;m.b=a.prototype;m.prototype=new c;m.prototype.constructor=m;m.a=function(b,c,f){for(var h=Array(arguments.length-2),k=2;k<arguments.length;k++)h[k-2]=arguments[k];return a.prototype[c].apply(b,h)}})();var p=\"unknown error\",n={15:\"element not selectable\",11:\"element not visible\"};n[31]=p;n[30]=p;n[24]=\"invalid cookie domain\";n[29]=\"invalid element coordinates\";n[12]=\"invalid element state\";n[32]=\"invalid selector\";n[51]=\"invalid selector\";\nn[52]=\"invalid selector\";n[17]=\"javascript error\";n[405]=\"unsupported operation\";n[34]=\"move target out of bounds\";n[27]=\"no such alert\";n[7]=\"no such element\";n[8]=\"no such frame\";n[23]=\"no such window\";n[28]=\"script timeout\";n[33]=\"session not created\";n[10]=\"stale element reference\";n[21]=\"timeout\";n[25]=\"unable to set cookie\";n[26]=\"unexpected alert open\";n[13]=p;n[9]=\"unknown command\";m.prototype.toString=function(){return this.name+\": \"+this.message};var q=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\\s\\xa0]+|[\\s\\xa0]+$/g,\"\")};\nfunction r(a,c){for(var b=0,d=q(String(a)).split(\".\"),f=q(String(c)).split(\".\"),h=Math.max(d.length,f.length),k=0;!b&&k<h;k++){var S=d[k]||\"\",ja=f[k]||\"\",ka=RegExp(\"(\\\\d*)(\\\\D*)\",\"g\"),la=RegExp(\"(\\\\d*)(\\\\D*)\",\"g\");do{var t=ka.exec(S)||[\"\",\"\",\"\"],u=la.exec(ja)||[\"\",\"\",\"\"];if(0==t[0].length&&0==u[0].length)break;b=v(0==t[1].length?0:parseInt(t[1],10),0==u[1].length?0:parseInt(u[1],10))||v(0==t[2].length,0==u[2].length)||v(t[2],u[2])}while(!b)}return b}function v(a,c){return a<c?-1:a>c?1:0};var w;a:{var x=g.navigator;if(x){var y=x.userAgent;if(y){w=y;break a}}w=\"\"}function z(a){return-1!=w.indexOf(a)};function ca(a,c){for(var b=a.length,d=l(a)?a.split(\"\"):a,f=0;f<b;f++)f in d&&c.call(void 0,d[f],f,a)};function A(){return z(\"iPhone\")&&!z(\"iPod\")&&!z(\"iPad\")};function B(){return z(\"Opera\")||z(\"OPR\")}function C(){return(z(\"Chrome\")||z(\"CriOS\"))&&!B()&&!z(\"Edge\")};var D=B(),E=z(\"Trident\")||z(\"MSIE\"),F=z(\"Edge\"),G=z(\"Gecko\")&&!(-1!=w.toLowerCase().indexOf(\"webkit\")&&!z(\"Edge\"))&&!(z(\"Trident\")||z(\"MSIE\"))&&!z(\"Edge\"),da=-1!=w.toLowerCase().indexOf(\"webkit\")&&!z(\"Edge\");function ea(){var a=w;if(G)return/rv\\:([^\\);]+)(\\)|;)/.exec(a);if(F)return/Edge\\/([\\d\\.]+)/.exec(a);if(E)return/\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(a);if(da)return/WebKit\\/(\\S+)/.exec(a)}function H(){var a=g.document;return a?a.documentMode:void 0}\nvar I=function(){if(D&&g.opera){var a;var c=g.opera.version;try{a=c()}catch(b){a=c}return a}a=\"\";(c=ea())&&(a=c?c[1]:\"\");return E&&(c=H(),null!=c&&c>parseFloat(a))?String(c):a}(),J={},K=g.document,L=K&&E?H()||(\"CSS1Compat\"==K.compatMode?parseInt(I,10):5):void 0;!G&&!E||E&&9<=Number(L)||G&&(J[\"1.9.1\"]||(J[\"1.9.1\"]=0<=r(I,\"1.9.1\")));E&&(J[\"9\"]||(J[\"9\"]=0<=r(I,\"9\")));var fa=z(\"Firefox\"),ga=A()||z(\"iPod\"),ha=z(\"iPad\"),M=z(\"Android\")&&!(C()||z(\"Firefox\")||B()||z(\"Silk\")),ia=C(),N=z(\"Safari\")&&!(C()||z(\"Coast\")||B()||z(\"Edge\")||z(\"Silk\")||z(\"Android\"))&&!(A()||z(\"iPad\")||z(\"iPod\"));var ma={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},na={IMG:\" \",BR:\"\\n\"};function oa(a,c,b){if(!(a.nodeName in ma))if(3==a.nodeType)b?c.push(String(a.nodeValue).replace(/(\\r\\n|\\r|\\n)/g,\"\")):c.push(a.nodeValue);else if(a.nodeName in na)c.push(na[a.nodeName]);else for(a=a.firstChild;a;)oa(a,c,b),a=a.nextSibling};function O(a){return(a=a.exec(w))?a[1]:\"\"}var pa=function(){if(fa)return O(/Firefox\\/([0-9.]+)/);if(E||F||D)return I;if(ia)return O(/Chrome\\/([0-9.]+)/);if(N&&!(A()||z(\"iPad\")||z(\"iPod\")))return O(/Version\\/([0-9.]+)/);if(ga||ha){var a=/Version\\/(\\S+).*Mobile\\/(\\S+)/.exec(w);if(a)return a[1]+\".\"+a[2]}else if(M)return(a=O(/Android\\s+([0-9.]+)/))?a:O(/Version\\/([0-9.]+)/);return\"\"}();var qa;function P(a){ra?qa(a):M?r(sa,a):r(pa,a)}var ra=function(){if(!G)return!1;var a=g.Components;if(!a)return!1;try{if(!a.classes)return!1}catch(f){return!1}var c=a.classes,a=a.interfaces,b=c[\"@mozilla.org/xpcom/version-comparator;1\"].getService(a.nsIVersionComparator),d=c[\"@mozilla.org/xre/app-info;1\"].getService(a.nsIXULAppInfo).version;qa=function(a){b.compare(d,\"\"+a)};return!0}(),Q;if(M){var ta=/Android\\s+([0-9\\.]+)/.exec(w);Q=ta?ta[1]:\"0\"}else Q=\"0\";\nvar sa=Q,ua=E&&!(8<=Number(L)),va=E&&!(9<=Number(L));M&&P(2.3);M&&P(4);N&&P(6);function R(a,c){c=c.toLowerCase();if(\"style\"==c)return wa(a.style.cssText);if(ua&&\"value\"==c&&T(a,\"INPUT\"))return a.value;if(va&&!0===a[c])return String(a.getAttribute(c));var b=a.getAttributeNode(c);return b&&b.specified?b.value:null}var xa=/[;]+(?=(?:(?:[^\"]*\"){2})*[^\"]*$)(?=(?:(?:[^']*'){2})*[^']*$)(?=(?:[^()]*\\([^()]*\\))*[^()]*$)/;\nfunction wa(a){var c=[];ca(a.split(xa),function(a){var d=a.indexOf(\":\");0<d&&(a=[a.slice(0,d),a.slice(d+1)],2==a.length&&c.push(a[0].toLowerCase(),\":\",a[1],\";\"))});c=c.join(\"\");return c=\";\"==c.charAt(c.length-1)?c:c+\";\"}function U(a,c){var b;ua&&\"value\"==c&&T(a,\"OPTION\")&&null===R(a,\"value\")?(b=[],oa(a,b,!1),b=b.join(\"\")):b=a[c];return b}function T(a,c){return!!a&&1==a.nodeType&&(!c||a.tagName.toUpperCase()==c)}\nfunction ya(a){return T(a,\"OPTION\")?!0:T(a,\"INPUT\")?(a=a.type.toLowerCase(),\"checkbox\"==a||\"radio\"==a):!1};var za={\"class\":\"className\",readonly:\"readOnly\"},V=\"async autofocus autoplay checked compact complete controls declare defaultchecked defaultselected defer disabled draggable ended formnovalidate hidden indeterminate iscontenteditable ismap itemscope loop multiple muted nohref noresize noshade novalidate nowrap open paused pubdate readonly required reversed scoped seamless seeking selected spellcheck truespeed willvalidate\".split(\" \");function Aa(a,c){var b=null,d=c.toLowerCase();if(\"style\"==d)return(b=a.style)&&!l(b)&&(b=b.cssText),b;if((\"selected\"==d||\"checked\"==d)&&ya(a)){if(!ya(a))throw new m(15,\"Element is not selectable\");var b=\"selected\",f=a.type&&a.type.toLowerCase();if(\"checkbox\"==f||\"radio\"==f)b=\"checked\";return U(a,b)?\"true\":null}var h=T(a,\"A\");if(T(a,\"IMG\")&&\"src\"==d||h&&\"href\"==d)return(b=R(a,d))&&(b=U(a,d)),b;if(\"spellcheck\"==d){b=R(a,d);if(null!==b){if(\"false\"==b.toLowerCase())return\"false\";if(\"true\"==b.toLowerCase())return\"true\"}return U(a,\nd)+\"\"}h=za[c]||c;a:if(l(V))d=l(d)&&1==d.length?V.indexOf(d,0):-1;else{for(var k=0;k<V.length;k++)if(k in V&&V[k]===d){d=k;break a}d=-1}if(0<=d)return(b=null!==R(a,c)||U(a,h))?\"true\":null;try{f=U(a,h)}catch(S){}(d=null==f)||(d=typeof f,d=\"object\"==d&&null!=f||\"function\"==d);d?b=R(a,c):b=f;return null!=b?b.toString():null}var W=[\"_\"],X=g;W[0]in X||!X.execScript||X.execScript(\"var \"+W[0]);for(var Y;W.length&&(Y=W.shift());){var Z;if(Z=!W.length)Z=void 0!==Aa;Z?X[Y]=Aa:X[Y]?X=X[Y]:X=X[Y]={}};; return this._.apply(null,arguments);}.apply({navigator:typeof window!='undefined'?window.navigator:null,document:typeof window!='undefined'?window.document:null}, arguments);}\n).apply(null, arguments);","scriptTimeout":null,"specialPowers":false}]
1492787238351   Marionette  TRACE   conn0 -> [0,6,"executeScript",{"args":[{"element-6066-11e4-a52e-4f735466cecf":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"},"value"],"newSandbox":false,"script":"return (function(){return function(){var aa=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(a,c,b){if(b.get||b.set)throw new TypeError(\"ES3 does not support getters and setters.\");a!=Array.prototype&&a!=Object.prototype&&(a[c]=b.value)},ba=\"undefined\"!=typeof window&&window===this?this:\"undefined\"!=typeof global?global:this;\nfunction e(a,c){if(c){for(var b=ba,d=a.split(\".\"),f=0;f<d.length-1;f++){var h=d[f];h in b||(b[h]={});b=b[h]}d=d[d.length-1];f=b[d];h=c(f);h!=f&&null!=h&&aa(b,d,{configurable:!0,writable:!0,value:h})}}\ne(\"String.prototype.repeat\",function(a){return a?a:function(a){var b;if(null==this)throw new TypeError(\"The 'this' value for String.prototype.repeat must not be null or undefined\");b=this+\"\";if(0>a||1342177279<a)throw new RangeError(\"Invalid count value\");a|=0;for(var d=\"\";a;)if(a&1&&(d+=b),a>>>=1)b+=b;return d}});e(\"Math.sign\",function(a){return a?a:function(a){a=Number(a);return!a||isNaN(a)?a:0<a?1:-1}});var g=this;function l(a){return\"string\"==typeof a};function m(a,c){this.a=n[a]||p;this.message=c||\"\";var b=this.a.replace(/((?:^|\\s+)[a-z])/g,function(a){return a.toUpperCase().replace(/^[\\s\\xa0]+/g,\"\")}),d=b.length-5;if(0>d||b.indexOf(\"Error\",d)!=d)b+=\"Error\";this.name=b;b=Error(this.message);b.name=this.name;this.stack=b.stack||\"\"}\n(function(){var a=Error;function c(){}c.prototype=a.prototype;m.b=a.prototype;m.prototype=new c;m.prototype.constructor=m;m.a=function(b,c,f){for(var h=Array(arguments.length-2),k=2;k<arguments.length;k++)h[k-2]=arguments[k];return a.prototype[c].apply(b,h)}})();var p=\"unknown error\",n={15:\"element not selectable\",11:\"element not visible\"};n[31]=p;n[30]=p;n[24]=\"invalid cookie domain\";n[29]=\"invalid element coordinates\";n[12]=\"invalid element state\";n[32]=\"invalid selector\";n[51]=\"invalid selector\";\nn[52]=\"invalid selector\";n[17]=\"javascript error\";n[405]=\"unsupported operation\";n[34]=\"move target out of bounds\";n[27]=\"no such alert\";n[7]=\"no such element\";n[8]=\"no such frame\";n[23]=\"no such window\";n[28]=\"script timeout\";n[33]=\"session not created\";n[10]=\"stale element reference\";n[21]=\"timeout\";n[25]=\"unable to set cookie\";n[26]=\"unexpected alert open\";n[13]=p;n[9]=\"unknown command\";m.prototype.toString=function(){return this.name+\": \"+this.message};var q=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\\s\\xa0]+|[\\s\\xa0]+$/g,\"\")};\nfunction r(a,c){for(var b=0,d=q(String(a)).split(\".\"),f=q(String(c)).split(\".\"),h=Math.max(d.length,f.length),k=0;!b&&k<h;k++){var S=d[k]||\"\",ja=f[k]||\"\",ka=RegExp(\"(\\\\d*)(\\\\D*)\",\"g\"),la=RegExp(\"(\\\\d*)(\\\\D*)\",\"g\");do{var t=ka.exec(S)||[\"\",\"\",\"\"],u=la.exec(ja)||[\"\",\"\",\"\"];if(0==t[0].length&&0==u[0].length)break;b=v(0==t[1].length?0:parseInt(t[1],10),0==u[1].length?0:parseInt(u[1],10))||v(0==t[2].length,0==u[2].length)||v(t[2],u[2])}while(!b)}return b}function v(a,c){return a<c?-1:a>c?1:0};var w;a:{var x=g.navigator;if(x){var y=x.userAgent;if(y){w=y;break a}}w=\"\"}function z(a){return-1!=w.indexOf(a)};function ca(a,c){for(var b=a.length,d=l(a)?a.split(\"\"):a,f=0;f<b;f++)f in d&&c.call(void 0,d[f],f,a)};function A(){return z(\"iPhone\")&&!z(\"iPod\")&&!z(\"iPad\")};function B(){return z(\"Opera\")||z(\"OPR\")}function C(){return(z(\"Chrome\")||z(\"CriOS\"))&&!B()&&!z(\"Edge\")};var D=B(),E=z(\"Trident\")||z(\"MSIE\"),F=z(\"Edge\"),G=z(\"Gecko\")&&!(-1!=w.toLowerCase().indexOf(\"webkit\")&&!z(\"Edge\"))&&!(z(\"Trident\")||z(\"MSIE\"))&&!z(\"Edge\"),da=-1!=w.toLowerCase().indexOf(\"webkit\")&&!z(\"Edge\");function ea(){var a=w;if(G)return/rv\\:([^\\);]+)(\\)|;)/.exec(a);if(F)return/Edge\\/([\\d\\.]+)/.exec(a);if(E)return/\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(a);if(da)return/WebKit\\/(\\S+)/.exec(a)}function H(){var a=g.document;return a?a.documentMode:void 0}\nvar I=function(){if(D&&g.opera){var a;var c=g.opera.version;try{a=c()}catch(b){a=c}return a}a=\"\";(c=ea())&&(a=c?c[1]:\"\");return E&&(c=H(),null!=c&&c>parseFloat(a))?String(c):a}(),J={},K=g.document,L=K&&E?H()||(\"CSS1Compat\"==K.compatMode?parseInt(I,10):5):void 0;!G&&!E||E&&9<=Number(L)||G&&(J[\"1.9.1\"]||(J[\"1.9.1\"]=0<=r(I,\"1.9.1\")));E&&(J[\"9\"]||(J[\"9\"]=0<=r(I,\"9\")));var fa=z(\"Firefox\"),ga=A()||z(\"iPod\"),ha=z(\"iPad\"),M=z(\"Android\")&&!(C()||z(\"Firefox\")||B()||z(\"Silk\")),ia=C(),N=z(\"Safari\")&&!(C()||z(\"Coast\")||B()||z(\"Edge\")||z(\"Silk\")||z(\"Android\"))&&!(A()||z(\"iPad\")||z(\"iPod\"));var ma={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},na={IMG:\" \",BR:\"\\n\"};function oa(a,c,b){if(!(a.nodeName in ma))if(3==a.nodeType)b?c.push(String(a.nodeValue).replace(/(\\r\\n|\\r|\\n)/g,\"\")):c.push(a.nodeValue);else if(a.nodeName in na)c.push(na[a.nodeName]);else for(a=a.firstChild;a;)oa(a,c,b),a=a.nextSibling};function O(a){return(a=a.exec(w))?a[1]:\"\"}var pa=function(){if(fa)return O(/Firefox\\/([0-9.]+)/);if(E||F||D)return I;if(ia)return O(/Chrome\\/([0-9.]+)/);if(N&&!(A()||z(\"iPad\")||z(\"iPod\")))return O(/Version\\/([0-9.]+)/);if(ga||ha){var a=/Version\\/(\\S+).*Mobile\\/(\\S+)/.exec(w);if(a)return a[1]+\".\"+a[2]}else if(M)return(a=O(/Android\\s+([0-9.]+)/))?a:O(/Version\\/([0-9.]+)/);return\"\"}();var qa;function P(a){ra?qa(a):M?r(sa,a):r(pa,a)}var ra=function(){if(!G)return!1;var a=g.Components;if(!a)return!1;try{if(!a.classes)return!1}catch(f){return!1}var c=a.classes,a=a.interfaces,b=c[\"@mozilla.org/xpcom/version-comparator;1\"].getService(a.nsIVersionComparator),d=c[\"@mozilla.org/xre/app-info;1\"].getService(a.nsIXULAppInfo).version;qa=function(a){b.compare(d,\"\"+a)};return!0}(),Q;if(M){var ta=/Android\\s+([0-9\\.]+)/.exec(w);Q=ta?ta[1]:\"0\"}else Q=\"0\";\nvar sa=Q,ua=E&&!(8<=Number(L)),va=E&&!(9<=Number(L));M&&P(2.3);M&&P(4);N&&P(6);function R(a,c){c=c.toLowerCase();if(\"style\"==c)return wa(a.style.cssText);if(ua&&\"value\"==c&&T(a,\"INPUT\"))return a.value;if(va&&!0===a[c])return String(a.getAttribute(c));var b=a.getAttributeNode(c);return b&&b.specified?b.value:null}var xa=/[;]+(?=(?:(?:[^\"]*\"){2})*[^\"]*$)(?=(?:(?:[^']*'){2})*[^']*$)(?=(?:[^()]*\\([^()]*\\))*[^()]*$)/;\nfunction wa(a){var c=[];ca(a.split(xa),function(a){var d=a.indexOf(\":\");0<d&&(a=[a.slice(0,d),a.slice(d+1)],2==a.length&&c.push(a[0].toLowerCase(),\":\",a[1],\";\"))});c=c.join(\"\");return c=\";\"==c.charAt(c.length-1)?c:c+\";\"}function U(a,c){var b;ua&&\"value\"==c&&T(a,\"OPTION\")&&null===R(a,\"value\")?(b=[],oa(a,b,!1),b=b.join(\"\")):b=a[c];return b}function T(a,c){return!!a&&1==a.nodeType&&(!c||a.tagName.toUpperCase()==c)}\nfunction ya(a){return T(a,\"OPTION\")?!0:T(a,\"INPUT\")?(a=a.type.toLowerCase(),\"checkbox\"==a||\"radio\"==a):!1};var za={\"class\":\"className\",readonly:\"readOnly\"},V=\"async autofocus autoplay checked compact complete controls declare defaultchecked defaultselected defer disabled draggable ended formnovalidate hidden indeterminate iscontenteditable ismap itemscope loop multiple muted nohref noresize noshade novalidate nowrap open paused pubdate readonly required reversed scoped seamless seeking selected spellcheck truespeed willvalidate\".split(\" \");function Aa(a,c){var b=null,d=c.toLowerCase();if(\"style\"==d)return(b=a.style)&&!l(b)&&(b=b.cssText),b;if((\"selected\"==d||\"checked\"==d)&&ya(a)){if(!ya(a))throw new m(15,\"Element is not selectable\");var b=\"selected\",f=a.type&&a.type.toLowerCase();if(\"checkbox\"==f||\"radio\"==f)b=\"checked\";return U(a,b)?\"true\":null}var h=T(a,\"A\");if(T(a,\"IMG\")&&\"src\"==d||h&&\"href\"==d)return(b=R(a,d))&&(b=U(a,d)),b;if(\"spellcheck\"==d){b=R(a,d);if(null!==b){if(\"false\"==b.toLowerCase())return\"false\";if(\"true\"==b.toLowerCase())return\"true\"}return U(a,\nd)+\"\"}h=za[c]||c;a:if(l(V))d=l(d)&&1==d.length?V.indexOf(d,0):-1;else{for(var k=0;k<V.length;k++)if(k in V&&V[k]===d){d=k;break a}d=-1}if(0<=d)return(b=null!==R(a,c)||U(a,h))?\"true\":null;try{f=U(a,h)}catch(S){}(d=null==f)||(d=typeof f,d=\"object\"==d&&null!=f||\"function\"==d);d?b=R(a,c):b=f;return null!=b?b.toString():null}var W=[\"_\"],X=g;W[0]in X||!X.execScript||X.execScript(\"var \"+W[0]);for(var Y;W.length&&(Y=W.shift());){var Z;if(Z=!W.length)Z=void 0!==Aa;Z?X[Y]=Aa:X[Y]?X=X[Y]:X=X[Y]={}};; return this._.apply(null,arguments);}.apply({navigator:typeof window!='undefined'?window.navigator:null,document:typeof window!='undefined'?window.document:null}, arguments);}\n).apply(null, arguments);","scriptTimeout":null,"specialPowers":false}]
1492787238360   Marionette  TRACE   conn0 <- [1,6,null,{"value":"12345"}]
1492787238361   geckodriver::marionette DEBUG   ← [1,6,null,{"value":"12345"}]
1492787238361   webdriver::server   DEBUG   Returning status Ok
1492787238361   webdriver::server   DEBUG   Returning body {"value":"12345"}
1492787238361   hyper::header   TRACE   Headers.set( "Content-Type", ContentType(Mime(Application, Json, [(Charset, Utf8)])) )
1492787238361   hyper::header   TRACE   Headers.set( "Cache-Control", CacheControl([NoCache]) )
1492787238361   hyper::header   TRACE   Headers.set( "Content-Length", ContentLength(17) )
1492787238361   hyper::server::response DEBUG   writing head: Http11 Ok
1492787238361   hyper::header   TRACE   Headers.set( "Date", Date(HttpDate(Tm { tm_sec: 18, tm_min: 7, tm_hour: 15, tm_mday: 21, tm_mon: 3, tm_year: 117, tm_wday: 5, tm_yday: 110, tm_isdst: 0, tm_utcoff: 0, tm_nsec: 361581400 })) )
1492787238361   hyper::server::response DEBUG   headers [
Headers { Connection: close
, Content-Type: application/json; charset=utf-8
, Cache-Control: no-cache
, Content-Length: 17
, Date: Fri, 21 Apr 2017 15:07:18 GMT
, }]
1492787238361   hyper::server::response DEBUG   write 17 bytes
1492787238361   hyper::server::response TRACE   ending
1492787238361   hyper::server   DEBUG   keep_alive = false for 127.0.0.1:4322
1492787238361   hyper::server   DEBUG   keep_alive loop ending for 127.0.0.1:4322
1492787238367   hyper::server   DEBUG   Incoming stream
1492787238367   hyper::buffer   TRACE   get_buf []
1492787238367   hyper::buffer   TRACE   read_into_buf buf[0..4096]
1492787238368   hyper::buffer   TRACE   get_buf [u8; 4096][0..955]
1492787238368   hyper::http::h1 TRACE   try_parse([80, 79, 83, 84, 32, 47, 115, 101, 115, 115, 105, 111, 110, 47, 98, 56, 48, 50, 55, 49, 49, 100, 45, 53, 51, 48, 52, 45, 52, 50, 49, 101, 45, 98, 99, 102, 51, 45, 56, 54, 100, 98, 50, 51, 101, 97, 53, 55, 52, 97, 47, 97, 99, 116, 105, 111, 110, 115, 32, 72, 84, 84, 80, 47, 49, 46, 49, 13, 10, 67, 111, 110, 116, 101, 110, 116, 45, 84, 121, 112, 101, 58, 32, 97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 116, 102, 45, 56, 13, 10, 67, 111, 110, 116, 101, 110, 116, 45, 76, 101, 110, 103, 116, 104, 58, 32, 54, 56, 52, 13, 10, 72, 111, 115, 116, 58, 32, 108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48, 13, 10, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 58, 32, 75, 101, 101, 112, 45, 65, 108, 105, 118, 101, 13, 10, 85, 115, 101, 114, 45, 65, 103, 101, 110, 116, 58, 32, 65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41, 13, 10, 65, 99, 99, 101, 112, 116, 45, 69, 110, 99, 111, 100, 105, 110, 103, 58, 32, 103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101, 13, 10, 13, 10, 123, 34, 97, 99, 116, 105, 111, 110, 115, 34, 58, 91, 123, 34, 105, 100, 34, 58, 34, 100, 101, 102, 97, 117, 108, 116, 32, 109, 111, 117, 115, 101, 34, 44, 34, 116, 121, 112, 101, 34, 58, 34, 112, 111, 105, 110, 116, 101, 114, 34, 44, 34, 112, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 58, 123, 34, 112, 111, 105, 110, 116, 101, 114, 84, 121, 112, 101, 34, 58, 34, 109, 111, 117, 115, 101, 34, 125, 44, 34, 97, 99, 116, 105, 111, 110, 115, 34, 58, 91, 123, 34, 100, 117, 114, 97, 116, 105, 111, 110, 34, 58, 49, 48, 48, 44, 34, 120, 34, 58, 48, 44, 34, 121, 34, 58, 48, 44, 34, 116, 121, 112, 101, 34, 58, 34, 112, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 34, 44, 34, 111, 114, 105, 103, 105, 110, 34, 58, 123, 34, 69, 76, 69, 77, 69, 78, 84, 34, 58, 34, 100, 98, 99, 48, 53, 49, 102, 102, 45, 48, 101, 53, 50, 45, 52, 98, 57, 53, 45, 98, 55, 101, 55, 45, 101, 102, 53, 98, 98, 56, 50, 56, 49, 100, 51, 48, 34, 44, 34, 101, 108, 101, 109, 101, 110, 116, 45, 54, 48, 54, 54, 45, 49, 49, 101, 52, 45, 97, 53, 50, 101, 45, 52, 102, 55, 51, 53, 52, 54, 54, 99, 101, 99, 102, 34, 58, 34, 100, 98, 99, 48, 53, 49, 102, 102, 45, 48, 101, 53, 50, 45, 52, 98, 57, 53, 45, 98, 55, 101, 55, 45, 101, 102, 53, 98, 98, 56, 50, 56, 49, 100, 51, 48, 34, 125, 125, 44, 123, 34, 98, 117, 116, 116, 111, 110, 34, 58, 48, 44, 34, 116, 121, 112, 101, 34, 58, 34, 112, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 34, 125, 44, 123, 34, 98, 117, 116, 116, 111, 110, 34, 58, 48, 44, 34, 116, 121, 112, 101, 34, 58, 34, 112, 111, 105, 110, 116, 101, 114, 85, 112, 34, 125, 93, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 34, 44, 34, 97, 99, 116, 105, 111, 110, 115, 34, 58, 91, 123, 34, 100, 117, 114, 97, 116, 105, 111, 110, 34, 58, 48, 44, 34, 116, 121, 112, 101, 34, 58, 34, 112, 97, 117, 115, 101, 34, 125, 44, 123, 34, 100, 117, 114, 97, 116, 105, 111, 110, 34, 58, 48, 44, 34, 116, 121, 112, 101, 34, 58, 34, 112, 97, 117, 115, 101, 34, 125, 44, 123, 34, 100, 117, 114, 97, 116, 105, 111, 110, 34, 58, 48, 44, 34, 116, 121, 112, 101, 34, 58, 34, 112, 97, 117, 115, 101, 34, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 68, 111, 119, 110, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 238, 128, 137, 34, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 85, 112, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 238, 128, 137, 34, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 68, 111, 119, 110, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 97, 34, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 85, 112, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 97, 34, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 68, 111, 119, 110, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 238, 128, 128, 34, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 85, 112, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 238, 128, 128, 34, 125, 93, 44, 34, 105, 100, 34, 58, 34, 100, 101, 102, 97, 117, 108, 116, 32, 107, 101, 121, 98, 111, 97, 114, 100, 34, 125, 93, 125])
1492787238368   hyper::http::h1 TRACE   Request.try_parse([Header; 100], [u8; 955])
1492787238368   hyper::http::h1 TRACE   Request.try_parse Complete(271)
1492787238368   hyper::header   TRACE   raw header: "Content-Type"=[97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 116, 102, 45, 56]
1492787238368   hyper::header   TRACE   raw header: "Content-Length"=[54, 56, 52]
1492787238368   hyper::header   TRACE   raw header: "Host"=[108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48]
1492787238368   hyper::header   TRACE   raw header: "Connection"=[75, 101, 101, 112, 45, 65, 108, 105, 118, 101]
1492787238368   hyper::header   TRACE   raw header: "User-Agent"=[65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41]
1492787238368   hyper::header   TRACE   raw header: "Accept-Encoding"=[103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101]
1492787238368   hyper::server::request  DEBUG   Request Line: Post AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a/actions") Http11
1492787238368   hyper::server::request  DEBUG   Headers { Content-Type: application/json; charset=utf-8
, Content-Length: 684
, Host: localhost:33610
, Connection: Keep-Alive
, User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_112)
, Accept-Encoding: gzip,deflate
, }
1492787238368   hyper::header   TRACE   Headers.set( "Connection", Connection([Close]) )
1492787238368   hyper::http::h1 TRACE   Sized read, remaining=684
1492787238368   hyper::http::h1 TRACE   Sized read: 32
1492787238368   hyper::http::h1 TRACE   Sized read, remaining=652
1492787238368   hyper::http::h1 TRACE   Sized read: 64
1492787238368   hyper::http::h1 TRACE   Sized read, remaining=588
1492787238368   hyper::http::h1 TRACE   Sized read: 128
1492787238368   hyper::http::h1 TRACE   Sized read, remaining=460
1492787238368   hyper::http::h1 TRACE   Sized read: 256
1492787238368   hyper::http::h1 TRACE   Sized read, remaining=204
1492787238368   hyper::http::h1 TRACE   Sized read: 204
1492787238368   hyper::http::h1 TRACE   Sized read, remaining=0
1492787238368   webdriver::server   DEBUG   Got request POST AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a/actions")
1492787238369   webdriver::command  DEBUG   Got request body {"actions":[{"id":"default mouse","type":"pointer","parameters":{"pointerType":"mouse"},"actions":[{"duration":100,"x":0,"y":0,"type":"pointerMove","origin":{"ELEMENT":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30","element-6066-11e4-a52e-4f735466cecf":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"}},{"button":0,"type":"pointerDown"},{"button":0,"type":"pointerUp"}]},{"type":"key","actions":[{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"type":"keyDown","value":""},{"type":"keyUp","value":""},{"type":"keyDown","value":"a"},{"type":"keyUp","value":"a"},{"type":"keyDown","value":""},{"type":"keyUp","value":""}],"id":"default keyboard"}]}
1492787238369   geckodriver::marionette DEBUG   → 658:[0,7,"performActions",{"actions":[{"actions":[{"duration":100,"origin":{"element-6066-11e4-a52e-4f735466cecf":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"},"type":"pointerMove","x":0,"y":0},{"button":0,"type":"pointerDown"},{"button":0,"type":"pointerUp"}],"id":"default mouse","parameters":{"pointerType":"mouse"},"type":"pointer"},{"actions":[{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"type":"keyDown","value":""},{"type":"keyUp","value":""},{"type":"keyDown","value":"a"},{"type":"keyUp","value":"a"},{"type":"keyDown","value":""},{"type":"keyUp","value":""}],"id":"default keyboard","type":"key"}]}]
1492787238370   Marionette  TRACE   conn0 -> [0,7,"performActions",{"actions":[{"actions":[{"duration":100,"origin":{"element-6066-11e4-a52e-4f735466cecf":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"},"type":"pointerMove","x":0,"y":0},{"button":0,"type":"pointerDown"},{"button":0,"type":"pointerUp"}],"id":"default mouse","parameters":{"pointerType":"mouse"},"type":"pointer"},{"actions":[{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"type":"keyDown","value":""},{"type":"keyUp","value":""},{"type":"keyDown","value":"a"},{"type":"keyUp","value":"a"},{"type":"keyDown","value":""},{"type":"keyUp","value":""}],"id":"default keyboard","type":"key"}]}]
1492787238495   Marionette  TRACE   conn0 <- [1,7,null,{}]
1492787238495   geckodriver::marionette DEBUG   ← [1,7,null,{}]
1492787238495   webdriver::server   DEBUG   Returning status Ok
1492787238495   webdriver::server   DEBUG   Returning body {"value": {}}
1492787238495   hyper::header   TRACE   Headers.set( "Content-Type", ContentType(Mime(Application, Json, [(Charset, Utf8)])) )
1492787238495   hyper::header   TRACE   Headers.set( "Cache-Control", CacheControl([NoCache]) )
1492787238495   hyper::header   TRACE   Headers.set( "Content-Length", ContentLength(13) )
1492787238495   hyper::server::response DEBUG   writing head: Http11 Ok
1492787238495   hyper::header   TRACE   Headers.set( "Date", Date(HttpDate(Tm { tm_sec: 18, tm_min: 7, tm_hour: 15, tm_mday: 21, tm_mon: 3, tm_year: 117, tm_wday: 5, tm_yday: 110, tm_isdst: 0, tm_utcoff: 0, tm_nsec: 495955800 })) )
1492787238495   hyper::server::response DEBUG   headers [
Headers { Connection: close
, Content-Type: application/json; charset=utf-8
, Cache-Control: no-cache
, Content-Length: 13
, Date: Fri, 21 Apr 2017 15:07:18 GMT
, }]
1492787238495   hyper::server::response DEBUG   write 13 bytes
1492787238495   hyper::server::response TRACE   ending
1492787238496   hyper::server   DEBUG   keep_alive = false for 127.0.0.1:4323
1492787238496   hyper::server   DEBUG   keep_alive loop ending for 127.0.0.1:4323
1492787238498   hyper::server   DEBUG   Incoming stream
1492787238498   hyper::buffer   TRACE   get_buf []
1492787238498   hyper::buffer   TRACE   read_into_buf buf[0..4096]
1492787238499   hyper::buffer   TRACE   get_buf [u8; 4096][0..399]
1492787238499   hyper::http::h1 TRACE   try_parse([80, 79, 83, 84, 32, 47, 115, 101, 115, 115, 105, 111, 110, 47, 98, 56, 48, 50, 55, 49, 49, 100, 45, 53, 51, 48, 52, 45, 52, 50, 49, 101, 45, 98, 99, 102, 51, 45, 56, 54, 100, 98, 50, 51, 101, 97, 53, 55, 52, 97, 47, 97, 99, 116, 105, 111, 110, 115, 32, 72, 84, 84, 80, 47, 49, 46, 49, 13, 10, 67, 111, 110, 116, 101, 110, 116, 45, 84, 121, 112, 101, 58, 32, 97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 116, 102, 45, 56, 13, 10, 67, 111, 110, 116, 101, 110, 116, 45, 76, 101, 110, 103, 116, 104, 58, 32, 49, 50, 56, 13, 10, 72, 111, 115, 116, 58, 32, 108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48, 13, 10, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 58, 32, 75, 101, 101, 112, 45, 65, 108, 105, 118, 101, 13, 10, 85, 115, 101, 114, 45, 65, 103, 101, 110, 116, 58, 32, 65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41, 13, 10, 65, 99, 99, 101, 112, 116, 45, 69, 110, 99, 111, 100, 105, 110, 103, 58, 32, 103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101, 13, 10, 13, 10, 123, 34, 97, 99, 116, 105, 111, 110, 115, 34, 58, 91, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 34, 44, 34, 97, 99, 116, 105, 111, 110, 115, 34, 58, 91, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 68, 111, 119, 110, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 238, 128, 151, 34, 125, 44, 123, 34, 116, 121, 112, 101, 34, 58, 34, 107, 101, 121, 85, 112, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 238, 128, 151, 34, 125, 93, 44, 34, 105, 100, 34, 58, 34, 100, 101, 102, 97, 117, 108, 116, 32, 107, 101, 121, 98, 111, 97, 114, 100, 34, 125, 93, 125])
1492787238499   hyper::http::h1 TRACE   Request.try_parse([Header; 100], [u8; 399])
1492787238499   hyper::http::h1 TRACE   Request.try_parse Complete(271)
1492787238499   hyper::header   TRACE   raw header: "Content-Type"=[97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 116, 102, 45, 56]
1492787238499   hyper::header   TRACE   raw header: "Content-Length"=[49, 50, 56]
1492787238499   hyper::header   TRACE   raw header: "Host"=[108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48]
1492787238499   hyper::header   TRACE   raw header: "Connection"=[75, 101, 101, 112, 45, 65, 108, 105, 118, 101]
1492787238499   hyper::header   TRACE   raw header: "User-Agent"=[65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41]
1492787238499   hyper::header   TRACE   raw header: "Accept-Encoding"=[103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101]
1492787238499   hyper::server::request  DEBUG   Request Line: Post AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a/actions") Http11
1492787238499   hyper::server::request  DEBUG   Headers { Content-Type: application/json; charset=utf-8
, Content-Length: 128
, Host: localhost:33610
, Connection: Keep-Alive
, User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_112)
, Accept-Encoding: gzip,deflate
, }
1492787238499   hyper::header   TRACE   Headers.set( "Connection", Connection([Close]) )
1492787238499   hyper::http::h1 TRACE   Sized read, remaining=128
1492787238499   hyper::http::h1 TRACE   Sized read: 32
1492787238499   hyper::http::h1 TRACE   Sized read, remaining=96
1492787238499   hyper::http::h1 TRACE   Sized read: 64
1492787238499   hyper::http::h1 TRACE   Sized read, remaining=32
1492787238499   hyper::http::h1 TRACE   Sized read: 32
1492787238499   hyper::http::h1 TRACE   Sized read, remaining=0
1492787238499   webdriver::server   DEBUG   Got request POST AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a/actions")
1492787238500   webdriver::command  DEBUG   Got request body {"actions":[{"type":"key","actions":[{"type":"keyDown","value":""},{"type":"keyUp","value":""}],"id":"default keyboard"}]}
1492787238500   geckodriver::marionette DEBUG   → 151:[0,8,"performActions",{"actions":[{"actions":[{"type":"keyDown","value":""},{"type":"keyUp","value":""}],"id":"default keyboard","type":"key"}]}]
1492787238501   Marionette  TRACE   conn0 -> [0,8,"performActions",{"actions":[{"actions":[{"type":"keyDown","value":""},{"type":"keyUp","value":""}],"id":"default keyboard","type":"key"}]}]
1492787238506   Marionette  TRACE   conn0 <- [1,8,null,{}]
1492787238506   geckodriver::marionette DEBUG   ← [1,8,null,{}]
1492787238506   webdriver::server   DEBUG   Returning status Ok
1492787238506   webdriver::server   DEBUG   Returning body {"value": {}}
1492787238506   hyper::header   TRACE   Headers.set( "Content-Type", ContentType(Mime(Application, Json, [(Charset, Utf8)])) )
1492787238506   hyper::header   TRACE   Headers.set( "Cache-Control", CacheControl([NoCache]) )
1492787238506   hyper::header   TRACE   Headers.set( "Content-Length", ContentLength(13) )
1492787238506   hyper::server::response DEBUG   writing head: Http11 Ok
1492787238506   hyper::header   TRACE   Headers.set( "Date", Date(HttpDate(Tm { tm_sec: 18, tm_min: 7, tm_hour: 15, tm_mday: 21, tm_mon: 3, tm_year: 117, tm_wday: 5, tm_yday: 110, tm_isdst: 0, tm_utcoff: 0, tm_nsec: 506972900 })) )
1492787238506   hyper::server::response DEBUG   headers [
Headers { Connection: close
, Content-Type: application/json; charset=utf-8
, Cache-Control: no-cache
, Content-Length: 13
, Date: Fri, 21 Apr 2017 15:07:18 GMT
, }]
1492787238506   hyper::server::response DEBUG   write 13 bytes
1492787238506   hyper::server::response TRACE   ending
1492787238506   hyper::server   DEBUG   keep_alive = false for 127.0.0.1:4324
1492787238507   hyper::server   DEBUG   keep_alive loop ending for 127.0.0.1:4324
1492787238510   hyper::server   DEBUG   Incoming stream
1492787238510   hyper::buffer   TRACE   get_buf []
1492787238510   hyper::buffer   TRACE   read_into_buf buf[0..4096]
1492787238510   hyper::buffer   TRACE   get_buf [u8; 4096][0..277]
1492787238510   hyper::http::h1 TRACE   try_parse([80, 79, 83, 84, 32, 47, 115, 101, 115, 115, 105, 111, 110, 47, 98, 56, 48, 50, 55, 49, 49, 100, 45, 53, 51, 48, 52, 45, 52, 50, 49, 101, 45, 98, 99, 102, 51, 45, 56, 54, 100, 98, 50, 51, 101, 97, 53, 55, 52, 97, 47, 101, 120, 101, 99, 117, 116, 101, 47, 115, 121, 110, 99, 32, 72, 84, 84, 80, 47, 49, 46, 49, 13, 10, 67, 111, 110, 116, 101, 110, 116, 45, 84, 121, 112, 101, 58, 32, 97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 116, 102, 45, 56, 13, 10, 67, 111, 110, 116, 101, 110, 116, 45, 76, 101, 110, 103, 116, 104, 58, 32, 56, 53, 52, 53, 13, 10, 72, 111, 115, 116, 58, 32, 108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48, 13, 10, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 58, 32, 75, 101, 101, 112, 45, 65, 108, 105, 118, 101, 13, 10, 85, 115, 101, 114, 45, 65, 103, 101, 110, 116, 58, 32, 65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41, 13, 10, 65, 99, 99, 101, 112, 116, 45, 69, 110, 99, 111, 100, 105, 110, 103, 58, 32, 103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101, 13, 10, 13, 10])
1492787238510   hyper::http::h1 TRACE   Request.try_parse([Header; 100], [u8; 277])
1492787238510   hyper::http::h1 TRACE   Request.try_parse Complete(277)
1492787238510   hyper::header   TRACE   raw header: "Content-Type"=[97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 106, 115, 111, 110, 59, 32, 99, 104, 97, 114, 115, 101, 116, 61, 117, 116, 102, 45, 56]
1492787238510   hyper::header   TRACE   raw header: "Content-Length"=[56, 53, 52, 53]
1492787238510   hyper::header   TRACE   raw header: "Host"=[108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48]
1492787238510   hyper::header   TRACE   raw header: "Connection"=[75, 101, 101, 112, 45, 65, 108, 105, 118, 101]
1492787238510   hyper::header   TRACE   raw header: "User-Agent"=[65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41]
1492787238510   hyper::header   TRACE   raw header: "Accept-Encoding"=[103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101]
1492787238510   hyper::server::request  DEBUG   Request Line: Post AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a/execute/sync") Http11
1492787238510   hyper::server::request  DEBUG   Headers { Content-Type: application/json; charset=utf-8
, Content-Length: 8545
, Host: localhost:33610
, Connection: Keep-Alive
, User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_112)
, Accept-Encoding: gzip,deflate
, }
1492787238510   hyper::header   TRACE   Headers.set( "Connection", Connection([Close]) )
1492787238510   hyper::http::h1 TRACE   Sized read, remaining=8545
1492787238510   hyper::http::h1 TRACE   Sized read: 32
1492787238510   hyper::http::h1 TRACE   Sized read, remaining=8513
1492787238510   hyper::http::h1 TRACE   Sized read: 64
1492787238510   hyper::http::h1 TRACE   Sized read, remaining=8449
1492787238510   hyper::http::h1 TRACE   Sized read: 128
1492787238510   hyper::http::h1 TRACE   Sized read, remaining=8321
1492787238510   hyper::http::h1 TRACE   Sized read: 256
1492787238510   hyper::http::h1 TRACE   Sized read, remaining=8065
1492787238510   hyper::http::h1 TRACE   Sized read: 512
1492787238511   hyper::http::h1 TRACE   Sized read, remaining=7553
1492787238511   hyper::http::h1 TRACE   Sized read: 1024
1492787238511   hyper::http::h1 TRACE   Sized read, remaining=6529
1492787238511   hyper::http::h1 TRACE   Sized read: 2048
1492787238511   hyper::http::h1 TRACE   Sized read, remaining=4481
1492787238511   hyper::http::h1 TRACE   Sized read: 32
1492787238511   hyper::http::h1 TRACE   Sized read, remaining=4449
1492787238511   hyper::http::h1 TRACE   Sized read: 1744
1492787238511   hyper::http::h1 TRACE   Sized read, remaining=2705
1492787238511   hyper::http::h1 TRACE   Sized read: 1460
1492787238511   hyper::http::h1 TRACE   Sized read, remaining=1245
1492787238511   hyper::http::h1 TRACE   Sized read: 860
1492787238511   hyper::http::h1 TRACE   Sized read, remaining=385
1492787238511   hyper::http::h1 TRACE   Sized read: 385
1492787238511   hyper::http::h1 TRACE   Sized read, remaining=0
1492787238511   webdriver::server   DEBUG   Got request POST AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a/execute/sync")
1492787238511   webdriver::command  DEBUG   Got request body {"script":"return (function(){return function(){var aa=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(a,c,b){if(b.get||b.set)throw new TypeError(\"ES3 does not support getters and setters.\");a!=Array.prototype&&a!=Object.prototype&&(a[c]=b.value)},ba=\"undefined\"!=typeof window&&window===this?this:\"undefined\"!=typeof global?global:this;\nfunction e(a,c){if(c){for(var b=ba,d=a.split(\".\"),f=0;f<d.length-1;f++){var h=d[f];h in b||(b[h]={});b=b[h]}d=d[d.length-1];f=b[d];h=c(f);h!=f&&null!=h&&aa(b,d,{configurable:!0,writable:!0,value:h})}}\ne(\"String.prototype.repeat\",function(a){return a?a:function(a){var b;if(null==this)throw new TypeError(\"The 'this' value for String.prototype.repeat must not be null or undefined\");b=this+\"\";if(0>a||1342177279<a)throw new RangeError(\"Invalid count value\");a|=0;for(var d=\"\";a;)if(a&1&&(d+=b),a>>>=1)b+=b;return d}});e(\"Math.sign\",function(a){return a?a:function(a){a=Number(a);return!a||isNaN(a)?a:0<a?1:-1}});var g=this;function l(a){return\"string\"==typeof a};function m(a,c){this.a=n[a]||p;this.message=c||\"\";var b=this.a.replace(/((?:^|\\s+)[a-z])/g,function(a){return a.toUpperCase().replace(/^[\\s\\xa0]+/g,\"\")}),d=b.length-5;if(0>d||b.indexOf(\"Error\",d)!=d)b+=\"Error\";this.name=b;b=Error(this.message);b.name=this.name;this.stack=b.stack||\"\"}\n(function(){var a=Error;function c(){}c.prototype=a.prototype;m.b=a.prototype;m.prototype=new c;m.prototype.constructor=m;m.a=function(b,c,f){for(var h=Array(arguments.length-2),k=2;k<arguments.length;k++)h[k-2]=arguments[k];return a.prototype[c].apply(b,h)}})();var p=\"unknown error\",n={15:\"element not selectable\",11:\"element not visible\"};n[31]=p;n[30]=p;n[24]=\"invalid cookie domain\";n[29]=\"invalid element coordinates\";n[12]=\"invalid element state\";n[32]=\"invalid selector\";n[51]=\"invalid selector\";\nn[52]=\"invalid selector\";n[17]=\"javascript error\";n[405]=\"unsupported operation\";n[34]=\"move target out of bounds\";n[27]=\"no such alert\";n[7]=\"no such element\";n[8]=\"no such frame\";n[23]=\"no such window\";n[28]=\"script timeout\";n[33]=\"session not created\";n[10]=\"stale element reference\";n[21]=\"timeout\";n[25]=\"unable to set cookie\";n[26]=\"unexpected alert open\";n[13]=p;n[9]=\"unknown command\";m.prototype.toString=function(){return this.name+\": \"+this.message};var q=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\\s\\xa0]+|[\\s\\xa0]+$/g,\"\")};\nfunction r(a,c){for(var b=0,d=q(String(a)).split(\".\"),f=q(String(c)).split(\".\"),h=Math.max(d.length,f.length),k=0;!b&&k<h;k++){var S=d[k]||\"\",ja=f[k]||\"\",ka=RegExp(\"(\\\\d*)(\\\\D*)\",\"g\"),la=RegExp(\"(\\\\d*)(\\\\D*)\",\"g\");do{var t=ka.exec(S)||[\"\",\"\",\"\"],u=la.exec(ja)||[\"\",\"\",\"\"];if(0==t[0].length&&0==u[0].length)break;b=v(0==t[1].length?0:parseInt(t[1],10),0==u[1].length?0:parseInt(u[1],10))||v(0==t[2].length,0==u[2].length)||v(t[2],u[2])}while(!b)}return b}function v(a,c){return a<c?-1:a>c?1:0};var w;a:{var x=g.navigator;if(x){var y=x.userAgent;if(y){w=y;break a}}w=\"\"}function z(a){return-1!=w.indexOf(a)};function ca(a,c){for(var b=a.length,d=l(a)?a.split(\"\"):a,f=0;f<b;f++)f in d&&c.call(void 0,d[f],f,a)};function A(){return z(\"iPhone\")&&!z(\"iPod\")&&!z(\"iPad\")};function B(){return z(\"Opera\")||z(\"OPR\")}function C(){return(z(\"Chrome\")||z(\"CriOS\"))&&!B()&&!z(\"Edge\")};var D=B(),E=z(\"Trident\")||z(\"MSIE\"),F=z(\"Edge\"),G=z(\"Gecko\")&&!(-1!=w.toLowerCase().indexOf(\"webkit\")&&!z(\"Edge\"))&&!(z(\"Trident\")||z(\"MSIE\"))&&!z(\"Edge\"),da=-1!=w.toLowerCase().indexOf(\"webkit\")&&!z(\"Edge\");function ea(){var a=w;if(G)return/rv\\:([^\\);]+)(\\)|;)/.exec(a);if(F)return/Edge\\/([\\d\\.]+)/.exec(a);if(E)return/\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(a);if(da)return/WebKit\\/(\\S+)/.exec(a)}function H(){var a=g.document;return a?a.documentMode:void 0}\nvar I=function(){if(D&&g.opera){var a;var c=g.opera.version;try{a=c()}catch(b){a=c}return a}a=\"\";(c=ea())&&(a=c?c[1]:\"\");return E&&(c=H(),null!=c&&c>parseFloat(a))?String(c):a}(),J={},K=g.document,L=K&&E?H()||(\"CSS1Compat\"==K.compatMode?parseInt(I,10):5):void 0;!G&&!E||E&&9<=Number(L)||G&&(J[\"1.9.1\"]||(J[\"1.9.1\"]=0<=r(I,\"1.9.1\")));E&&(J[\"9\"]||(J[\"9\"]=0<=r(I,\"9\")));var fa=z(\"Firefox\"),ga=A()||z(\"iPod\"),ha=z(\"iPad\"),M=z(\"Android\")&&!(C()||z(\"Firefox\")||B()||z(\"Silk\")),ia=C(),N=z(\"Safari\")&&!(C()||z(\"Coast\")||B()||z(\"Edge\")||z(\"Silk\")||z(\"Android\"))&&!(A()||z(\"iPad\")||z(\"iPod\"));var ma={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},na={IMG:\" \",BR:\"\\n\"};function oa(a,c,b){if(!(a.nodeName in ma))if(3==a.nodeType)b?c.push(String(a.nodeValue).replace(/(\\r\\n|\\r|\\n)/g,\"\")):c.push(a.nodeValue);else if(a.nodeName in na)c.push(na[a.nodeName]);else for(a=a.firstChild;a;)oa(a,c,b),a=a.nextSibling};function O(a){return(a=a.exec(w))?a[1]:\"\"}var pa=function(){if(fa)return O(/Firefox\\/([0-9.]+)/);if(E||F||D)return I;if(ia)return O(/Chrome\\/([0-9.]+)/);if(N&&!(A()||z(\"iPad\")||z(\"iPod\")))return O(/Version\\/([0-9.]+)/);if(ga||ha){var a=/Version\\/(\\S+).*Mobile\\/(\\S+)/.exec(w);if(a)return a[1]+\".\"+a[2]}else if(M)return(a=O(/Android\\s+([0-9.]+)/))?a:O(/Version\\/([0-9.]+)/);return\"\"}();var qa;function P(a){ra?qa(a):M?r(sa,a):r(pa,a)}var ra=function(){if(!G)return!1;var a=g.Components;if(!a)return!1;try{if(!a.classes)return!1}catch(f){return!1}var c=a.classes,a=a.interfaces,b=c[\"@mozilla.org/xpcom/version-comparator;1\"].getService(a.nsIVersionComparator),d=c[\"@mozilla.org/xre/app-info;1\"].getService(a.nsIXULAppInfo).version;qa=function(a){b.compare(d,\"\"+a)};return!0}(),Q;if(M){var ta=/Android\\s+([0-9\\.]+)/.exec(w);Q=ta?ta[1]:\"0\"}else Q=\"0\";\nvar sa=Q,ua=E&&!(8<=Number(L)),va=E&&!(9<=Number(L));M&&P(2.3);M&&P(4);N&&P(6);function R(a,c){c=c.toLowerCase();if(\"style\"==c)return wa(a.style.cssText);if(ua&&\"value\"==c&&T(a,\"INPUT\"))return a.value;if(va&&!0===a[c])return String(a.getAttribute(c));var b=a.getAttributeNode(c);return b&&b.specified?b.value:null}var xa=/[;]+(?=(?:(?:[^\"]*\"){2})*[^\"]*$)(?=(?:(?:[^']*'){2})*[^']*$)(?=(?:[^()]*\\([^()]*\\))*[^()]*$)/;\nfunction wa(a){var c=[];ca(a.split(xa),function(a){var d=a.indexOf(\":\");0<d&&(a=[a.slice(0,d),a.slice(d+1)],2==a.length&&c.push(a[0].toLowerCase(),\":\",a[1],\";\"))});c=c.join(\"\");return c=\";\"==c.charAt(c.length-1)?c:c+\";\"}function U(a,c){var b;ua&&\"value\"==c&&T(a,\"OPTION\")&&null===R(a,\"value\")?(b=[],oa(a,b,!1),b=b.join(\"\")):b=a[c];return b}function T(a,c){return!!a&&1==a.nodeType&&(!c||a.tagName.toUpperCase()==c)}\nfunction ya(a){return T(a,\"OPTION\")?!0:T(a,\"INPUT\")?(a=a.type.toLowerCase(),\"checkbox\"==a||\"radio\"==a):!1};var za={\"class\":\"className\",readonly:\"readOnly\"},V=\"async autofocus autoplay checked compact complete controls declare defaultchecked defaultselected defer disabled draggable ended formnovalidate hidden indeterminate iscontenteditable ismap itemscope loop multiple muted nohref noresize noshade novalidate nowrap open paused pubdate readonly required reversed scoped seamless seeking selected spellcheck truespeed willvalidate\".split(\" \");function Aa(a,c){var b=null,d=c.toLowerCase();if(\"style\"==d)return(b=a.style)&&!l(b)&&(b=b.cssText),b;if((\"selected\"==d||\"checked\"==d)&&ya(a)){if(!ya(a))throw new m(15,\"Element is not selectable\");var b=\"selected\",f=a.type&&a.type.toLowerCase();if(\"checkbox\"==f||\"radio\"==f)b=\"checked\";return U(a,b)?\"true\":null}var h=T(a,\"A\");if(T(a,\"IMG\")&&\"src\"==d||h&&\"href\"==d)return(b=R(a,d))&&(b=U(a,d)),b;if(\"spellcheck\"==d){b=R(a,d);if(null!==b){if(\"false\"==b.toLowerCase())return\"false\";if(\"true\"==b.toLowerCase())return\"true\"}return U(a,\nd)+\"\"}h=za[c]||c;a:if(l(V))d=l(d)&&1==d.length?V.indexOf(d,0):-1;else{for(var k=0;k<V.length;k++)if(k in V&&V[k]===d){d=k;break a}d=-1}if(0<=d)return(b=null!==R(a,c)||U(a,h))?\"true\":null;try{f=U(a,h)}catch(S){}(d=null==f)||(d=typeof f,d=\"object\"==d&&null!=f||\"function\"==d);d?b=R(a,c):b=f;return null!=b?b.toString():null}var W=[\"_\"],X=g;W[0]in X||!X.execScript||X.execScript(\"var \"+W[0]);for(var Y;W.length&&(Y=W.shift());){var Z;if(Z=!W.length)Z=void 0!==Aa;Z?X[Y]=Aa:X[Y]?X=X[Y]:X=X[Y]={}};; return this._.apply(null,arguments);}.apply({navigator:typeof window!='undefined'?window.navigator:null,document:typeof window!='undefined'?window.document:null}, arguments);}\n).apply(null, arguments);","args":[{"element-6066-11e4-a52e-4f735466cecf":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"},"value"]}
1492787238512   geckodriver::marionette DEBUG   → 8629:[0,9,"executeScript",{"args":[{"element-6066-11e4-a52e-4f735466cecf":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"},"value"],"newSandbox":false,"script":"return (function(){return function(){var aa=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(a,c,b){if(b.get||b.set)throw new TypeError(\"ES3 does not support getters and setters.\");a!=Array.prototype&&a!=Object.prototype&&(a[c]=b.value)},ba=\"undefined\"!=typeof window&&window===this?this:\"undefined\"!=typeof global?global:this;\nfunction e(a,c){if(c){for(var b=ba,d=a.split(\".\"),f=0;f<d.length-1;f++){var h=d[f];h in b||(b[h]={});b=b[h]}d=d[d.length-1];f=b[d];h=c(f);h!=f&&null!=h&&aa(b,d,{configurable:!0,writable:!0,value:h})}}\ne(\"String.prototype.repeat\",function(a){return a?a:function(a){var b;if(null==this)throw new TypeError(\"The 'this' value for String.prototype.repeat must not be null or undefined\");b=this+\"\";if(0>a||1342177279<a)throw new RangeError(\"Invalid count value\");a|=0;for(var d=\"\";a;)if(a&1&&(d+=b),a>>>=1)b+=b;return d}});e(\"Math.sign\",function(a){return a?a:function(a){a=Number(a);return!a||isNaN(a)?a:0<a?1:-1}});var g=this;function l(a){return\"string\"==typeof a};function m(a,c){this.a=n[a]||p;this.message=c||\"\";var b=this.a.replace(/((?:^|\\s+)[a-z])/g,function(a){return a.toUpperCase().replace(/^[\\s\\xa0]+/g,\"\")}),d=b.length-5;if(0>d||b.indexOf(\"Error\",d)!=d)b+=\"Error\";this.name=b;b=Error(this.message);b.name=this.name;this.stack=b.stack||\"\"}\n(function(){var a=Error;function c(){}c.prototype=a.prototype;m.b=a.prototype;m.prototype=new c;m.prototype.constructor=m;m.a=function(b,c,f){for(var h=Array(arguments.length-2),k=2;k<arguments.length;k++)h[k-2]=arguments[k];return a.prototype[c].apply(b,h)}})();var p=\"unknown error\",n={15:\"element not selectable\",11:\"element not visible\"};n[31]=p;n[30]=p;n[24]=\"invalid cookie domain\";n[29]=\"invalid element coordinates\";n[12]=\"invalid element state\";n[32]=\"invalid selector\";n[51]=\"invalid selector\";\nn[52]=\"invalid selector\";n[17]=\"javascript error\";n[405]=\"unsupported operation\";n[34]=\"move target out of bounds\";n[27]=\"no such alert\";n[7]=\"no such element\";n[8]=\"no such frame\";n[23]=\"no such window\";n[28]=\"script timeout\";n[33]=\"session not created\";n[10]=\"stale element reference\";n[21]=\"timeout\";n[25]=\"unable to set cookie\";n[26]=\"unexpected alert open\";n[13]=p;n[9]=\"unknown command\";m.prototype.toString=function(){return this.name+\": \"+this.message};var q=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\\s\\xa0]+|[\\s\\xa0]+$/g,\"\")};\nfunction r(a,c){for(var b=0,d=q(String(a)).split(\".\"),f=q(String(c)).split(\".\"),h=Math.max(d.length,f.length),k=0;!b&&k<h;k++){var S=d[k]||\"\",ja=f[k]||\"\",ka=RegExp(\"(\\\\d*)(\\\\D*)\",\"g\"),la=RegExp(\"(\\\\d*)(\\\\D*)\",\"g\");do{var t=ka.exec(S)||[\"\",\"\",\"\"],u=la.exec(ja)||[\"\",\"\",\"\"];if(0==t[0].length&&0==u[0].length)break;b=v(0==t[1].length?0:parseInt(t[1],10),0==u[1].length?0:parseInt(u[1],10))||v(0==t[2].length,0==u[2].length)||v(t[2],u[2])}while(!b)}return b}function v(a,c){return a<c?-1:a>c?1:0};var w;a:{var x=g.navigator;if(x){var y=x.userAgent;if(y){w=y;break a}}w=\"\"}function z(a){return-1!=w.indexOf(a)};function ca(a,c){for(var b=a.length,d=l(a)?a.split(\"\"):a,f=0;f<b;f++)f in d&&c.call(void 0,d[f],f,a)};function A(){return z(\"iPhone\")&&!z(\"iPod\")&&!z(\"iPad\")};function B(){return z(\"Opera\")||z(\"OPR\")}function C(){return(z(\"Chrome\")||z(\"CriOS\"))&&!B()&&!z(\"Edge\")};var D=B(),E=z(\"Trident\")||z(\"MSIE\"),F=z(\"Edge\"),G=z(\"Gecko\")&&!(-1!=w.toLowerCase().indexOf(\"webkit\")&&!z(\"Edge\"))&&!(z(\"Trident\")||z(\"MSIE\"))&&!z(\"Edge\"),da=-1!=w.toLowerCase().indexOf(\"webkit\")&&!z(\"Edge\");function ea(){var a=w;if(G)return/rv\\:([^\\);]+)(\\)|;)/.exec(a);if(F)return/Edge\\/([\\d\\.]+)/.exec(a);if(E)return/\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(a);if(da)return/WebKit\\/(\\S+)/.exec(a)}function H(){var a=g.document;return a?a.documentMode:void 0}\nvar I=function(){if(D&&g.opera){var a;var c=g.opera.version;try{a=c()}catch(b){a=c}return a}a=\"\";(c=ea())&&(a=c?c[1]:\"\");return E&&(c=H(),null!=c&&c>parseFloat(a))?String(c):a}(),J={},K=g.document,L=K&&E?H()||(\"CSS1Compat\"==K.compatMode?parseInt(I,10):5):void 0;!G&&!E||E&&9<=Number(L)||G&&(J[\"1.9.1\"]||(J[\"1.9.1\"]=0<=r(I,\"1.9.1\")));E&&(J[\"9\"]||(J[\"9\"]=0<=r(I,\"9\")));var fa=z(\"Firefox\"),ga=A()||z(\"iPod\"),ha=z(\"iPad\"),M=z(\"Android\")&&!(C()||z(\"Firefox\")||B()||z(\"Silk\")),ia=C(),N=z(\"Safari\")&&!(C()||z(\"Coast\")||B()||z(\"Edge\")||z(\"Silk\")||z(\"Android\"))&&!(A()||z(\"iPad\")||z(\"iPod\"));var ma={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},na={IMG:\" \",BR:\"\\n\"};function oa(a,c,b){if(!(a.nodeName in ma))if(3==a.nodeType)b?c.push(String(a.nodeValue).replace(/(\\r\\n|\\r|\\n)/g,\"\")):c.push(a.nodeValue);else if(a.nodeName in na)c.push(na[a.nodeName]);else for(a=a.firstChild;a;)oa(a,c,b),a=a.nextSibling};function O(a){return(a=a.exec(w))?a[1]:\"\"}var pa=function(){if(fa)return O(/Firefox\\/([0-9.]+)/);if(E||F||D)return I;if(ia)return O(/Chrome\\/([0-9.]+)/);if(N&&!(A()||z(\"iPad\")||z(\"iPod\")))return O(/Version\\/([0-9.]+)/);if(ga||ha){var a=/Version\\/(\\S+).*Mobile\\/(\\S+)/.exec(w);if(a)return a[1]+\".\"+a[2]}else if(M)return(a=O(/Android\\s+([0-9.]+)/))?a:O(/Version\\/([0-9.]+)/);return\"\"}();var qa;function P(a){ra?qa(a):M?r(sa,a):r(pa,a)}var ra=function(){if(!G)return!1;var a=g.Components;if(!a)return!1;try{if(!a.classes)return!1}catch(f){return!1}var c=a.classes,a=a.interfaces,b=c[\"@mozilla.org/xpcom/version-comparator;1\"].getService(a.nsIVersionComparator),d=c[\"@mozilla.org/xre/app-info;1\"].getService(a.nsIXULAppInfo).version;qa=function(a){b.compare(d,\"\"+a)};return!0}(),Q;if(M){var ta=/Android\\s+([0-9\\.]+)/.exec(w);Q=ta?ta[1]:\"0\"}else Q=\"0\";\nvar sa=Q,ua=E&&!(8<=Number(L)),va=E&&!(9<=Number(L));M&&P(2.3);M&&P(4);N&&P(6);function R(a,c){c=c.toLowerCase();if(\"style\"==c)return wa(a.style.cssText);if(ua&&\"value\"==c&&T(a,\"INPUT\"))return a.value;if(va&&!0===a[c])return String(a.getAttribute(c));var b=a.getAttributeNode(c);return b&&b.specified?b.value:null}var xa=/[;]+(?=(?:(?:[^\"]*\"){2})*[^\"]*$)(?=(?:(?:[^']*'){2})*[^']*$)(?=(?:[^()]*\\([^()]*\\))*[^()]*$)/;\nfunction wa(a){var c=[];ca(a.split(xa),function(a){var d=a.indexOf(\":\");0<d&&(a=[a.slice(0,d),a.slice(d+1)],2==a.length&&c.push(a[0].toLowerCase(),\":\",a[1],\";\"))});c=c.join(\"\");return c=\";\"==c.charAt(c.length-1)?c:c+\";\"}function U(a,c){var b;ua&&\"value\"==c&&T(a,\"OPTION\")&&null===R(a,\"value\")?(b=[],oa(a,b,!1),b=b.join(\"\")):b=a[c];return b}function T(a,c){return!!a&&1==a.nodeType&&(!c||a.tagName.toUpperCase()==c)}\nfunction ya(a){return T(a,\"OPTION\")?!0:T(a,\"INPUT\")?(a=a.type.toLowerCase(),\"checkbox\"==a||\"radio\"==a):!1};var za={\"class\":\"className\",readonly:\"readOnly\"},V=\"async autofocus autoplay checked compact complete controls declare defaultchecked defaultselected defer disabled draggable ended formnovalidate hidden indeterminate iscontenteditable ismap itemscope loop multiple muted nohref noresize noshade novalidate nowrap open paused pubdate readonly required reversed scoped seamless seeking selected spellcheck truespeed willvalidate\".split(\" \");function Aa(a,c){var b=null,d=c.toLowerCase();if(\"style\"==d)return(b=a.style)&&!l(b)&&(b=b.cssText),b;if((\"selected\"==d||\"checked\"==d)&&ya(a)){if(!ya(a))throw new m(15,\"Element is not selectable\");var b=\"selected\",f=a.type&&a.type.toLowerCase();if(\"checkbox\"==f||\"radio\"==f)b=\"checked\";return U(a,b)?\"true\":null}var h=T(a,\"A\");if(T(a,\"IMG\")&&\"src\"==d||h&&\"href\"==d)return(b=R(a,d))&&(b=U(a,d)),b;if(\"spellcheck\"==d){b=R(a,d);if(null!==b){if(\"false\"==b.toLowerCase())return\"false\";if(\"true\"==b.toLowerCase())return\"true\"}return U(a,\nd)+\"\"}h=za[c]||c;a:if(l(V))d=l(d)&&1==d.length?V.indexOf(d,0):-1;else{for(var k=0;k<V.length;k++)if(k in V&&V[k]===d){d=k;break a}d=-1}if(0<=d)return(b=null!==R(a,c)||U(a,h))?\"true\":null;try{f=U(a,h)}catch(S){}(d=null==f)||(d=typeof f,d=\"object\"==d&&null!=f||\"function\"==d);d?b=R(a,c):b=f;return null!=b?b.toString():null}var W=[\"_\"],X=g;W[0]in X||!X.execScript||X.execScript(\"var \"+W[0]);for(var Y;W.length&&(Y=W.shift());){var Z;if(Z=!W.length)Z=void 0!==Aa;Z?X[Y]=Aa:X[Y]?X=X[Y]:X=X[Y]={}};; return this._.apply(null,arguments);}.apply({navigator:typeof window!='undefined'?window.navigator:null,document:typeof window!='undefined'?window.document:null}, arguments);}\n).apply(null, arguments);","scriptTimeout":null,"specialPowers":false}]
1492787238514   Marionette  TRACE   conn0 -> [0,9,"executeScript",{"args":[{"element-6066-11e4-a52e-4f735466cecf":"dbc051ff-0e52-4b95-b7e7-ef5bb8281d30"},"value"],"newSandbox":false,"script":"return (function(){return function(){var aa=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(a,c,b){if(b.get||b.set)throw new TypeError(\"ES3 does not support getters and setters.\");a!=Array.prototype&&a!=Object.prototype&&(a[c]=b.value)},ba=\"undefined\"!=typeof window&&window===this?this:\"undefined\"!=typeof global?global:this;\nfunction e(a,c){if(c){for(var b=ba,d=a.split(\".\"),f=0;f<d.length-1;f++){var h=d[f];h in b||(b[h]={});b=b[h]}d=d[d.length-1];f=b[d];h=c(f);h!=f&&null!=h&&aa(b,d,{configurable:!0,writable:!0,value:h})}}\ne(\"String.prototype.repeat\",function(a){return a?a:function(a){var b;if(null==this)throw new TypeError(\"The 'this' value for String.prototype.repeat must not be null or undefined\");b=this+\"\";if(0>a||1342177279<a)throw new RangeError(\"Invalid count value\");a|=0;for(var d=\"\";a;)if(a&1&&(d+=b),a>>>=1)b+=b;return d}});e(\"Math.sign\",function(a){return a?a:function(a){a=Number(a);return!a||isNaN(a)?a:0<a?1:-1}});var g=this;function l(a){return\"string\"==typeof a};function m(a,c){this.a=n[a]||p;this.message=c||\"\";var b=this.a.replace(/((?:^|\\s+)[a-z])/g,function(a){return a.toUpperCase().replace(/^[\\s\\xa0]+/g,\"\")}),d=b.length-5;if(0>d||b.indexOf(\"Error\",d)!=d)b+=\"Error\";this.name=b;b=Error(this.message);b.name=this.name;this.stack=b.stack||\"\"}\n(function(){var a=Error;function c(){}c.prototype=a.prototype;m.b=a.prototype;m.prototype=new c;m.prototype.constructor=m;m.a=function(b,c,f){for(var h=Array(arguments.length-2),k=2;k<arguments.length;k++)h[k-2]=arguments[k];return a.prototype[c].apply(b,h)}})();var p=\"unknown error\",n={15:\"element not selectable\",11:\"element not visible\"};n[31]=p;n[30]=p;n[24]=\"invalid cookie domain\";n[29]=\"invalid element coordinates\";n[12]=\"invalid element state\";n[32]=\"invalid selector\";n[51]=\"invalid selector\";\nn[52]=\"invalid selector\";n[17]=\"javascript error\";n[405]=\"unsupported operation\";n[34]=\"move target out of bounds\";n[27]=\"no such alert\";n[7]=\"no such element\";n[8]=\"no such frame\";n[23]=\"no such window\";n[28]=\"script timeout\";n[33]=\"session not created\";n[10]=\"stale element reference\";n[21]=\"timeout\";n[25]=\"unable to set cookie\";n[26]=\"unexpected alert open\";n[13]=p;n[9]=\"unknown command\";m.prototype.toString=function(){return this.name+\": \"+this.message};var q=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\\s\\xa0]+|[\\s\\xa0]+$/g,\"\")};\nfunction r(a,c){for(var b=0,d=q(String(a)).split(\".\"),f=q(String(c)).split(\".\"),h=Math.max(d.length,f.length),k=0;!b&&k<h;k++){var S=d[k]||\"\",ja=f[k]||\"\",ka=RegExp(\"(\\\\d*)(\\\\D*)\",\"g\"),la=RegExp(\"(\\\\d*)(\\\\D*)\",\"g\");do{var t=ka.exec(S)||[\"\",\"\",\"\"],u=la.exec(ja)||[\"\",\"\",\"\"];if(0==t[0].length&&0==u[0].length)break;b=v(0==t[1].length?0:parseInt(t[1],10),0==u[1].length?0:parseInt(u[1],10))||v(0==t[2].length,0==u[2].length)||v(t[2],u[2])}while(!b)}return b}function v(a,c){return a<c?-1:a>c?1:0};var w;a:{var x=g.navigator;if(x){var y=x.userAgent;if(y){w=y;break a}}w=\"\"}function z(a){return-1!=w.indexOf(a)};function ca(a,c){for(var b=a.length,d=l(a)?a.split(\"\"):a,f=0;f<b;f++)f in d&&c.call(void 0,d[f],f,a)};function A(){return z(\"iPhone\")&&!z(\"iPod\")&&!z(\"iPad\")};function B(){return z(\"Opera\")||z(\"OPR\")}function C(){return(z(\"Chrome\")||z(\"CriOS\"))&&!B()&&!z(\"Edge\")};var D=B(),E=z(\"Trident\")||z(\"MSIE\"),F=z(\"Edge\"),G=z(\"Gecko\")&&!(-1!=w.toLowerCase().indexOf(\"webkit\")&&!z(\"Edge\"))&&!(z(\"Trident\")||z(\"MSIE\"))&&!z(\"Edge\"),da=-1!=w.toLowerCase().indexOf(\"webkit\")&&!z(\"Edge\");function ea(){var a=w;if(G)return/rv\\:([^\\);]+)(\\)|;)/.exec(a);if(F)return/Edge\\/([\\d\\.]+)/.exec(a);if(E)return/\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(a);if(da)return/WebKit\\/(\\S+)/.exec(a)}function H(){var a=g.document;return a?a.documentMode:void 0}\nvar I=function(){if(D&&g.opera){var a;var c=g.opera.version;try{a=c()}catch(b){a=c}return a}a=\"\";(c=ea())&&(a=c?c[1]:\"\");return E&&(c=H(),null!=c&&c>parseFloat(a))?String(c):a}(),J={},K=g.document,L=K&&E?H()||(\"CSS1Compat\"==K.compatMode?parseInt(I,10):5):void 0;!G&&!E||E&&9<=Number(L)||G&&(J[\"1.9.1\"]||(J[\"1.9.1\"]=0<=r(I,\"1.9.1\")));E&&(J[\"9\"]||(J[\"9\"]=0<=r(I,\"9\")));var fa=z(\"Firefox\"),ga=A()||z(\"iPod\"),ha=z(\"iPad\"),M=z(\"Android\")&&!(C()||z(\"Firefox\")||B()||z(\"Silk\")),ia=C(),N=z(\"Safari\")&&!(C()||z(\"Coast\")||B()||z(\"Edge\")||z(\"Silk\")||z(\"Android\"))&&!(A()||z(\"iPad\")||z(\"iPod\"));var ma={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},na={IMG:\" \",BR:\"\\n\"};function oa(a,c,b){if(!(a.nodeName in ma))if(3==a.nodeType)b?c.push(String(a.nodeValue).replace(/(\\r\\n|\\r|\\n)/g,\"\")):c.push(a.nodeValue);else if(a.nodeName in na)c.push(na[a.nodeName]);else for(a=a.firstChild;a;)oa(a,c,b),a=a.nextSibling};function O(a){return(a=a.exec(w))?a[1]:\"\"}var pa=function(){if(fa)return O(/Firefox\\/([0-9.]+)/);if(E||F||D)return I;if(ia)return O(/Chrome\\/([0-9.]+)/);if(N&&!(A()||z(\"iPad\")||z(\"iPod\")))return O(/Version\\/([0-9.]+)/);if(ga||ha){var a=/Version\\/(\\S+).*Mobile\\/(\\S+)/.exec(w);if(a)return a[1]+\".\"+a[2]}else if(M)return(a=O(/Android\\s+([0-9.]+)/))?a:O(/Version\\/([0-9.]+)/);return\"\"}();var qa;function P(a){ra?qa(a):M?r(sa,a):r(pa,a)}var ra=function(){if(!G)return!1;var a=g.Components;if(!a)return!1;try{if(!a.classes)return!1}catch(f){return!1}var c=a.classes,a=a.interfaces,b=c[\"@mozilla.org/xpcom/version-comparator;1\"].getService(a.nsIVersionComparator),d=c[\"@mozilla.org/xre/app-info;1\"].getService(a.nsIXULAppInfo).version;qa=function(a){b.compare(d,\"\"+a)};return!0}(),Q;if(M){var ta=/Android\\s+([0-9\\.]+)/.exec(w);Q=ta?ta[1]:\"0\"}else Q=\"0\";\nvar sa=Q,ua=E&&!(8<=Number(L)),va=E&&!(9<=Number(L));M&&P(2.3);M&&P(4);N&&P(6);function R(a,c){c=c.toLowerCase();if(\"style\"==c)return wa(a.style.cssText);if(ua&&\"value\"==c&&T(a,\"INPUT\"))return a.value;if(va&&!0===a[c])return String(a.getAttribute(c));var b=a.getAttributeNode(c);return b&&b.specified?b.value:null}var xa=/[;]+(?=(?:(?:[^\"]*\"){2})*[^\"]*$)(?=(?:(?:[^']*'){2})*[^']*$)(?=(?:[^()]*\\([^()]*\\))*[^()]*$)/;\nfunction wa(a){var c=[];ca(a.split(xa),function(a){var d=a.indexOf(\":\");0<d&&(a=[a.slice(0,d),a.slice(d+1)],2==a.length&&c.push(a[0].toLowerCase(),\":\",a[1],\";\"))});c=c.join(\"\");return c=\";\"==c.charAt(c.length-1)?c:c+\";\"}function U(a,c){var b;ua&&\"value\"==c&&T(a,\"OPTION\")&&null===R(a,\"value\")?(b=[],oa(a,b,!1),b=b.join(\"\")):b=a[c];return b}function T(a,c){return!!a&&1==a.nodeType&&(!c||a.tagName.toUpperCase()==c)}\nfunction ya(a){return T(a,\"OPTION\")?!0:T(a,\"INPUT\")?(a=a.type.toLowerCase(),\"checkbox\"==a||\"radio\"==a):!1};var za={\"class\":\"className\",readonly:\"readOnly\"},V=\"async autofocus autoplay checked compact complete controls declare defaultchecked defaultselected defer disabled draggable ended formnovalidate hidden indeterminate iscontenteditable ismap itemscope loop multiple muted nohref noresize noshade novalidate nowrap open paused pubdate readonly required reversed scoped seamless seeking selected spellcheck truespeed willvalidate\".split(\" \");function Aa(a,c){var b=null,d=c.toLowerCase();if(\"style\"==d)return(b=a.style)&&!l(b)&&(b=b.cssText),b;if((\"selected\"==d||\"checked\"==d)&&ya(a)){if(!ya(a))throw new m(15,\"Element is not selectable\");var b=\"selected\",f=a.type&&a.type.toLowerCase();if(\"checkbox\"==f||\"radio\"==f)b=\"checked\";return U(a,b)?\"true\":null}var h=T(a,\"A\");if(T(a,\"IMG\")&&\"src\"==d||h&&\"href\"==d)return(b=R(a,d))&&(b=U(a,d)),b;if(\"spellcheck\"==d){b=R(a,d);if(null!==b){if(\"false\"==b.toLowerCase())return\"false\";if(\"true\"==b.toLowerCase())return\"true\"}return U(a,\nd)+\"\"}h=za[c]||c;a:if(l(V))d=l(d)&&1==d.length?V.indexOf(d,0):-1;else{for(var k=0;k<V.length;k++)if(k in V&&V[k]===d){d=k;break a}d=-1}if(0<=d)return(b=null!==R(a,c)||U(a,h))?\"true\":null;try{f=U(a,h)}catch(S){}(d=null==f)||(d=typeof f,d=\"object\"==d&&null!=f||\"function\"==d);d?b=R(a,c):b=f;return null!=b?b.toString():null}var W=[\"_\"],X=g;W[0]in X||!X.execScript||X.execScript(\"var \"+W[0]);for(var Y;W.length&&(Y=W.shift());){var Z;if(Z=!W.length)Z=void 0!==Aa;Z?X[Y]=Aa:X[Y]?X=X[Y]:X=X[Y]={}};; return this._.apply(null,arguments);}.apply({navigator:typeof window!='undefined'?window.navigator:null,document:typeof window!='undefined'?window.document:null}, arguments);}\n).apply(null, arguments);","scriptTimeout":null,"specialPowers":false}]
1492787238521   Marionette  TRACE   conn0 <- [1,9,null,{"value":"12345a"}]
1492787238521   geckodriver::marionette DEBUG   ← [1,9,null,{"value":"12345a"}]
1492787238522   webdriver::server   DEBUG   Returning status Ok
1492787238522   webdriver::server   DEBUG   Returning body {"value":"12345a"}
1492787238522   hyper::header   TRACE   Headers.set( "Content-Type", ContentType(Mime(Application, Json, [(Charset, Utf8)])) )
1492787238522   hyper::header   TRACE   Headers.set( "Cache-Control", CacheControl([NoCache]) )
1492787238522   hyper::header   TRACE   Headers.set( "Content-Length", ContentLength(18) )
1492787238522   hyper::server::response DEBUG   writing head: Http11 Ok
1492787238522   hyper::header   TRACE   Headers.set( "Date", Date(HttpDate(Tm { tm_sec: 18, tm_min: 7, tm_hour: 15, tm_mday: 21, tm_mon: 3, tm_year: 117, tm_wday: 5, tm_yday: 110, tm_isdst: 0, tm_utcoff: 0, tm_nsec: 522473800 })) )
1492787238522   hyper::server::response DEBUG   headers [
Headers { Connection: close
, Content-Type: application/json; charset=utf-8
, Cache-Control: no-cache
, Content-Length: 18
, Date: Fri, 21 Apr 2017 15:07:18 GMT
, }]
1492787238522   hyper::server::response DEBUG   write 18 bytes
1492787238522   hyper::server::response TRACE   ending
1492787238522   hyper::server   DEBUG   keep_alive = false for 127.0.0.1:4325
1492787238522   hyper::server   DEBUG   keep_alive loop ending for 127.0.0.1:4325
1492787238524   hyper::server   DEBUG   Incoming stream
1492787238524   hyper::buffer   TRACE   get_buf []
1492787238524   hyper::buffer   TRACE   read_into_buf buf[0..4096]
1492787238524   hyper::buffer   TRACE   get_buf [u8; 4096][0..197]
1492787238524   hyper::http::h1 TRACE   try_parse([68, 69, 76, 69, 84, 69, 32, 47, 115, 101, 115, 115, 105, 111, 110, 47, 98, 56, 48, 50, 55, 49, 49, 100, 45, 53, 51, 48, 52, 45, 52, 50, 49, 101, 45, 98, 99, 102, 51, 45, 56, 54, 100, 98, 50, 51, 101, 97, 53, 55, 52, 97, 32, 72, 84, 84, 80, 47, 49, 46, 49, 13, 10, 72, 111, 115, 116, 58, 32, 108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48, 13, 10, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 58, 32, 75, 101, 101, 112, 45, 65, 108, 105, 118, 101, 13, 10, 85, 115, 101, 114, 45, 65, 103, 101, 110, 116, 58, 32, 65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41, 13, 10, 65, 99, 99, 101, 112, 116, 45, 69, 110, 99, 111, 100, 105, 110, 103, 58, 32, 103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101, 13, 10, 13, 10])
1492787238524   hyper::http::h1 TRACE   Request.try_parse([Header; 100], [u8; 197])
1492787238524   hyper::http::h1 TRACE   Request.try_parse Complete(197)
1492787238524   hyper::header   TRACE   raw header: "Host"=[108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48]
1492787238524   hyper::header   TRACE   raw header: "Connection"=[75, 101, 101, 112, 45, 65, 108, 105, 118, 101]
1492787238524   hyper::header   TRACE   raw header: "User-Agent"=[65, 112, 97, 99, 104, 101, 45, 72, 116, 116, 112, 67, 108, 105, 101, 110, 116, 47, 52, 46, 53, 46, 50, 32, 40, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 41]
1492787238525   hyper::header   TRACE   raw header: "Accept-Encoding"=[103, 122, 105, 112, 44, 100, 101, 102, 108, 97, 116, 101]
1492787238525   hyper::server::request  DEBUG   Request Line: Delete AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a") Http11
1492787238525   hyper::server::request  DEBUG   Headers { Host: localhost:33610
, Connection: Keep-Alive
, User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_112)
, Accept-Encoding: gzip,deflate
, }
1492787238525   hyper::header   TRACE   Headers.set( "Connection", Connection([Close]) )
1492787238525   webdriver::server   DEBUG   Got request DELETE AbsolutePath("/session/b802711d-5304-421e-bcf3-86db23ea574a")
1492787238525   geckodriver::marionette DEBUG   → 49:[0,10,"quitApplication",{"flags":["eForceQuit"]}]
1492787238527   Marionette  TRACE   conn0 -> [0,10,"quitApplication",{"flags":["eForceQuit"]}]
1492787238527   Marionette  INFO    New connections will no longer be accepted
1492787238527   Marionette  TRACE   conn0 <- [1,10,null,{}]
1492787238529   geckodriver::marionette DEBUG   ← [1,10,null,{}]
1492787238529   webdriver::server   DEBUG   Deleting session
1492787238529   geckodriver::marionette DEBUG   Stopping browser process
1492787238596   webdriver::server   DEBUG   Returning status Ok
1492787238596   webdriver::server   DEBUG   Returning body {"value": {}}
1492787238596   hyper::header   TRACE   Headers.set( "Content-Type", ContentType(Mime(Application, Json, [(Charset, Utf8)])) )
1492787238596   hyper::header   TRACE   Headers.set( "Cache-Control", CacheControl([NoCache]) )
1492787238596   hyper::header   TRACE   Headers.set( "Content-Length", ContentLength(13) )
1492787238596   hyper::server::response DEBUG   writing head: Http11 Ok
1492787238596   hyper::header   TRACE   Headers.set( "Date", Date(HttpDate(Tm { tm_sec: 18, tm_min: 7, tm_hour: 15, tm_mday: 21, tm_mon: 3, tm_year: 117, tm_wday: 5, tm_yday: 110, tm_isdst: 0, tm_utcoff: 0, tm_nsec: 596416300 })) )
1492787238596   hyper::server::response DEBUG   headers [
Headers { Connection: close
, Content-Type: application/json; charset=utf-8
, Cache-Control: no-cache
, Content-Length: 13
, Date: Fri, 21 Apr 2017 15:07:18 GMT
, }]
1492787238596   hyper::server::response DEBUG   write 13 bytes
1492787238596   hyper::server::response TRACE   ending
1492787238596   hyper::server   DEBUG   keep_alive = false for 127.0.0.1:4326
1492787238596   hyper::server   DEBUG   keep_alive loop ending for 127.0.0.1:4326
1492787238606   hyper::server   DEBUG   Incoming stream
1492787238606   hyper::buffer   TRACE   get_buf []
1492787238606   hyper::buffer   TRACE   read_into_buf buf[0..4096]
1492787238606   hyper::buffer   TRACE   get_buf [u8; 4096][0..163]
1492787238606   hyper::http::h1 TRACE   try_parse([71, 69, 84, 32, 47, 115, 104, 117, 116, 100, 111, 119, 110, 32, 72, 84, 84, 80, 47, 49, 46, 49, 13, 10, 85, 115, 101, 114, 45, 65, 103, 101, 110, 116, 58, 32, 74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50, 13, 10, 72, 111, 115, 116, 58, 32, 108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48, 13, 10, 65, 99, 99, 101, 112, 116, 58, 32, 116, 101, 120, 116, 47, 104, 116, 109, 108, 44, 32, 105, 109, 97, 103, 101, 47, 103, 105, 102, 44, 32, 105, 109, 97, 103, 101, 47, 106, 112, 101, 103, 44, 32, 42, 59, 32, 113, 61, 46, 50, 44, 32, 42, 47, 42, 59, 32, 113, 61, 46, 50, 13, 10, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 58, 32, 107, 101, 101, 112, 45, 97, 108, 105, 118, 101, 13, 10, 13, 10])
1492787238606   hyper::http::h1 TRACE   Request.try_parse([Header; 100], [u8; 163])
1492787238606   hyper::http::h1 TRACE   Request.try_parse Complete(163)
1492787238606   hyper::header   TRACE   raw header: "User-Agent"=[74, 97, 118, 97, 47, 49, 46, 56, 46, 48, 95, 49, 49, 50]
1492787238606   hyper::header   TRACE   raw header: "Host"=[108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 51, 51, 54, 49, 48]
1492787238606   hyper::header   TRACE   raw header: "Accept"=[116, 101, 120, 116, 47, 104, 116, 109, 108, 44, 32, 105, 109, 97, 103, 101, 47, 103, 105, 102, 44, 32, 105, 109, 97, 103, 101, 47, 106, 112, 101, 103, 44, 32, 42, 59, 32, 113, 61, 46, 50, 44, 32, 42, 47, 42, 59, 32, 113, 61, 46, 50]
1492787238606   hyper::header   TRACE   raw header: "Connection"=[107, 101, 101, 112, 45, 97, 108, 105, 118, 101]
1492787238606   hyper::server::request  DEBUG   Request Line: Get AbsolutePath("/shutdown") Http11
1492787238606   hyper::server::request  DEBUG   Headers { User-Agent: Java/1.8.0_112
, Host: localhost:33610
, Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
, Connection: keep-alive
, }
1492787238606   hyper::header   TRACE   Headers.set( "Connection", Connection([Close]) )
1492787238606   webdriver::server   DEBUG   Got request GET AbsolutePath("/shutdown")
1492787238613   webdriver::server   DEBUG   Returning status NotFound
1492787238613   webdriver::server   DEBUG   Returning body {"value":{"error":"unknown command","message":"GET /shutdown did not match a known command","stacktrace":"stack backtrace:\n   0:   0x5ecb16 - <no info>\n   1:   0x428f24 - <no info>\n   2:   0x41e9ff - <no info>\n   3:   0x406151 - <no info>\n   4:   0x63c066 - <no info>\n   5:   0x410ad4 - <no info>\n   6:   0x637241 - <no info>\n   7: 0x767862c4 - BaseThreadInitThunk\n   8: 0x776c0609 - RtlSubscribeWnfStateChangeNotification"}}
1492787238613   hyper::header   TRACE   Headers.set( "Content-Type", ContentType(Mime(Application, Json, [(Charset, Utf8)])) )
1492787238613   hyper::header   TRACE   Headers.set( "Cache-Control", CacheControl([NoCache]) )
1492787238613   hyper::header   TRACE   Headers.set( "Content-Length", ContentLength(434) )
1492787238613   hyper::server::response DEBUG   writing head: Http11 NotFound
1492787238613   hyper::header   TRACE   Headers.set( "Date", Date(HttpDate(Tm { tm_sec: 18, tm_min: 7, tm_hour: 15, tm_mday: 21, tm_mon: 3, tm_year: 117, tm_wday: 5, tm_yday: 110, tm_isdst: 0, tm_utcoff: 0, tm_nsec: 613428100 })) )
1492787238613   hyper::server::response DEBUG   headers [
Headers { Connection: close
, Content-Type: application/json; charset=utf-8
, Cache-Control: no-cache
, Content-Length: 434
, Date: Fri, 21 Apr 2017 15:07:18 GMT
, }]
1492787238613   hyper::server::response DEBUG   write 434 bytes
1492787238613   hyper::server::response TRACE   ending
1492787238613   hyper::server   DEBUG   keep_alive = false for 127.0.0.1:4327
1492787238613   hyper::server   DEBUG   keep_alive loop ending for 127.0.0.1:4327
Apr 21, 2017 5:07:19 PM org.openqa.selenium.os.UnixProcess destroy
SEVERE: Unable to kill process with PID 51552
saketrule commented 7 years ago

action.send_keys(Keys.CONTROL,"a").perform() does not work as expected.

Adding a Keys.NULL at the end does.

action.send_keys(Keys.CONTROL,"a",Keys.NULL).perform()

codingphil commented 7 years ago

Why is the behavior different from WebElement.sendKeys()? When I perform the same test with WebElement.sendKeys() it works fine.

codingphil commented 7 years ago

This test fails too with org.junit.ComparisonFailure: expected:<[]> but was:<[12345a]> (geckodriver 0.16, FF 53)

    // given
    driver.navigate().to(TestPages.SIMPLETEXTFIELDPAGE);
    WebElement textFieldElem = driver.findElementByName("textfield");
    textFieldElem.click();
    new Actions(driver).sendKeys(textFieldElem, "12345").perform();
    assertEquals("12345", textFieldElem.getAttribute("value"));

    // when
    new Actions(driver).sendKeys(Keys.CONTROL, "a", Keys.NULL).perform();
    new Actions(driver).sendKeys(Keys.DELETE).perform();

    // then
    assertEquals("", textFieldElem.getAttribute("value"));
andreastt commented 7 years ago

I’m sorry, it’s not clear to me from the comments so far in this thread what the problem actually is. I have some questions:

codingphil commented 7 years ago

Does the action API work only if you append Keys.NULL at the end? Does sendKeys not work at all? Or does sendKeys also work if you append Keys.NULL?

In general Actions.sendKeys() works fine for normal characters like "abc" (even without Keys.NULL at the end). Pressing Ctrl-A via Actions.sendKeys() does not work. Neither with or without the Keys.NULL.

Both test cases mentioned in the comments above fail.

Interestingly the following code without using the Actions API does work (without using Keys.NULL):

    // given
    webDriver.navigate().to(TestPages.SIMPLETEXTFIELDPAGE);
    WebElement textFieldElem = webDriver.findElementByName("textfield");
    textFieldElem.click();
    textFieldElem.sendKeys("12345");
    assertEquals("12345", textFieldElem.getAttribute("value"));

    // when
    List<CharSequence> keyWithModifiers = new ArrayList<CharSequence>();
    keyWithModifiers.add(Keys.CONTROL);
    keyWithModifiers.add("a");
    String ctrlA = Keys.chord(keyWithModifiers);
    textFieldElem.sendKeys(ctrlA);
    textFieldElem.sendKeys(Keys.DELETE);

    // then
    assertEquals("", textFieldElem.getAttribute("value"));
elliottj commented 7 years ago

Same issue on newer gecko driver. VERSIONS Firefox version: 53.0 (64-bit) GeckoDriver: v0.16.1 win64 Selenium: 3.4.0 Java bindings NetBeans: 8.1 Java jdk1.8.0_73

PLATFORM Windows 7 64 bit 16GB RAM

CODE

        WebElement element = webDriver.findElement(By.id("search-box"));
        element.sendKeys("hello");
        Actions builder = new Actions(webDriver);
        builder.sendKeys(Keys.chord(Keys.CONTROL, "a")).perform();
        builder.sendKeys(Keys.chord(Keys.CONTROL, "c")).perform();
        webDriver.close();

EXPECTED text "hello" availale in the system clipboard

ACTUAL text "helloac" appears in input element.

LOG EXTRACT

1494326268054   Marionette  TRACE   conn0 -> [0,3,"findElement",{"using":"css selector","value":"#search\\-box"}]
1494326268061   Marionette  TRACE   conn0 <- [1,3,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"47bf754c-7277-46df-86e1-9436f4855f77","ELEMENT":"47bf754c-7277-46df-86e1-9436f4855f77"}}]
1494326268062   geckodriver::marionette TRACE   � [1,3,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"47bf754c-7277-46df-86e1-9436f4855f77","ELEMENT":"47bf754c-7277-46df-86e1-9436f4855f77"}}]
1494326268062   webdriver::server   DEBUG   � 200 OK {"value":{"element-6066-11e4-a52e-4f735466cecf":"47bf754c-7277-46df-86e1-9436f4855f77"}}
1494326268075   webdriver::server   DEBUG   → POST /session/1e564606-3df9-4d4f-b7cb-af4007beb957/element/47bf754c-7277-46df-86e1-9436f4855f77/value {"id":"47bf754c-7277-46df-86e1-9436f4855f77","text":"hello","value":["h","e","l","l","o"]}
1494326268076   geckodriver::marionette TRACE   → 116:[0,4,"sendKeysToElement",{"id":"47bf754c-7277-46df-86e1-9436f4855f77","text":"hello","value":["h","e","l","l","o"]}]
1494326268078   Marionette  TRACE   conn0 -> [0,4,"sendKeysToElement",{"id":"47bf754c-7277-46df-86e1-9436f4855f77","text":"hello","value":["h","e","l","l","o"]}]
1494326268143   Marionette  TRACE   conn0 <- [1,4,null,{}]
1494326268144   geckodriver::marionette TRACE   � [1,4,null,{}]
1494326268144   webdriver::server   DEBUG   � 200 OK {"value": {}}
1494326268161   webdriver::server   DEBUG   → POST /session/1e564606-3df9-4d4f-b7cb-af4007beb957/actions {"actions":[{"type":"key","actions":[{"type":"keyDown","value":""},{"type":"keyUp","value":""},{"type":"keyDown","value":"a"},{"type":"keyUp","value":"a"},{"type":"keyDown","value":""},{"type":"keyUp","value":""}],"id":"default keyboard"}]}
1494326268162   geckodriver::marionette TRACE   → 275:[0,5,"performActions",{"actions":[{"actions":[{"type":"keyDown","value":""},{"type":"keyUp","value":""},{"type":"keyDown","value":"a"},{"type":"keyUp","value":"a"},{"type":"keyDown","value":""},{"type":"keyUp","value":""}],"id":"default keyboard","type":"key"}]}]
1494326268164   Marionette  TRACE   conn0 -> [0,5,"performActions",{"actions":[{"actions":[{"type":"keyDown","value":""},{"type":"keyUp","value":""},{"type":"keyDown","value":"a"},{"type":"keyUp","value":"a"},{"type":"keyDown","value":""},{"type":"keyUp","value":""}],"id":"default keyboard","type":"key"}]}]
1494326268182   Marionette  TRACE   conn0 <- [1,5,null,{}]
1494326268183   geckodriver::marionette TRACE   � [1,5,null,{}]
1494326268183   webdriver::server   DEBUG   � 200 OK {"value": {}}
1494326268189   webdriver::server   DEBUG   → POST /session/1e564606-3df9-4d4f-b7cb-af4007beb957/actions {"actions":[{"type":"key","actions":[{"type":"keyDown","value":""},{"type":"keyUp","value":""},{"type":"keyDown","value":"c"},{"type":"keyUp","value":"c"},{"type":"keyDown","value":""},{"type":"keyUp","value":""}],"id":"default keyboard"}]}
1494326268190   geckodriver::marionette TRACE   → 275:[0,6,"performActions",{"actions":[{"actions":[{"type":"keyDown","value":""},{"type":"keyUp","value":""},{"type":"keyDown","value":"c"},{"type":"keyUp","value":"c"},{"type":"keyDown","value":""},{"type":"keyUp","value":""}],"id":"default keyboard","type":"key"}]}]
1494326268191   Marionette  TRACE   conn0 -> [0,6,"performActions",{"actions":[{"actions":[{"type":"keyDown","value":""},{"type":"keyUp","value":""},{"type":"keyDown","value":"c"},{"type":"keyUp","value":"c"},{"type":"keyDown","value":""},{"type":"keyUp","value":""}],"id":"default keyboard","type":"key"}]}]
1494326268213   Marionette  TRACE   conn0 <- [1,6,null,{}]
1494326268215   geckodriver::marionette TRACE   � [1,6,null,{}]
1494326268215   webdriver::server   DEBUG   � 200 OK {"value": {}}

codingphil workaround also works for me.

whimboo commented 6 years ago

Could someone test if that is still a problem with Firefox 58 beta, or 59 Nightly?

codingphil commented 6 years ago

The test is still failing with Firefox 58 Beta and Firefox 59 Nightly, geckodriver 0.19.1 and selenium 3.8.1.

geckodriver-trace.log

whimboo commented 6 years ago

I don't know which kind of code you were running for the trace from the last comment. Can you please highlight the part of the trace log which shows the problem?

codingphil commented 6 years ago

The code from the original bug entry:

    // given
    driver.navigate().to("http://localhost/SimpleTextField.html"); // TODO: Adapt to your own local server
    WebElement textFieldElem = driver.findElementByName("textfield");
    textFieldElem.click();
    new Actions(driver).sendKeys(textFieldElem, "12345").perform();
    assertEquals("12345", textFieldElem.getAttribute("value"));

    // when
    List<CharSequence> keyWithModifiers = new ArrayList<CharSequence>();
    keyWithModifiers.add(Keys.CONTROL);
    keyWithModifiers.add("a");
    String ctrlA = Keys.chord(keyWithModifiers);
    new Actions(driver).sendKeys(textFieldElem, ctrlA).perform();
    new Actions(driver).sendKeys(Keys.DELETE).perform();

    // then
    assertEquals("", textFieldElem.getAttribute("value")); // <<=== FAILS

The problem is that the assert fails (no error in trace). I just added the trace if anybody needs the info.

whimboo commented 6 years ago

Now I see. This looks indeed strange in the trace:

{"type":"keyDown","value":""},{"type":"keyUp","value":""},{"type":"keyDown","value":"a"}, {"type":"keyUp","value":"a"},{"type":"keyDown","value":""},{"type":"keyUp","value":""}

The Ctrl keys gets released before pressing a, and pressed/released again afterward. Given that chord() is not part of geckodriver, it should be a problem with the Selenium binding you are using. It just generates wrong code which then gets passed to geckodriver. CC @mjzffr

whimboo commented 6 years ago

I assume code like the following will work, right?

action.keyDown(Keys.CONTROL).sendKeys("a").keyUp(Keys.CONTROL).perform();

It should make it a dupe of issue #1112.

codingphil commented 6 years ago

Interesting is that the following code works fine.

List<CharSequence> keyWithModifiers = new ArrayList<CharSequence>();
keyWithModifiers.add(Keys.CONTROL);
keyWithModifiers.add("a");
String ctrlA = Keys.chord(keyWithModifiers);
textFieldElem.sendKeys(ctrlA);
textFieldElem.sendKeys(Keys.DELETE);

So is the chord wrong here too?

whimboo commented 6 years ago

Which code works fine? The one I posted in my last comment? Have you run that? If it works (which I believe it does) this issue is invalid, and you should file a bug for your used binding.

codingphil commented 6 years ago

My argument was that in the code posted above (https://github.com/mozilla/geckodriver/issues/665#issuecomment-355338378) Keys.chord() works fine because it is passed to WebElement.sendKeys() so it does not seem to be a bug in the method Keys.chord(). When using Keys.chord() with the Actions API (Actions.sendKeys()) it does not work. So where and what exactly is the bug?

whimboo commented 6 years ago

Once againcord is not part of geckodriver/webdriver, and it seems to export wrongly for actions. See the following line from your trace log:

1515067064121 webdriver::server DEBUG -> POST /session/204a18cc-522c-43e0-89c9-43f8b4ff8f06/actions {"actions":[{"id":"default mouse","type":"pointer","parameters":{"pointerType":"mouse"},"actions":[{"duration":100,"x":0,"y":0,"type":"pointerMove","origin":{"ELEMENT":"4ef273d9-927d-476f-b8cf-d63f87d97819","element-6066-11e4-a52e-4f735466cecf":"4ef273d9-927d-476f-b8cf-d63f87d97819"}},{"button":0,"type":"pointerDown"},{"button":0,"type":"pointerUp"},{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"duration":0,"type":"pause"}]},{"type":"key","actions":[{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"duration":0,"type":"pause"},{"type":"keyDown","value":""},{"type":"keyUp","value":""},{"type":"keyDown","value":"a"},{"type":"keyUp","value":"a"},{"type":"keyDown","value":""},{"type":"keyUp","value":""}],"id":"default keyboard"}]}

geckodriver/webdriver itself gets already the wrong sequence. So it's not us failing here.

Marking as dupe of issue #1112.

andreastt commented 6 years ago

I haven’t followed the conversation, but does this mean there is an upstream Selenium issue here?

whimboo commented 6 years ago

Yes, there is. @codingphil could you file an issue for that?

duanzih commented 6 years ago

@whimboo Are you sure it is not geckodriver issue ? I can see Chrome driver works fine with action.sendKeys(Keys.chord(Keys.CONTROL, "a")).perform(); with the same version Selenium. I think it should be a geckodriver defect. Can you confirm ?

chris13524 commented 6 years ago

I am having a similar issue. It works fine when using the Chrome driver. But the same code for Gecko, I get this error: Failed: POST /session/0d56f0a4-cd98-42fa-bf89-4275b9ed9f08/keys did not match a known command

(I'm using Protractor)

Adding Key.NULL like this: browser.actions().sendKeys(Key.chord(Key.CONTROL, "a", Key.NULL)).perform(); does not fix the issue for me.

Doing this: browser.actions().keyDown(Key.CONTROL).sendKeys("a").keyUp(Key.CONTROL).perform(); does not fix the issue for me.

Both of those workarounds work fine in Chrome, but not in Firefox.

whimboo commented 6 years ago

First there is no end-point for keys defined in the spec: https://w3c.github.io/webdriver/webdriver-spec.html#list-of-endpoints

As such your mentioned POST request will indeed not work. Without seeing a trace log (also in regards the other cases, I would say that this could be a Protractor problem.

Also note that the chromedriver by default does not speak the W3C protocol, while geckodriver is doing that by default. I could believe that turning on w3c mode in chromedriver would also cause a failure.

@codingphil have you had a chance to file a Selenium issue for that problem?

sivask444 commented 6 years ago

List keyWithModifiers = new ArrayList(); keyWithModifiers.add(Keys.CONTROL); keyWithModifiers.add("a"); String ctrlA = Keys.chord(keyWithModifiers); findETCElement("name", webLocatorString).sendKeys(ctrlA); findETCElement("name", webLocatorString).sendKeys(Keys.DELETE); findETCElement("name", webLocatorString).sendKeys(userName);

can any one suggest me , this code make it as one or two lines.

lock[bot] commented 5 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. If you have run into an issue you think is related, please open a new issue.