Vrtgs/thirtyfour

Device Farm incompatibility - with workaround

Opened this issue · 0 comments

Attempting to use thirtyfour with Device Farm, I hit the following issue trying to create a session in WebDriver::new(),

webdriver server gave non-conformant response:
  Object {"Output": Object {"__type": String("com.amazon.coral.service#UnknownOperationException")}, "Version": String("1.0")}

In order to debug this, I hacked thirtyfour to log the URLs it is accessing, and noticed an inconsistency:

  • The value produced by the aws-sdk-devicefarm create_test_grid_url() method looks like https://$hostname/$token/wd/hub
  • The URLs that thirtyfour contructs given this URL end up looking like https://$hostname/$token/wd/session

I altered my code to append a trailing / to the Device-Farm-issued URL before calling WebDriver::new() and that got things working, with thirtyfour now constructing URLs like https://$hostname/$token/wd/hub/session:

let url = format!("{}/", url);

(Noting #215 - I don't expect this ticket to get attention any time soon, but maybe the info will be helpful for others.)