Add ServoCapabilities and revise handle_new_session function

This commit is contained in:
George Roman 2019-05-30 23:57:09 +03:00
parent 8b93d1d673
commit 60c2c1d557
9 changed files with 239 additions and 710 deletions

View file

@ -0,0 +1,89 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use serde_json::{Map, Value};
use webdriver::capabilities::{BrowserCapabilities, Capabilities};
use webdriver::error::WebDriverResult;
pub struct ServoCapabilities {
pub browser_name: String,
pub browser_version: String,
pub platform_name: Option<String>,
pub accept_insecure_certs: bool,
pub set_window_rect: bool,
pub strict_file_interactability: bool,
pub accept_proxy: bool,
pub accept_custom: bool,
}
impl ServoCapabilities {
pub fn new() -> ServoCapabilities {
ServoCapabilities {
browser_name: "servo".to_string(),
browser_version: "0.0.1".to_string(),
platform_name: get_platform_name(),
accept_insecure_certs: false,
set_window_rect: true,
strict_file_interactability: false,
accept_proxy: false,
accept_custom: false,
}
}
}
impl BrowserCapabilities for ServoCapabilities {
fn init(&mut self, _: &Capabilities) {}
fn browser_name(&mut self, _: &Capabilities) -> WebDriverResult<Option<String>> {
Ok(Some(self.browser_name.clone()))
}
fn browser_version(&mut self, _: &Capabilities) -> WebDriverResult<Option<String>> {
Ok(Some(self.browser_version.clone()))
}
fn compare_browser_version(&mut self, _: &str, _: &str) -> WebDriverResult<bool> {
Ok(true)
}
fn platform_name(&mut self, _: &Capabilities) -> WebDriverResult<Option<String>> {
Ok(self.platform_name.clone())
}
fn accept_insecure_certs(&mut self, _: &Capabilities) -> WebDriverResult<bool> {
Ok(self.accept_insecure_certs)
}
fn set_window_rect(&mut self, _: &Capabilities) -> WebDriverResult<bool> {
Ok(self.set_window_rect)
}
fn strict_file_interactability(&mut self, _: &Capabilities) -> WebDriverResult<bool> {
Ok(self.strict_file_interactability)
}
fn accept_proxy(&mut self, _: &Map<String, Value>, _: &Capabilities) -> WebDriverResult<bool> {
Ok(self.accept_proxy)
}
fn accept_custom(&mut self, _: &str, _: &Value, _: &Capabilities) -> WebDriverResult<bool> {
Ok(self.accept_custom)
}
fn validate_custom(&self, _: &str, _: &Value) -> WebDriverResult<()> {
Ok(())
}
}
fn get_platform_name() -> Option<String> {
if cfg!(target_os = "windows") {
Some("windows".to_string())
} else if cfg!(target_os = "linux") {
Some("linux".to_string())
} else if cfg!(target_os = "macos") {
Some("mac".to_string())
} else {
None
}
}

View file

