diff --git a/cpp/iedriver/CommandHandlers/AcceptAlertCommandHandler.h b/cpp/iedriver/CommandHandlers/AcceptAlertCommandHandler.h index ff0c7851ac5c5..f700fadc27786 100644 --- a/cpp/iedriver/CommandHandlers/AcceptAlertCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/AcceptAlertCommandHandler.h @@ -31,7 +31,6 @@ class AcceptAlertCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { BrowserHandle browser_wrapper; diff --git a/cpp/iedriver/CommandHandlers/AddCookieCommandHandler.h b/cpp/iedriver/CommandHandlers/AddCookieCommandHandler.h index 77e8b613987ad..cbe717a1634b4 100644 --- a/cpp/iedriver/CommandHandlers/AddCookieCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/AddCookieCommandHandler.h @@ -31,7 +31,6 @@ class AddCookieCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { ParametersMap::const_iterator cookie_parameter_iterator = command_parameters.find("cookie"); diff --git a/cpp/iedriver/CommandHandlers/ClearElementCommandHandler.h b/cpp/iedriver/CommandHandlers/ClearElementCommandHandler.h index 986113d4d5140..575edc7468a95 100644 --- a/cpp/iedriver/CommandHandlers/ClearElementCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/ClearElementCommandHandler.h @@ -31,16 +31,15 @@ class ClearElementCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("id"); - if (id_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("id"); + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: id"); return; } else { int status_code = WD_SUCCESS; - std::string element_id = id_parameter_iterator->second; + std::string element_id = id_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; status_code = executor.GetCurrentBrowser(&browser_wrapper); diff --git a/cpp/iedriver/CommandHandlers/ClickElementCommandHandler.h b/cpp/iedriver/CommandHandlers/ClickElementCommandHandler.h index 8305df3643440..a673139f5c4ec 100644 --- a/cpp/iedriver/CommandHandlers/ClickElementCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/ClickElementCommandHandler.h @@ -34,16 +34,15 @@ class ClickElementCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("id"); - if (id_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("id"); + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: id"); return; } else { int status_code = WD_SUCCESS; - std::string element_id = id_parameter_iterator->second; + std::string element_id = id_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; status_code = executor.GetCurrentBrowser(&browser_wrapper); diff --git a/cpp/iedriver/CommandHandlers/CloseWindowCommandHandler.h b/cpp/iedriver/CommandHandlers/CloseWindowCommandHandler.h index d2a461f86e339..eeb3779a854f2 100644 --- a/cpp/iedriver/CommandHandlers/CloseWindowCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/CloseWindowCommandHandler.h @@ -30,7 +30,6 @@ class CloseWindowCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { // The session should end if the user sends a quit command, diff --git a/cpp/iedriver/CommandHandlers/DeleteAllCookiesCommandHandler.h b/cpp/iedriver/CommandHandlers/DeleteAllCookiesCommandHandler.h index 5bae770a54a54..450c337f7b0b7 100644 --- a/cpp/iedriver/CommandHandlers/DeleteAllCookiesCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/DeleteAllCookiesCommandHandler.h @@ -30,7 +30,6 @@ class DeleteAllCookiesCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { BrowserHandle browser_wrapper; diff --git a/cpp/iedriver/CommandHandlers/DeleteCookieCommandHandler.h b/cpp/iedriver/CommandHandlers/DeleteCookieCommandHandler.h index 865376bca5d94..8171cd8e9c03e 100644 --- a/cpp/iedriver/CommandHandlers/DeleteCookieCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/DeleteCookieCommandHandler.h @@ -30,16 +30,15 @@ class DeleteCookieCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator name_parameter_iterator = locator_parameters.find("name"); - if (name_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator name_parameter_iterator = command_parameters.find("name"); + if (name_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: name"); return; } - std::string cookie_name = name_parameter_iterator->second; + std::string cookie_name = name_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; int status_code = executor.GetCurrentBrowser(&browser_wrapper); if (status_code != WD_SUCCESS) { diff --git a/cpp/iedriver/CommandHandlers/DismissAlertCommandHandler.h b/cpp/iedriver/CommandHandlers/DismissAlertCommandHandler.h index 9f96131c8d029..8ef022d3c54cb 100644 --- a/cpp/iedriver/CommandHandlers/DismissAlertCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/DismissAlertCommandHandler.h @@ -30,7 +30,6 @@ class DismissAlertCommandHandler : public AcceptAlertCommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { BrowserHandle browser_wrapper; diff --git a/cpp/iedriver/CommandHandlers/ElementEqualsCommandHandler.h b/cpp/iedriver/CommandHandlers/ElementEqualsCommandHandler.h index 078df8c4b7ce4..ad1b8ffe453cc 100644 --- a/cpp/iedriver/CommandHandlers/ElementEqualsCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/ElementEqualsCommandHandler.h @@ -30,21 +30,20 @@ class ElementEqualsCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("id"); - LocatorMap::const_iterator other_parameter_iterator = locator_parameters.find("other"); - if (id_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("id"); + ParametersMap::const_iterator other_parameter_iterator = command_parameters.find("other"); + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: id"); return; } - else if (other_parameter_iterator == locator_parameters.end()) { + else if (other_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: other"); return; } else { - std::string element_id = id_parameter_iterator->second; - std::string other_element_id = other_parameter_iterator->second; + std::string element_id = id_parameter_iterator->second.asString(); + std::string other_element_id = other_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; int status_code = executor.GetCurrentBrowser(&browser_wrapper); diff --git a/cpp/iedriver/CommandHandlers/ExecuteAsyncScriptCommandHandler.h b/cpp/iedriver/CommandHandlers/ExecuteAsyncScriptCommandHandler.h index 233e868b3f9b5..b5cc0b27e82e5 100644 --- a/cpp/iedriver/CommandHandlers/ExecuteAsyncScriptCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/ExecuteAsyncScriptCommandHandler.h @@ -33,7 +33,6 @@ class ExecuteAsyncScriptCommandHandler : public ExecuteScriptCommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { ParametersMap::const_iterator script_parameter_iterator = command_parameters.find("script"); diff --git a/cpp/iedriver/CommandHandlers/ExecuteScriptCommandHandler.h b/cpp/iedriver/CommandHandlers/ExecuteScriptCommandHandler.h index b344752e7fc9d..09e783c72e694 100644 --- a/cpp/iedriver/CommandHandlers/ExecuteScriptCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/ExecuteScriptCommandHandler.h @@ -30,7 +30,6 @@ class ExecuteScriptCommandHandler : public IECommandHandler { protected: virtual void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { ParametersMap::const_iterator script_parameter_iterator = command_parameters.find("script"); diff --git a/cpp/iedriver/CommandHandlers/FindChildElementCommandHandler.h b/cpp/iedriver/CommandHandlers/FindChildElementCommandHandler.h index 15a92fedc2137..90b6bb18a83fe 100644 --- a/cpp/iedriver/CommandHandlers/FindChildElementCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/FindChildElementCommandHandler.h @@ -31,13 +31,12 @@ class FindChildElementCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("id"); + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("id"); ParametersMap::const_iterator using_parameter_iterator = command_parameters.find("using"); ParametersMap::const_iterator value_parameter_iterator = command_parameters.find("value"); - if (id_parameter_iterator == locator_parameters.end()) { + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: id"); return; } else if (using_parameter_iterator == command_parameters.end()) { @@ -49,7 +48,7 @@ class FindChildElementCommandHandler : public IECommandHandler { } else { std::string mechanism = using_parameter_iterator->second.asString(); std::string value = value_parameter_iterator->second.asString(); - std::string element_id = id_parameter_iterator->second; + std::string element_id = id_parameter_iterator->second.asString(); ElementHandle parent_element_wrapper; int status_code = this->GetElement(executor, diff --git a/cpp/iedriver/CommandHandlers/FindChildElementsCommandHandler.h b/cpp/iedriver/CommandHandlers/FindChildElementsCommandHandler.h index c4feba28243f6..677c24459944d 100644 --- a/cpp/iedriver/CommandHandlers/FindChildElementsCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/FindChildElementsCommandHandler.h @@ -31,13 +31,12 @@ class FindChildElementsCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("id"); + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("id"); ParametersMap::const_iterator using_parameter_iterator = command_parameters.find("using"); ParametersMap::const_iterator value_parameter_iterator = command_parameters.find("value"); - if (id_parameter_iterator == locator_parameters.end()) { + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: id"); return; } else if (using_parameter_iterator == command_parameters.end()) { @@ -49,7 +48,7 @@ class FindChildElementsCommandHandler : public IECommandHandler { } else { std::string mechanism = using_parameter_iterator->second.asString(); std::string value = value_parameter_iterator->second.asString(); - std::string element_id = id_parameter_iterator->second; + std::string element_id = id_parameter_iterator->second.asString(); ElementHandle parent_element_wrapper; int status_code = this->GetElement(executor, diff --git a/cpp/iedriver/CommandHandlers/FindElementCommandHandler.h b/cpp/iedriver/CommandHandlers/FindElementCommandHandler.h index 94089f9eaee4b..b3e5dd5e559de 100644 --- a/cpp/iedriver/CommandHandlers/FindElementCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/FindElementCommandHandler.h @@ -31,7 +31,6 @@ class FindElementCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { ParametersMap::const_iterator using_parameter_iterator = command_parameters.find("using"); diff --git a/cpp/iedriver/CommandHandlers/FindElementsCommandHandler.h b/cpp/iedriver/CommandHandlers/FindElementsCommandHandler.h index b177e56b72420..14be5457c9321 100644 --- a/cpp/iedriver/CommandHandlers/FindElementsCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/FindElementsCommandHandler.h @@ -31,7 +31,6 @@ class FindElementsCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { ParametersMap::const_iterator using_parameter_iterator = command_parameters.find("using"); diff --git a/cpp/iedriver/CommandHandlers/GetActiveElementCommandHandler.h b/cpp/iedriver/CommandHandlers/GetActiveElementCommandHandler.h index 9ccc20a02b114..c3fe710eac194 100644 --- a/cpp/iedriver/CommandHandlers/GetActiveElementCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetActiveElementCommandHandler.h @@ -30,7 +30,6 @@ class GetActiveElementCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { BrowserHandle browser_wrapper; diff --git a/cpp/iedriver/CommandHandlers/GetAlertTextCommandHandler.h b/cpp/iedriver/CommandHandlers/GetAlertTextCommandHandler.h index 52d0f341c4b8e..ed4e5a124c98e 100644 --- a/cpp/iedriver/CommandHandlers/GetAlertTextCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetAlertTextCommandHandler.h @@ -31,7 +31,6 @@ class GetAlertTextCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { BrowserHandle browser_wrapper; diff --git a/cpp/iedriver/CommandHandlers/GetAllCookiesCommandHandler.h b/cpp/iedriver/CommandHandlers/GetAllCookiesCommandHandler.h index 198dda6175eb8..7f6c62149cbc3 100644 --- a/cpp/iedriver/CommandHandlers/GetAllCookiesCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetAllCookiesCommandHandler.h @@ -30,7 +30,6 @@ class GetAllCookiesCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { Json::Value response_value(Json::arrayValue); diff --git a/cpp/iedriver/CommandHandlers/GetAllWindowHandlesCommandHandler.h b/cpp/iedriver/CommandHandlers/GetAllWindowHandlesCommandHandler.h index f38b635c0d25e..a613331c4e35f 100644 --- a/cpp/iedriver/CommandHandlers/GetAllWindowHandlesCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetAllWindowHandlesCommandHandler.h @@ -30,7 +30,6 @@ class GetAllWindowHandlesCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { Json::Value handles(Json::arrayValue); diff --git a/cpp/iedriver/CommandHandlers/GetCurrentUrlCommandHandler.h b/cpp/iedriver/CommandHandlers/GetCurrentUrlCommandHandler.h index 80cdf33a7d8e9..b320de415d3ca 100644 --- a/cpp/iedriver/CommandHandlers/GetCurrentUrlCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetCurrentUrlCommandHandler.h @@ -31,7 +31,6 @@ class GetCurrentUrlCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { BrowserHandle browser_wrapper; diff --git a/cpp/iedriver/CommandHandlers/GetCurrentWindowHandleCommandHandler.h b/cpp/iedriver/CommandHandlers/GetCurrentWindowHandleCommandHandler.h index a915fc28a6e6b..c9fcb6f39ec53 100644 --- a/cpp/iedriver/CommandHandlers/GetCurrentWindowHandleCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetCurrentWindowHandleCommandHandler.h @@ -30,7 +30,6 @@ class GetCurrentWindowHandleCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { std::string current_handle = executor.current_browser_id(); diff --git a/cpp/iedriver/CommandHandlers/GetElementAttributeCommandHandler.h b/cpp/iedriver/CommandHandlers/GetElementAttributeCommandHandler.h index 952fcdc7f5b03..4cadfc04ce2b4 100644 --- a/cpp/iedriver/CommandHandlers/GetElementAttributeCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetElementAttributeCommandHandler.h @@ -30,20 +30,19 @@ class GetElementAttributeCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("id"); - LocatorMap::const_iterator name_parameter_iterator = locator_parameters.find("name"); - if (id_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("id"); + ParametersMap::const_iterator name_parameter_iterator = command_parameters.find("name"); + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: id"); return; - } else if (name_parameter_iterator == locator_parameters.end()) { + } else if (name_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: name"); return; } else { - std::string element_id = id_parameter_iterator->second; - std::string name = name_parameter_iterator->second; + std::string element_id = id_parameter_iterator->second.asString(); + std::string name = name_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; int status_code = executor.GetCurrentBrowser(&browser_wrapper); diff --git a/cpp/iedriver/CommandHandlers/GetElementLocationCommandHandler.h b/cpp/iedriver/CommandHandlers/GetElementLocationCommandHandler.h index 1656386b74683..475e760c22574 100644 --- a/cpp/iedriver/CommandHandlers/GetElementLocationCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetElementLocationCommandHandler.h @@ -30,15 +30,14 @@ class GetElementLocationCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("id"); - if (id_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("id"); + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: id"); return; } else { - std::string element_id = id_parameter_iterator->second; + std::string element_id = id_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; int status_code = executor.GetCurrentBrowser(&browser_wrapper); diff --git a/cpp/iedriver/CommandHandlers/GetElementLocationOnceScrolledIntoViewCommandHandler.h b/cpp/iedriver/CommandHandlers/GetElementLocationOnceScrolledIntoViewCommandHandler.h index ad10de9ea26ac..72acf5154de42 100644 --- a/cpp/iedriver/CommandHandlers/GetElementLocationOnceScrolledIntoViewCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetElementLocationOnceScrolledIntoViewCommandHandler.h @@ -31,15 +31,14 @@ class GetElementLocationOnceScrolledIntoViewCommandHandler : public IECommandHan protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("id"); - if (id_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("id"); + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: id"); return; } else { - std::string element_id = id_parameter_iterator->second; + std::string element_id = id_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; int status_code = executor.GetCurrentBrowser(&browser_wrapper); diff --git a/cpp/iedriver/CommandHandlers/GetElementSizeCommandHandler.h b/cpp/iedriver/CommandHandlers/GetElementSizeCommandHandler.h index c9111f5d155a1..1c393810a9ef6 100644 --- a/cpp/iedriver/CommandHandlers/GetElementSizeCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetElementSizeCommandHandler.h @@ -31,15 +31,14 @@ class GetElementSizeCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("id"); - if (id_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("id"); + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: id"); return; } else { - std::string element_id = id_parameter_iterator->second; + std::string element_id = id_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; int status_code = executor.GetCurrentBrowser(&browser_wrapper); diff --git a/cpp/iedriver/CommandHandlers/GetElementTagNameCommandHandler.h b/cpp/iedriver/CommandHandlers/GetElementTagNameCommandHandler.h index 2f61711bffce8..9822fe7f5e237 100644 --- a/cpp/iedriver/CommandHandlers/GetElementTagNameCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetElementTagNameCommandHandler.h @@ -30,15 +30,14 @@ class GetElementTagNameCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("id"); - if (id_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("id"); + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: id"); return; } else { - std::string element_id = id_parameter_iterator->second; + std::string element_id = id_parameter_iterator->second.asString(); ElementHandle element_wrapper; int status_code = this->GetElement(executor, element_id, &element_wrapper); if (status_code == WD_SUCCESS) { diff --git a/cpp/iedriver/CommandHandlers/GetElementTextCommandHandler.h b/cpp/iedriver/CommandHandlers/GetElementTextCommandHandler.h index 081b1b62cc7bc..35a3519b71b55 100644 --- a/cpp/iedriver/CommandHandlers/GetElementTextCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetElementTextCommandHandler.h @@ -31,15 +31,14 @@ class GetElementTextCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("id"); - if (id_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("id"); + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: id"); return; } else { - std::string element_id = id_parameter_iterator->second; + std::string element_id = id_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; int status_code = executor.GetCurrentBrowser(&browser_wrapper); diff --git a/cpp/iedriver/CommandHandlers/GetElementValueOfCssPropertyCommandHandler.h b/cpp/iedriver/CommandHandlers/GetElementValueOfCssPropertyCommandHandler.h index ce64ab94c4fea..da080efc91bf6 100644 --- a/cpp/iedriver/CommandHandlers/GetElementValueOfCssPropertyCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetElementValueOfCssPropertyCommandHandler.h @@ -46,21 +46,20 @@ class GetElementValueOfCssPropertyCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("id"); - LocatorMap::const_iterator property_name_parameter_iterator = locator_parameters.find("propertyName"); - if (id_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("id"); + ParametersMap::const_iterator property_name_parameter_iterator = command_parameters.find("propertyName"); + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: id"); return; - } else if (property_name_parameter_iterator == locator_parameters.end()) { + } else if (property_name_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: propertyName"); return; } else { - std::string element_id = id_parameter_iterator->second; - std::string name = property_name_parameter_iterator->second; + std::string element_id = id_parameter_iterator->second.asString(); + std::string name = property_name_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; int status_code = executor.GetCurrentBrowser(&browser_wrapper); diff --git a/cpp/iedriver/CommandHandlers/GetPageSourceCommandHandler.h b/cpp/iedriver/CommandHandlers/GetPageSourceCommandHandler.h index 1e7ae0c43ebc5..bbdd90aed1b39 100644 --- a/cpp/iedriver/CommandHandlers/GetPageSourceCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetPageSourceCommandHandler.h @@ -31,7 +31,6 @@ class GetPageSourceCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { BrowserHandle browser_wrapper; diff --git a/cpp/iedriver/CommandHandlers/GetSessionCapabilitiesCommandHandler.h b/cpp/iedriver/CommandHandlers/GetSessionCapabilitiesCommandHandler.h index 3ebaff6d89e37..bcbc823b46c22 100644 --- a/cpp/iedriver/CommandHandlers/GetSessionCapabilitiesCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetSessionCapabilitiesCommandHandler.h @@ -30,7 +30,6 @@ class GetSessionCapabilitiesCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { Json::Value capabilities; diff --git a/cpp/iedriver/CommandHandlers/GetTitleCommandHandler.h b/cpp/iedriver/CommandHandlers/GetTitleCommandHandler.h index 33dcfc4a11e46..a92622482b896 100644 --- a/cpp/iedriver/CommandHandlers/GetTitleCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetTitleCommandHandler.h @@ -30,7 +30,6 @@ class GetTitleCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { BrowserHandle browser_wrapper; diff --git a/cpp/iedriver/CommandHandlers/GetWindowPositionCommandHandler.h b/cpp/iedriver/CommandHandlers/GetWindowPositionCommandHandler.h index 4b8767a6fb6d6..c1a4ac4860e0c 100644 --- a/cpp/iedriver/CommandHandlers/GetWindowPositionCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetWindowPositionCommandHandler.h @@ -30,16 +30,15 @@ class GetWindowPositionCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("windowHandle"); - if (id_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("windowHandle"); + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: windowHandle"); return; } else { int status_code = WD_SUCCESS; - std::string window_id = id_parameter_iterator->second; + std::string window_id = id_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; if (window_id == "current") { diff --git a/cpp/iedriver/CommandHandlers/GetWindowSizeCommandHandler.h b/cpp/iedriver/CommandHandlers/GetWindowSizeCommandHandler.h index 3a82ab903b74c..bcc9322ada51c 100644 --- a/cpp/iedriver/CommandHandlers/GetWindowSizeCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GetWindowSizeCommandHandler.h @@ -30,16 +30,15 @@ class GetWindowSizeCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("windowHandle"); - if (id_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("windowHandle"); + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: windowHandle"); return; } else { int status_code = WD_SUCCESS; - std::string window_id = id_parameter_iterator->second; + std::string window_id = id_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; if (window_id == "current") { diff --git a/cpp/iedriver/CommandHandlers/GoBackCommandHandler.h b/cpp/iedriver/CommandHandlers/GoBackCommandHandler.h index dd0fb4c3a4646..78e00a69eee0f 100644 --- a/cpp/iedriver/CommandHandlers/GoBackCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GoBackCommandHandler.h @@ -30,7 +30,6 @@ class GoBackCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { BrowserHandle browser_wrapper; diff --git a/cpp/iedriver/CommandHandlers/GoForwardCommandHandler.h b/cpp/iedriver/CommandHandlers/GoForwardCommandHandler.h index 50c87ac825e67..bbddb4ad5e24e 100644 --- a/cpp/iedriver/CommandHandlers/GoForwardCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GoForwardCommandHandler.h @@ -30,7 +30,6 @@ class GoForwardCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { BrowserHandle browser_wrapper; diff --git a/cpp/iedriver/CommandHandlers/GoToUrlCommandHandler.h b/cpp/iedriver/CommandHandlers/GoToUrlCommandHandler.h index 20f480e31fb28..5810b4f4ddbe3 100644 --- a/cpp/iedriver/CommandHandlers/GoToUrlCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/GoToUrlCommandHandler.h @@ -30,7 +30,6 @@ class GoToUrlCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { ParametersMap::const_iterator url_parameter_iterator = command_parameters.find("url"); diff --git a/cpp/iedriver/CommandHandlers/IsElementDisplayedCommandHandler.h b/cpp/iedriver/CommandHandlers/IsElementDisplayedCommandHandler.h index a2f00c08ef45b..e9f9dcb51e994 100644 --- a/cpp/iedriver/CommandHandlers/IsElementDisplayedCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/IsElementDisplayedCommandHandler.h @@ -30,15 +30,14 @@ class IsElementDisplayedCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("id"); - if (id_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("id"); + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: id"); return; } else { - std::string element_id = id_parameter_iterator->second; + std::string element_id = id_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; int status_code = executor.GetCurrentBrowser(&browser_wrapper); diff --git a/cpp/iedriver/CommandHandlers/IsElementEnabledCommandHandler.h b/cpp/iedriver/CommandHandlers/IsElementEnabledCommandHandler.h index 1036f0d580d57..2eec1a91ee969 100644 --- a/cpp/iedriver/CommandHandlers/IsElementEnabledCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/IsElementEnabledCommandHandler.h @@ -30,15 +30,14 @@ class IsElementEnabledCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("id"); - if (id_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("id"); + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: id"); return; } else { - std::string element_id = id_parameter_iterator->second; + std::string element_id = id_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; int status_code = executor.GetCurrentBrowser(&browser_wrapper); diff --git a/cpp/iedriver/CommandHandlers/IsElementSelectedCommandHandler.h b/cpp/iedriver/CommandHandlers/IsElementSelectedCommandHandler.h index 06ff3b1e01581..0b6cbf0dad10f 100644 --- a/cpp/iedriver/CommandHandlers/IsElementSelectedCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/IsElementSelectedCommandHandler.h @@ -30,15 +30,14 @@ class IsElementSelectedCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("id"); - if (id_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("id"); + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: id"); return; } else { - std::string element_id = id_parameter_iterator->second; + std::string element_id = id_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; int status_code = executor.GetCurrentBrowser(&browser_wrapper); diff --git a/cpp/iedriver/CommandHandlers/MaximizeWindowCommandHandler.h b/cpp/iedriver/CommandHandlers/MaximizeWindowCommandHandler.h index 726200245532a..61ddfd7b8a263 100644 --- a/cpp/iedriver/CommandHandlers/MaximizeWindowCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/MaximizeWindowCommandHandler.h @@ -29,16 +29,15 @@ class MaximizeWindowCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("windowHandle"); - if (id_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("windowHandle"); + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: windowHandle"); return; } else { int status_code = WD_SUCCESS; - std::string window_id = id_parameter_iterator->second; + std::string window_id = id_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; if (window_id == "current") { diff --git a/cpp/iedriver/CommandHandlers/MouseButtonDownCommandHandler.h b/cpp/iedriver/CommandHandlers/MouseButtonDownCommandHandler.h index 062cfdffd954e..b212c955b695a 100644 --- a/cpp/iedriver/CommandHandlers/MouseButtonDownCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/MouseButtonDownCommandHandler.h @@ -31,7 +31,6 @@ class MouseButtonDownCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { BrowserHandle browser_wrapper; diff --git a/cpp/iedriver/CommandHandlers/MouseButtonUpCommandHandler.h b/cpp/iedriver/CommandHandlers/MouseButtonUpCommandHandler.h index 095755ecf275e..7f843db59f823 100644 --- a/cpp/iedriver/CommandHandlers/MouseButtonUpCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/MouseButtonUpCommandHandler.h @@ -31,7 +31,6 @@ class MouseButtonUpCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { BrowserHandle browser_wrapper; diff --git a/cpp/iedriver/CommandHandlers/MouseClickCommandHandler.h b/cpp/iedriver/CommandHandlers/MouseClickCommandHandler.h index 5a520469b6ce0..a2a9fb1d92fcf 100644 --- a/cpp/iedriver/CommandHandlers/MouseClickCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/MouseClickCommandHandler.h @@ -31,7 +31,6 @@ class MouseClickCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { ParametersMap::const_iterator button_parameter_iterator = command_parameters.find("button"); diff --git a/cpp/iedriver/CommandHandlers/MouseDoubleClickCommandHandler.h b/cpp/iedriver/CommandHandlers/MouseDoubleClickCommandHandler.h index 5695d9f9f679f..82f0eee25d6ae 100644 --- a/cpp/iedriver/CommandHandlers/MouseDoubleClickCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/MouseDoubleClickCommandHandler.h @@ -31,7 +31,6 @@ class MouseDoubleClickCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { BrowserHandle browser_wrapper; diff --git a/cpp/iedriver/CommandHandlers/MouseMoveToCommandHandler.h b/cpp/iedriver/CommandHandlers/MouseMoveToCommandHandler.h index d1146b685faf3..4ad79ee49de05 100644 --- a/cpp/iedriver/CommandHandlers/MouseMoveToCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/MouseMoveToCommandHandler.h @@ -31,7 +31,6 @@ class MouseMoveToCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { ParametersMap::const_iterator element_parameter_iterator = command_parameters.find("element"); diff --git a/cpp/iedriver/CommandHandlers/NewSessionCommandHandler.h b/cpp/iedriver/CommandHandlers/NewSessionCommandHandler.h index 365f41e1a2fb8..a9c89845c0fe3 100755 --- a/cpp/iedriver/CommandHandlers/NewSessionCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/NewSessionCommandHandler.h @@ -31,7 +31,6 @@ class NewSessionCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { std::string default_initial_url = "http://localhost:" + std::to_string(static_cast(executor.port())) + "/"; diff --git a/cpp/iedriver/CommandHandlers/QuitCommandHandler.h b/cpp/iedriver/CommandHandlers/QuitCommandHandler.h index 025dc7917aecc..7e57fbfac01f7 100644 --- a/cpp/iedriver/CommandHandlers/QuitCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/QuitCommandHandler.h @@ -30,7 +30,6 @@ class QuitCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { std::vector managed_browser_handles; diff --git a/cpp/iedriver/CommandHandlers/RefreshCommandHandler.h b/cpp/iedriver/CommandHandlers/RefreshCommandHandler.h index 46a224ff01820..00b5281038d9e 100644 --- a/cpp/iedriver/CommandHandlers/RefreshCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/RefreshCommandHandler.h @@ -30,7 +30,6 @@ class RefreshCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { BrowserHandle browser_wrapper; diff --git a/cpp/iedriver/CommandHandlers/ScreenshotCommandHandler.h b/cpp/iedriver/CommandHandlers/ScreenshotCommandHandler.h index 572875be65b8f..f4f8a73a0da03 100644 --- a/cpp/iedriver/CommandHandlers/ScreenshotCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/ScreenshotCommandHandler.h @@ -45,7 +45,6 @@ class ScreenshotCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { LOG(TRACE) << "Entering ScreenshotCommandHandler::ExecuteInternal"; diff --git a/cpp/iedriver/CommandHandlers/SendKeysCommandHandler.h b/cpp/iedriver/CommandHandlers/SendKeysCommandHandler.h index 51ab427c5778f..08455fb8015ed 100644 --- a/cpp/iedriver/CommandHandlers/SendKeysCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/SendKeysCommandHandler.h @@ -48,20 +48,19 @@ class SendKeysCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("id"); + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("id"); ParametersMap::const_iterator value_parameter_iterator = command_parameters.find("value"); - if (id_parameter_iterator == locator_parameters.end()) { + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: id"); return; } else if (value_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter: value"); return; } else { - std::string element_id = id_parameter_iterator->second; + std::string element_id = id_parameter_iterator->second.asString(); Json::Value key_array = value_parameter_iterator->second; diff --git a/cpp/iedriver/CommandHandlers/SendKeysToActiveElementCommandHandler.h b/cpp/iedriver/CommandHandlers/SendKeysToActiveElementCommandHandler.h index e4365827b4606..f429565cab719 100644 --- a/cpp/iedriver/CommandHandlers/SendKeysToActiveElementCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/SendKeysToActiveElementCommandHandler.h @@ -31,7 +31,6 @@ class SendKeysToActiveElementCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { ParametersMap::const_iterator value_parameter_iterator = command_parameters.find("value"); diff --git a/cpp/iedriver/CommandHandlers/SendKeysToAlertCommandHandler.h b/cpp/iedriver/CommandHandlers/SendKeysToAlertCommandHandler.h index 0a72a1e0c6279..a178022db7f56 100644 --- a/cpp/iedriver/CommandHandlers/SendKeysToAlertCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/SendKeysToAlertCommandHandler.h @@ -33,7 +33,6 @@ class SendKeysToAlertCommandHandler : public IECommandHandler { } protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { ParametersMap::const_iterator text_parameter_iterator = command_parameters.find("text"); diff --git a/cpp/iedriver/CommandHandlers/SetAsyncScriptTimeoutCommandHandler.h b/cpp/iedriver/CommandHandlers/SetAsyncScriptTimeoutCommandHandler.h index 3f327f1287868..6d46c02849f32 100644 --- a/cpp/iedriver/CommandHandlers/SetAsyncScriptTimeoutCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/SetAsyncScriptTimeoutCommandHandler.h @@ -30,7 +30,6 @@ class SetAsyncScriptTimeoutCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { ParametersMap::const_iterator ms_parameter_iterator = command_parameters.find("ms"); diff --git a/cpp/iedriver/CommandHandlers/SetImplicitWaitTimeoutCommandHandler.h b/cpp/iedriver/CommandHandlers/SetImplicitWaitTimeoutCommandHandler.h index 9e78749b93783..c2220eba4e865 100644 --- a/cpp/iedriver/CommandHandlers/SetImplicitWaitTimeoutCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/SetImplicitWaitTimeoutCommandHandler.h @@ -30,7 +30,6 @@ class SetImplicitWaitTimeoutCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { ParametersMap::const_iterator ms_parameter_iterator = command_parameters.find("ms"); diff --git a/cpp/iedriver/CommandHandlers/SetTimeoutCommandHandler.h b/cpp/iedriver/CommandHandlers/SetTimeoutCommandHandler.h index 68f7c584a3234..8176a5921158c 100644 --- a/cpp/iedriver/CommandHandlers/SetTimeoutCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/SetTimeoutCommandHandler.h @@ -30,7 +30,6 @@ class SetTimeoutCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { ParametersMap::const_iterator type_parameter_iterator = command_parameters.find("type"); diff --git a/cpp/iedriver/CommandHandlers/SetWindowPositionCommandHandler.h b/cpp/iedriver/CommandHandlers/SetWindowPositionCommandHandler.h index 033fd0a1517aa..d894121264617 100644 --- a/cpp/iedriver/CommandHandlers/SetWindowPositionCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/SetWindowPositionCommandHandler.h @@ -30,13 +30,12 @@ class SetWindowPositionCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("windowHandle"); + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("windowHandle"); ParametersMap::const_iterator x_parameter_iterator = command_parameters.find("x"); ParametersMap::const_iterator y_parameter_iterator = command_parameters.find("y"); - if (id_parameter_iterator == locator_parameters.end()) { + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: windowHandle"); return; } else if (x_parameter_iterator == command_parameters.end()) { @@ -49,7 +48,7 @@ class SetWindowPositionCommandHandler : public IECommandHandler { int status_code = WD_SUCCESS; int x = x_parameter_iterator->second.asInt(); int y = y_parameter_iterator->second.asInt(); - std::string window_id = id_parameter_iterator->second; + std::string window_id = id_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; if (window_id == "current") { diff --git a/cpp/iedriver/CommandHandlers/SetWindowSizeCommandHandler.h b/cpp/iedriver/CommandHandlers/SetWindowSizeCommandHandler.h index 1a263a80514b1..a9d880f4fcea8 100644 --- a/cpp/iedriver/CommandHandlers/SetWindowSizeCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/SetWindowSizeCommandHandler.h @@ -30,13 +30,12 @@ class SetWindowSizeCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("windowHandle"); + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("windowHandle"); ParametersMap::const_iterator width_parameter_iterator = command_parameters.find("width"); ParametersMap::const_iterator height_parameter_iterator = command_parameters.find("height"); - if (id_parameter_iterator == locator_parameters.end()) { + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: windowHandle"); return; } else if (width_parameter_iterator == command_parameters.end()) { @@ -49,7 +48,7 @@ class SetWindowSizeCommandHandler : public IECommandHandler { int status_code = WD_SUCCESS; int width = width_parameter_iterator->second.asInt(); int height = height_parameter_iterator->second.asInt(); - std::string window_id = id_parameter_iterator->second; + std::string window_id = id_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; if (window_id == "current") { diff --git a/cpp/iedriver/CommandHandlers/SubmitElementCommandHandler.h b/cpp/iedriver/CommandHandlers/SubmitElementCommandHandler.h index 3169cbc0cd8f7..86a7aaf1a69a1 100644 --- a/cpp/iedriver/CommandHandlers/SubmitElementCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/SubmitElementCommandHandler.h @@ -33,15 +33,14 @@ class SubmitElementCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { - LocatorMap::const_iterator id_parameter_iterator = locator_parameters.find("id"); - if (id_parameter_iterator == locator_parameters.end()) { + ParametersMap::const_iterator id_parameter_iterator = command_parameters.find("id"); + if (id_parameter_iterator == command_parameters.end()) { response->SetErrorResponse(400, "Missing parameter in URL: id"); return; } else { - std::string element_id = id_parameter_iterator->second; + std::string element_id = id_parameter_iterator->second.asString(); BrowserHandle browser_wrapper; int status_code = executor.GetCurrentBrowser(&browser_wrapper); diff --git a/cpp/iedriver/CommandHandlers/SwitchToFrameCommandHandler.h b/cpp/iedriver/CommandHandlers/SwitchToFrameCommandHandler.h index f957cc97249c0..9d8918e7b3a70 100644 --- a/cpp/iedriver/CommandHandlers/SwitchToFrameCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/SwitchToFrameCommandHandler.h @@ -30,7 +30,6 @@ class SwitchToFrameCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { Json::Value frame_id = Json::Value::null; diff --git a/cpp/iedriver/CommandHandlers/SwitchToParentFrameCommandHandler.h b/cpp/iedriver/CommandHandlers/SwitchToParentFrameCommandHandler.h index 1d51c44a85a70..21735ea31372c 100644 --- a/cpp/iedriver/CommandHandlers/SwitchToParentFrameCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/SwitchToParentFrameCommandHandler.h @@ -30,7 +30,6 @@ class SwitchToParentFrameCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { BrowserHandle browser_wrapper; diff --git a/cpp/iedriver/CommandHandlers/SwitchToWindowCommandHandler.h b/cpp/iedriver/CommandHandlers/SwitchToWindowCommandHandler.h index 2113989594438..b384a078483d5 100644 --- a/cpp/iedriver/CommandHandlers/SwitchToWindowCommandHandler.h +++ b/cpp/iedriver/CommandHandlers/SwitchToWindowCommandHandler.h @@ -30,7 +30,6 @@ class SwitchToWindowCommandHandler : public IECommandHandler { protected: void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { ParametersMap::const_iterator name_parameter_iterator = command_parameters.find("name"); diff --git a/cpp/iedriver/IECommandExecutor.cpp b/cpp/iedriver/IECommandExecutor.cpp index 8e3cf3470c09b..598ccd25a83ec 100755 --- a/cpp/iedriver/IECommandExecutor.cpp +++ b/cpp/iedriver/IECommandExecutor.cpp @@ -152,7 +152,7 @@ LRESULT IECommandExecutor::OnSetCommand(UINT uMsg, LOG(TRACE) << "Entering IECommandExecutor::OnSetCommand"; LPCSTR json_command = reinterpret_cast(lParam); - this->current_command_.Populate(json_command); + this->current_command_.Deserialize(json_command); return 0; } diff --git a/cpp/iedriver/IECommandHandler.cpp b/cpp/iedriver/IECommandHandler.cpp index 6c58462d4eb6c..284e37d2ffb71 100644 --- a/cpp/iedriver/IECommandHandler.cpp +++ b/cpp/iedriver/IECommandHandler.cpp @@ -25,7 +25,6 @@ IECommandHandler::~IECommandHandler() { } void IECommandHandler::ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) { LOG(TRACE) << "Entering IECommandHandler::ExecuteInternal"; diff --git a/cpp/iedriver/IECommandHandler.h b/cpp/iedriver/IECommandHandler.h index f9def4306ce8f..4cfd007fda6b3 100755 --- a/cpp/iedriver/IECommandHandler.h +++ b/cpp/iedriver/IECommandHandler.h @@ -62,7 +62,6 @@ class IECommandHandler : public CommandHandler { protected: virtual void ExecuteInternal(const IECommandExecutor& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response); int GetElement(const IECommandExecutor& executor, diff --git a/cpp/webdriver-server/command.cc b/cpp/webdriver-server/command.cc index 0126f93bf6055..e2771ea0c76cd 100644 --- a/cpp/webdriver-server/command.cc +++ b/cpp/webdriver-server/command.cc @@ -17,32 +17,32 @@ namespace webdriver { -Command::Command() : command_type_(webdriver::CommandType::NoCommand) { +Command::Command() : command_type_(webdriver::CommandType::NoCommand), + session_id_("") { } Command::~Command() { } -void Command::Populate(const std::string& json_command) { - LOG(TRACE) << "Entering Command::Populate"; +void Command::Deserialize(const std::string& json) { + LOG(TRACE) << "Entering Command::Deserialize"; // Clear the existing maps. this->command_parameters_.clear(); - this->locator_parameters_.clear(); - LOG(DEBUG) << "Raw JSON command: " << json_command; + LOG(DEBUG) << "Raw JSON command: " << json; Json::Value root; Json::Reader reader; - bool successful_parse = reader.parse(json_command, root); + bool successful_parse = reader.parse(json, root); if (!successful_parse) { // report to the user the failure and their locations in the document. LOG(WARN) << "Failed to parse configuration due " << reader.getFormatedErrorMessages() << std::endl - << "JSON command: '" << json_command << "'"; + << "JSON command: '" << json << "'"; } - this->command_type_ = root.get("command", webdriver::CommandType::NoCommand).asString(); + this->command_type_ = root.get("name", webdriver::CommandType::NoCommand).asString(); if (this->command_type_ != webdriver::CommandType::NoCommand) { Json::Value locator_parameter_object = root["locator"]; Json::Value::iterator it = locator_parameter_object.begin(); @@ -50,7 +50,11 @@ void Command::Populate(const std::string& json_command) { for (; it != end; ++it) { std::string key = it.key().asString(); std::string value = locator_parameter_object[key].asString(); - this->locator_parameters_[key] = value; + if (key == "sessionid") { + this->session_id_ = value; + } else { + this->command_parameters_[key] = value; + } } Json::Value command_parameter_object = root["parameters"]; @@ -62,8 +66,29 @@ void Command::Populate(const std::string& json_command) { this->command_parameters_[key] = value; } } else { - LOG(DEBUG) << "Command type is zero, no 'command' attribute in JSON object"; + LOG(DEBUG) << "Command type is zero, no 'name' attribute in JSON object"; } } +std::string Command::Serialize() { + LOG(TRACE) << "Entering Command::Serialize"; + Json::Value json_object; + json_object["name"] = this->command_type_; + if (this->session_id_.length() == 0) { + json_object["sessionId"] = Json::nullValue; + } else { + json_object["sessionId"] = this->session_id_; + } + Json::Value parameters_object; + ParametersMap::const_iterator it = this->command_parameters_.begin(); + ParametersMap::const_iterator end = this->command_parameters_.end(); + for (; it != end; ++it) { + parameters_object[it->first] = it->second; + } + json_object["parameters"] = parameters_object; + Json::FastWriter writer; + std::string output(writer.write(json_object)); + return output; +} + } // namespace webdriver diff --git a/cpp/webdriver-server/command.h b/cpp/webdriver-server/command.h index 4634e43439de7..0882da6f05ecc 100644 --- a/cpp/webdriver-server/command.h +++ b/cpp/webdriver-server/command.h @@ -23,19 +23,16 @@ namespace webdriver { -typedef std::map LocatorMap; typedef std::map ParametersMap; class Command { public: Command(void); virtual ~Command(void); - void Populate(const std::string& json_command); + std::string Serialize(void); + void Deserialize(const std::string& json); std::string command_type(void) const { return this->command_type_; } - LocatorMap locator_parameters(void) const { - return this->locator_parameters_; - } ParametersMap command_parameters(void) const { return this->command_parameters_; } @@ -43,8 +40,8 @@ class Command { private: // The type of command this represents. std::string command_type_; - // Locator parameters derived from the URL of the command request. - LocatorMap locator_parameters_; + // Session ID for this command. + std::string session_id_; // Command parameters passed as JSON in the body of the request. ParametersMap command_parameters_; diff --git a/cpp/webdriver-server/command_handler.h b/cpp/webdriver-server/command_handler.h index a1860f53d5244..02403d9224a78 100644 --- a/cpp/webdriver-server/command_handler.h +++ b/cpp/webdriver-server/command_handler.h @@ -33,14 +33,12 @@ class CommandHandler { virtual ~CommandHandler(void) {} void Execute(const T& executor, const Command& command, Response* response) { this->ExecuteInternal(executor, - command.locator_parameters(), command.command_parameters(), response); } protected: virtual void ExecuteInternal(const T& executor, - const LocatorMap& locator_parameters, const ParametersMap& command_parameters, Response* response) = 0; diff --git a/cpp/webdriver-server/response.h b/cpp/webdriver-server/response.h index e4f4b83ddd840..8b257590ff359 100644 --- a/cpp/webdriver-server/response.h +++ b/cpp/webdriver-server/response.h @@ -34,6 +34,8 @@ class Response { Json::Value value(void) const { return this->value_; } + std::string session_id(void) const { return this->session_id_; } + void SetResponse(const int status_code, const Json::Value& response_value); void SetSuccessResponse(const Json::Value& response_value); void SetErrorResponse(const int error_code, const std::string& message); diff --git a/cpp/webdriver-server/server.cc b/cpp/webdriver-server/server.cc index 27d23ed11febc..9de6c68198073 100644 --- a/cpp/webdriver-server/server.cc +++ b/cpp/webdriver-server/server.cc @@ -170,15 +170,6 @@ void Server::AddCommand(const std::string& url, this->commands_[url][http_verb] = command_name; } -std::string Server::CreateSession() { - LOG(TRACE) << "Entering Server::CreateSession"; - - SessionHandle session_handle= this->InitializeSession(); - std::string session_id = session_handle->session_id(); - this->sessions_[session_id] = session_handle; - return session_id; -} - void Server::ShutDownSession(const std::string& session_id) { LOG(TRACE) << "Entering Server::ShutDownSession"; @@ -264,12 +255,9 @@ std::string Server::DispatchCommand(const std::string& uri, // not by the session. serialized_response = this->ListSessions(); } else { - if (command == webdriver::CommandType::NewSession) { - session_id = this->CreateSession(); - } - SessionHandle session_handle = NULL; - if (!this->LookupSession(session_id, &session_handle)) { + if (command != webdriver::CommandType::NewSession && + !this->LookupSession(session_id, &session_handle)) { if (command == webdriver::CommandType::Quit) { // Calling quit on an invalid session should be a no-op. // Hand-code the response for quit on an invalid (already @@ -291,15 +279,23 @@ std::string Server::DispatchCommand(const std::string& uri, } } else { // Compile the serialized JSON representation of the command by hand. - std::string serialized_command = "{ \"command\" : \"" + command + "\""; + std::string serialized_command = "{ \"name\" : \"" + command + "\""; serialized_command.append(", \"locator\" : "); serialized_command.append(locator_parameters); serialized_command.append(", \"parameters\" : "); serialized_command.append(command_body); serialized_command.append(" }"); + if (command == webdriver::CommandType::NewSession) { + session_handle = this->InitializeSession(); + } bool session_is_valid = session_handle->ExecuteCommand( serialized_command, &serialized_response); + if (command == webdriver::CommandType::NewSession) { + Response new_session_response; + new_session_response.Deserialize(serialized_response); + this->sessions_[new_session_response.session_id()] = session_handle; + } if (!session_is_valid) { this->ShutDownSession(session_id); } @@ -314,7 +310,7 @@ std::string Server::ListSessions() { // Manually construct the serialized command for getting // session capabilities. - std::string get_caps_command = "{ \"command\" : \"" + webdriver::CommandType::GetSessionCapabilities + "\"" + + std::string get_caps_command = "{ \"name\" : \"" + webdriver::CommandType::GetSessionCapabilities + "\"" + ", \"locator\" : {}, \"parameters\" : {} }"; Json::Value sessions(Json::arrayValue); diff --git a/cpp/webdriver-server/server.h b/cpp/webdriver-server/server.h index a5bd7efaa7705..9c9dfcff92ca6 100644 --- a/cpp/webdriver-server/server.h +++ b/cpp/webdriver-server/server.h @@ -75,7 +75,6 @@ class Server { std::string DispatchCommand(const std::string& url, const std::string& http_verb, const std::string& command_body); - std::string CreateSession(void); void ShutDownSession(const std::string& session_id); std::string ReadRequestBody(struct mg_connection* conn, const struct mg_request_info* request_info);