Merge pull request #991 from alexcrichton/safaridriver

Fix WebDriver compat with Safari
This commit is contained in:
Alex Crichton 2018-10-28 13:54:03 -07:00 committed by GitHub
commit 451004defc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -284,15 +284,27 @@ impl Client {
Driver::Safari(_) => {
#[derive(Deserialize)]
struct Response {
// returned by `--legacy`
#[serde(rename = "sessionId")]
session_id: Option<String>,
// returned by the now-default `--w3c` mode
value: Option<Value>,
}
#[derive(Deserialize)]
struct Value {
#[serde(rename = "sessionId")]
session_id: String,
}
let request = json!({
// this is needed for the now `--legacy` mode
"desiredCapabilities": {
},
// this is needed for the now `--w3c` (default) mode
"capabilities": {
}
});
let x: Response = self.post("/session", &request)?;
Ok(x.session_id)
Ok(x.session_id.or(x.value.map(|v| v.session_id)).unwrap())
}
Driver::Chrome(_) => {
#[derive(Deserialize)]