@ -10,8 +10,13 @@
extern crate log; extern crate log;
#[macro_use] #[macro_use]
extern crate serde; extern crate serde;
#[macro_use]
extern crate serde_json;
mod capabilities;
use base64; use base64;
use capabilities::ServoCapabilities;
use crossbeam_channel::Sender; use crossbeam_channel::Sender;
use euclid::TypedSize2D; use euclid::TypedSize2D;
use hyper::Method; use hyper::Method;
@ -28,7 +33,7 @@ use script_traits::webdriver_msg::{
use script_traits::{ConstellationMsg, LoadData, WebDriverCommandMsg}; use script_traits::{ConstellationMsg, LoadData, WebDriverCommandMsg};
use serde::de::{Deserialize, Deserializer, MapAccess, Visitor}; use serde::de::{Deserialize, Deserializer, MapAccess, Visitor};
use serde::ser::{Serialize, Serializer}; use serde::ser::{Serialize, Serializer};
use serde_json::{self, Value}; use serde_json::{json, Value};
use servo_config::{prefs, prefs::PrefValue}; use servo_config::{prefs, prefs::PrefValue};
use servo_url::ServoUrl; use servo_url::ServoUrl;
use std::borrow::ToOwned; use std::borrow::ToOwned;
@ -38,10 +43,13 @@ use std::net::{SocketAddr, SocketAddrV4};
use std::thread; use std::thread;
use std::time::Duration; use std::time::Duration;
use uuid::Uuid; use uuid::Uuid;
use webdriver::capabilities::{Capabilities, CapabilitiesMatching};
use webdriver::command::{ use webdriver::command::{
AddCookieParameters, GetParameters, JavascriptCommandParameters, LocatorParameters, AddCookieParameters, GetParameters, JavascriptCommandParameters, LocatorParameters,
}; };
use webdriver::command::{SendKeysParameters, SwitchToFrameParameters, TimeoutsParameters}; use webdriver::command::{
NewSessionParameters, SendKeysParameters, SwitchToFrameParameters, TimeoutsParameters,
};
use webdriver::command::{ use webdriver::command::{
WebDriverCommand, WebDriverExtensionCommand, WebDriverMessage, WindowRectParameters, WebDriverCommand, WebDriverExtensionCommand, WebDriverMessage, WindowRectParameters,
}; };
@ -117,6 +125,11 @@ struct WebDriverSession {
/// Time to wait for the element location strategy when retrieving elements, and when /// Time to wait for the element location strategy when retrieving elements, and when
/// waiting for an element to become interactable. /// waiting for an element to become interactable.
implicit_wait_timeout: u64, implicit_wait_timeout: u64,
page_loading_strategy: String,
secure_tls: bool,
strict_file_interactability: bool,
unhandled_prompt_behavior: String,
} }
impl WebDriverSession { impl WebDriverSession {
@ -132,6 +145,11 @@ impl WebDriverSession {
script_timeout: Some(30_000), script_timeout: Some(30_000),
load_timeout: 300_000, load_timeout: 300_000,
implicit_wait_timeout: 0, implicit_wait_timeout: 0,
page_loading_strategy: "normal".to_string(),
secure_tls: true,
strict_file_interactability: false,
unhandled_prompt_behavior: "dismiss and notify".to_string(),
} }
} }
} }
@ -381,26 +399,137 @@ impl Handler {
} }
} }
fn handle_new_session(&mut self) -> WebDriverResult<WebDriverResponse> { fn handle_new_session(
debug!("new session"); &mut self,
parameters: &NewSessionParameters,
) -> WebDriverResult<WebDriverResponse> {
let mut servo_capabilities = ServoCapabilities::new();
let processed_capabilities = match parameters {
NewSessionParameters::Legacy(_) => Some(Capabilities::new()),
NewSessionParameters::Spec(capabilities) => {
capabilities.match_browser(&mut servo_capabilities)?
},
};
if self.session.is_none() { if self.session.is_none() {
let top_level_browsing_context_id = self.focus_top_level_browsing_context_id()?; match processed_capabilities {
let browsing_context_id = BrowsingContextId::from(top_level_browsing_context_id); Some(mut processed) => {
let session = WebDriverSession::new(browsing_context_id, top_level_browsing_context_id); let top_level_browsing_context_id =
let mut capabilities = serde_json::Map::new(); self.focus_top_level_browsing_context_id()?;
capabilities.insert("browserName".to_owned(), serde_json::to_value("servo")?); let browsing_context_id =
capabilities.insert("browserVersion".to_owned(), serde_json::to_value("0.0.1")?); BrowsingContextId::from(top_level_browsing_context_id);
capabilities.insert( let mut session =
"acceptInsecureCerts".to_owned(), WebDriverSession::new(browsing_context_id, top_level_browsing_context_id);
serde_json::to_value(false)?,
match processed.get("pageLoadStrategy") {
Some(strategy) => session.page_loading_strategy = strategy.to_string(),
None => {
processed.insert(
"pageLoadStrategy".to_string(),
json!(session.page_loading_strategy),
); );
},
}
match processed.get("strictFileInteractability") {
Some(strict_file_interactability) => {
session.strict_file_interactability =
strict_file_interactability.as_bool().unwrap()
},
None => {
processed.insert(
"strictFileInteractability".to_string(),
json!(session.strict_file_interactability),
);
},
}
match processed.get("proxy") {
Some(_) => (),
None => {
processed.insert("proxy".to_string(), json!({}));
},
}
if let Some(timeouts) = processed.get("timeouts") {
if let Some(script_timeout_value) = timeouts.get("script") {
session.script_timeout = script_timeout_value.as_u64();
}
if let Some(load_timeout_value) = timeouts.get("pageLoad") {
if let Some(load_timeout) = load_timeout_value.as_u64() {
session.load_timeout = load_timeout;
}
}
if let Some(implicit_wait_timeout_value) = timeouts.get("implicit") {
if let Some(implicit_wait_timeout) =
implicit_wait_timeout_value.as_u64()
{
session.implicit_wait_timeout = implicit_wait_timeout;
}
}
}
processed.insert(
"timeouts".to_string(),
json!({
"script": session.script_timeout,
"pageLoad": session.load_timeout,
"implicit": session.implicit_wait_timeout,
}),
);
match processed.get("acceptInsecureCerts") {
Some(accept_insecure_certs) => {
session.secure_tls = !accept_insecure_certs.as_bool().unwrap()
},
None => {
processed.insert(
"acceptInsecureCerts".to_string(),
json!(servo_capabilities.accept_insecure_certs),
);
},
}
match processed.get("unhandledPromptBehavior") {
Some(unhandled_prompt_behavior) => {
session.unhandled_prompt_behavior =
unhandled_prompt_behavior.to_string()
},
None => {
processed.insert(
"unhandledPromptBehavior".to_string(),
json!(session.unhandled_prompt_behavior),
);
},
}
processed.insert(
"browserName".to_string(),
json!(servo_capabilities.browser_name),
);
processed.insert(
"browserVersion".to_string(),
json!(servo_capabilities.browser_version),
);
processed.insert(
"platformName".to_string(),
json!(servo_capabilities
.platform_name
.unwrap_or("unknown".to_string())),
);
processed.insert(
"setWindowRect".to_string(),
json!(servo_capabilities.set_window_rect),
);
let response = let response =
NewSessionResponse::new(session.id.to_string(), Value::Object(capabilities)); NewSessionResponse::new(session.id.to_string(), Value::Object(processed));
debug!("new session created {}.", session.id);
self.session = Some(session); self.session = Some(session);
Ok(WebDriverResponse::NewSession(response)) Ok(WebDriverResponse::NewSession(response))
},
None => Ok(WebDriverResponse::Void),
}
} else { } else {
debug!("new session failed.");
Err(WebDriverError::new( Err(WebDriverError::new(
ErrorStatus::UnknownError, ErrorStatus::UnknownError,
"Session already created", "Session already created",
@ -1287,7 +1416,7 @@ impl WebDriverHandler<ServoExtensionRoute> for Handler {
} }
match msg.command { match msg.command {
WebDriverCommand::NewSession(_) => self.handle_new_session(), WebDriverCommand::NewSession(ref parameters) => self.handle_new_session(parameters),
WebDriverCommand::DeleteSession => self.handle_delete_session(), WebDriverCommand::DeleteSession => self.handle_delete_session(),
WebDriverCommand::AddCookie(ref parameters) => self.handle_add_cookie(parameters), WebDriverCommand::AddCookie(ref parameters) => self.handle_add_cookie(parameters),
WebDriverCommand::Get(ref parameters) => self.handle_get(parameters), WebDriverCommand::Get(ref parameters) => self.handle_get(parameters),

View file

@ -1,10 +1,4 @@
[default_values.py] [default_values.py]
[test_ignore_non_spec_fields_in_capabilities]
expected: FAIL
[test_valid_but_unmatchable_key]
expected: FAIL
[test_no_capabilites] [test_no_capabilites]
expected: FAIL expected: FAIL

View file

@ -1,586 +1,4 @@
[invalid_capabilities.py] [invalid_capabilities.py]
[test_invalid_values[timeouts-value58-<lambda>0\]]
expected: FAIL
[test_invalid_values[platformName-value13-<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-value43-<lambda>1\]]
expected: FAIL
[test_invalid_values[timeouts-value54-<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-value28-<lambda>0\]]
expected: FAIL
[test_invalid_values[proxy-value40-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[firefox-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[automaticInspection-<lambda>1\]]
expected: FAIL
[test_invalid_values[browserName-1-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-value57-<lambda>1\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior-dismiss -<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-value62-<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-value37-<lambda>1\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior-value69-<lambda>0\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-False-<lambda>0\]]
expected: FAIL
[test_invalid_values[proxy-value31-<lambda>0\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-interactive-<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-value37-<lambda>0\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior-DISMISS-<lambda>0\]]
expected: FAIL
[test_invalid_values[proxy-value39-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[firefox_binary-<lambda>0\]]
expected: FAIL
[test_invalid_values[strictFileInteractability-false-<lambda>0\]]
expected: FAIL
[test_invalid_values[acceptInsecureCerts-value1-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-value50-<lambda>0\]]
expected: FAIL
[test_invalid_values[browserVersion-False-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[logFile-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-value60-<lambda>1\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior-value68-<lambda>0\]]
expected: FAIL
[test_invalid_values[platformName-value13-<lambda>0\]]
expected: FAIL
[test_invalid_values[browserName-value6-<lambda>0\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-value18-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-value57-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[nativeEvents-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-False-<lambda>1\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-eagerblah-<lambda>1\]]
expected: FAIL
[test_invalid_values[timeouts-value58-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[platform-<lambda>0\]]
expected: FAIL
[test_invalid_values[browserVersion-False-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-value61-<lambda>1\]]
expected: FAIL
[test_invalid_values[timeouts-value46-<lambda>1\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior-Accept-<lambda>1\]]
expected: FAIL
[test_invalid_values[acceptInsecureCerts-1-<lambda>0\]]
expected: FAIL
[test_invalid_values[proxy-value39-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[firefox_binary-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[logLevel-<lambda>0\]]
expected: FAIL
[test_invalid_values[browserName-1-<lambda>1\]]
expected: FAIL
[test_invalid_values[strictFileInteractability-false-<lambda>1\]]
expected: FAIL
[test_invalid_values[timeouts-value50-<lambda>1\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-eager -<lambda>0\]]
expected: FAIL
[test_invalid_extensions[profile-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[platformVersion-<lambda>0\]]
expected: FAIL
[test_invalid_values[proxy-value36-<lambda>0\]]
expected: FAIL
[test_invalid_values[acceptInsecureCerts-value2-<lambda>0\]]
expected: FAIL
[test_invalid_values[platformName-False-<lambda>0\]]
expected: FAIL
[test_invalid_values[proxy-value33-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-value59-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-value49-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-1-<lambda>0\]]
expected: FAIL
[test_invalid_values[browserName-value5-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[browser-<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-value41-<lambda>1\]]
expected: FAIL
[test_invalid_values[timeouts-value62-<lambda>0\]]
expected: FAIL
[test_invalid_values[proxy-value42-<lambda>0\]]
expected: FAIL
[test_invalid_values[proxy-value32-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[chromeOptions-<lambda>1\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior-value69-<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-{}-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[trustAllSSLCertificates-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[initialBrowserUrl-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-value56-<lambda>0\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-Eager-<lambda>0\]]
expected: FAIL
[test_invalid_values[strictFileInteractability-value64-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-{}-<lambda>1\]]
expected: FAIL
[test_invalid_values[acceptInsecureCerts-false-<lambda>1\]]
expected: FAIL
[test_invalid_values[timeouts-value52-<lambda>1\]]
expected: FAIL
[test_invalid_values[browserVersion-value10-<lambda>1\]]
expected: FAIL
[test_invalid_values[strictFileInteractability-value64-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[firefox-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[platformVersion-<lambda>1\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior-dismiss -<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-value36-<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-value43-<lambda>0\]]
expected: FAIL
[test_invalid_values[proxy-value28-<lambda>1\]]
expected: FAIL
[test_invalid_values[strictFileInteractability-value65-<lambda>1\]]
expected: FAIL
[test_invalid_values[acceptInsecureCerts-value2-<lambda>1\]]
expected: FAIL
[test_invalid_values[timeouts-value54-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-value49-<lambda>1\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior-1-<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-value40-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[nativeEvents-<lambda>1\]]
expected: FAIL
[test_invalid_values[browserName-value5-<lambda>0\]]
expected: FAIL
[test_invalid_values[proxy-value32-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[platform-<lambda>1\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-interactive-<lambda>0\]]
expected: FAIL
[test_invalid_values[proxy-value31-<lambda>1\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-False-<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-{}-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[initialBrowserUrl-<lambda>1\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-Eager-<lambda>1\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior-dismissABC-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-value56-<lambda>1\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior-value68-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[automaticProfiling-<lambda>0\]]
expected: FAIL
[test_invalid_values[acceptInsecureCerts-value1-<lambda>1\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-eager -<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-1-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[chromeOptions-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-value61-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[version-<lambda>1\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior-dismissABC-<lambda>1\]]
expected: FAIL
[test_invalid_values[timeouts-value51-<lambda>1\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-value17-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[requireWindowFocus-<lambda>0\]]
expected: FAIL
[test_invalid_values[browserVersion-value9-<lambda>0\]]
expected: FAIL
[test_invalid_values[proxy-value34-<lambda>0\]]
expected: FAIL
[test_invalid_values[platformName-value14-<lambda>0\]]
expected: FAIL
[test_invalid_values[proxy-value44-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[browser-<lambda>0\]]
expected: FAIL
[test_invalid_values[proxy-value38-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[ensureCleanSession-<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-value33-<lambda>1\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior- dismiss-<lambda>1\]]
expected: FAIL
[test_invalid_values[browserName-False-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-value52-<lambda>0\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-invalid-<lambda>0\]]
expected: FAIL
[test_invalid_values[strictFileInteractability-1-<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-value30-<lambda>1\]]
expected: FAIL
[test_invalid_values[timeouts-value53-<lambda>0\]]
expected: FAIL
[test_invalid_values[platformName-value14-<lambda>1\]]
expected: FAIL
[test_invalid_values[timeouts-value60-<lambda>0\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy- eager-<lambda>1\]]
expected: FAIL
[test_invalid_values[timeouts-value51-<lambda>0\]]
expected: FAIL
[test_invalid_values[platformName-False-<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-1-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[version-<lambda>0\]]
expected: FAIL
[test_invalid_values[browserVersion-value9-<lambda>1\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-value18-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[javascriptEnabled-<lambda>1\]]
expected: FAIL
[test_invalid_values[timeouts-value59-<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-value34-<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-value41-<lambda>0\]]
expected: FAIL
[test_invalid_values[proxy-value42-<lambda>1\]]
expected: FAIL
[test_invalid_values[timeouts-1-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[requireWindowFocus-<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-value44-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[automaticInspection-<lambda>0\]]
expected: FAIL
[test_invalid_always_match[None\]] [test_invalid_always_match[None\]]
expected: FAIL expected: FAIL
[test_invalid_values[proxy-value38-<lambda>1\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior- dismiss-<lambda>0\]]
expected: FAIL
[test_invalid_values[browserVersion-value10-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-{}-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[firefoxOptions-<lambda>0\]]
expected: FAIL
[test_invalid_values[acceptInsecureCerts-false-<lambda>0\]]
expected: FAIL
[test_invalid_values[browserName-False-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[seleniumProtocol-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[javascriptEnabled-<lambda>0\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior-False-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[automaticProfiling-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[safari.options-<lambda>1\]]
expected: FAIL
[test_invalid_values[browserName-value6-<lambda>1\]]
expected: FAIL
[test_invalid_values[platformName-1-<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-value35-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[ensureCleanSession-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[logFile-<lambda>1\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior-DISMISS-<lambda>1\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-eagerblah-<lambda>0\]]
expected: FAIL
[test_invalid_values[strictFileInteractability-1-<lambda>0\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior-Accept-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-value55-<lambda>1\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior-1-<lambda>0\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-NONE-<lambda>0\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-1-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[profile-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[firefoxOptions-<lambda>1\]]
expected: FAIL
[test_invalid_values[timeouts-value46-<lambda>0\]]
expected: FAIL
[test_invalid_values[browserVersion-1-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[trustAllSSLCertificates-<lambda>1\]]
expected: FAIL
[test_invalid_extensions[safari.options-<lambda>0\]]
expected: FAIL
[test_invalid_values[platformName-1-<lambda>0\]]
expected: FAIL
[test_invalid_values[proxy-value35-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[logLevel-<lambda>1\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-value17-<lambda>1\]]
expected: FAIL
[test_invalid_values[acceptInsecureCerts-1-<lambda>1\]]
expected: FAIL
[test_invalid_values[strictFileInteractability-value65-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-False-<lambda>0\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy- eager-<lambda>0\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-NONE-<lambda>1\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-1-<lambda>0\]]
expected: FAIL
[test_invalid_extensions[seleniumProtocol-<lambda>1\]]
expected: FAIL
[test_invalid_values[browserVersion-1-<lambda>0\]]
expected: FAIL
[test_invalid_values[pageLoadStrategy-invalid-<lambda>1\]]
expected: FAIL
[test_invalid_values[timeouts-value55-<lambda>0\]]
expected: FAIL
[test_invalid_values[timeouts-value53-<lambda>1\]]
expected: FAIL
[test_invalid_values[proxy-value30-<lambda>0\]]
expected: FAIL
[test_invalid_values[unhandledPromptBehavior-False-<lambda>1\]]
expected: FAIL

View file

@ -1,28 +0,0 @@
[merge.py]
[test_merge_invalid[unhandledPromptBehavior-value2\]]
expected: FAIL
[test_merge_platformName]
expected: FAIL
[test_platform_name[<lambda>0\]]
expected: FAIL
[test_platform_name[<lambda>1\]]
expected: FAIL
[test_merge_invalid[timeouts-value4\]]
expected: FAIL
[test_merge_browserName]
expected: FAIL
[test_merge_invalid[unhandledPromptBehavior-value1\]]
expected: FAIL
[test_merge_invalid[timeouts-value3\]]
expected: FAIL
[test_merge_invalid[acceptInsecureCerts-value0\]]
expected: FAIL

View file

@ -1,4 +0,0 @@
[page_load_strategy.py]
[test_pageLoadStrategy]
expected: FAIL

View file

@ -1,4 +0,0 @@
[platform_name.py]
[test_corresponds_to_local_system]
expected: FAIL

View file

@ -1,40 +0,0 @@
[response.py]
[test_capability_default_value[strictFileInteractability-False\]]
expected: FAIL
[test_capability_default_value[timeouts-default_value4\]]
expected: FAIL
[test_capability_type[platformName-basestring\]]
expected: FAIL
[test_capability_type[unhandledPromptBehavior-basestring\]]
expected: FAIL
[test_capability_default_value[setWindowRect-True\]]
expected: FAIL
[test_capability_type[pageLoadStrategy-basestring\]]
expected: FAIL
[test_capability_default_value[proxy-default_value2\]]
expected: FAIL
[test_capability_default_value[unhandledPromptBehavior-dismiss and notify\]]
expected: FAIL
[test_capability_type[timeouts-dict\]]
expected: FAIL
[test_capability_type[proxy-dict\]]
expected: FAIL
[test_capability_type[strictFileInteractability-bool\]]
expected: FAIL
[test_capability_default_value[pageLoadStrategy-normal\]]
expected: FAIL
[test_capability_type[setWindowRect-bool\]]
expected: FAIL

View file

@ -1,25 +0,0 @@
[timeouts.py]
[test_default_values]
expected: FAIL
[test_timeouts[timeouts0\]]
expected: FAIL
[test_invalid_timeouts[timeouts1\]]
expected: FAIL
[test_timeouts[timeouts2\]]
expected: FAIL
[test_timeouts[timeouts3\]]
expected: FAIL
[test_invalid_timeouts[timeouts0\]]
expected: FAIL
[test_timeouts[timeouts1\]]
expected: FAIL
[test_invalid_timeouts[timeouts2\]]
expected: FAIL