Bug 1375425 - Namespace WebDriver commands; r?automatedtester draft
authorAndreas Tolfsen <ato@sny.no>
Thu, 22 Jun 2017 13:07:02 +0100
changeset 599074 e7bd35b7801056f0490da1007e9e43badd1858fa
parent 599073 a7027cc932449668998dccee21a22352ef566664
child 634678 13bdb6f4d9db5cbdb6aba3163b6253886134a6b8
push id65422
push userbmo:ato@sny.no
push dateThu, 22 Jun 2017 17:49:17 +0000
reviewersautomatedtester
bugs1375425
milestone56.0a1
Bug 1375425 - Namespace WebDriver commands; r?automatedtester We want to namespace the WebDriver commands so that we in the future can use Marionette without activating the WebDriver functionality. Today, Marionette sets up a lot of state which is not needed if the client only needs Marionette for installing an addon. Namespacing the WebDriver commands is the first step towards a future where features can be enabled and disabled at runtime. MozReview-Commit-ID: E2lAGKb833F
testing/marionette/driver.js
--- a/testing/marionette/driver.js
+++ b/testing/marionette/driver.js
@@ -3202,84 +3202,148 @@ GeckoDriver.prototype.commands = {
   "addon:uninstall": GeckoDriver.prototype.uninstallAddon,  // deprecated, remove in Firefox 60
 
   // L10n service
   "L10n:LocalizeEntity": GeckoDriver.prototype.localizeEntity,
   "localization:l10n:localizeEntity": GeckoDriver.prototype.localizeEntity,  // deprecated, remove in Firefox 60
   "L10n:LocalizeProperty": GeckoDriver.prototype.localizeProperty,
   "localization:l10n:localizeProperty": GeckoDriver.prototype.localizeProperty,  // deprecated, remove in Firefox 60
 
-  "newSession": GeckoDriver.prototype.newSession,
-  "getSessionCapabilities": GeckoDriver.prototype.getSessionCapabilities,
+  // WebDriver service
+  "WebDriver:AcceptDialog": GeckoDriver.prototype.acceptDialog,
+  "WebDriver:AddCookie": GeckoDriver.prototype.addCookie,
+  "WebDriver:Back": GeckoDriver.prototype.goBack,
+  "WebDriver:CloseChromeWindow": GeckoDriver.prototype.closeChromeWindow,
+  "WebDriver:CloseWindow": GeckoDriver.prototype.close,
+  "WebDriver:DeleteAllCookies": GeckoDriver.prototype.deleteAllCookies,
+  "WebDriver:DeleteCookie": GeckoDriver.prototype.deleteCookie,
+  "WebDriver:DeleteSession": GeckoDriver.prototype.deleteSession,
+  "WebDriver:DismissAlert": GeckoDriver.prototype.dismissDialog,
+  "WebDriver:ElementClear": GeckoDriver.prototype.clearElement,
+  "WebDriver:ElementClick": GeckoDriver.prototype.clickElement,
+  "WebDriver:ElementSendKeys": GeckoDriver.prototype.sendKeysToElement,
+  "WebDriver:ExecuteAsyncScript": GeckoDriver.prototype.executeAsyncScript,
+  "WebDriver:ExecuteScript": GeckoDriver.prototype.executeScript,
+  "WebDriver:FindElement": GeckoDriver.prototype.findElement,
+  "WebDriver:FindElements": GeckoDriver.prototype.findElements,
+  "WebDriver:Forward": GeckoDriver.prototype.goForward,
+  "WebDriver:FullscreenWindow": GeckoDriver.prototype.fullscreen,
+  "WebDriver:GetActiveElement": GeckoDriver.prototype.getActiveElement,
+  "WebDriver:GetActiveFrame": GeckoDriver.prototype.getActiveFrame,
+  "WebDriver:GetAlertText": GeckoDriver.prototype.getTextFromDialog,
+  "WebDriver:GetAppCacheStatus": GeckoDriver.prototype.getAppCacheStatus,
+  "WebDriver:GetCapabilities": GeckoDriver.prototype.getSessionCapabilities,
+  "WebDriver:GetChromeWindowHandle": GeckoDriver.prototype.getChromeWindowHandle,
+  "WebDriver:GetChromeWindowHandles": GeckoDriver.prototype.getChromeWindowHandles,
+  "WebDriver:GetCookies": GeckoDriver.prototype.getCookies,
+  "WebDriver:GetCurrentChromeWindowHandle": GeckoDriver.prototype.getChromeWindowHandle,
+  "WebDriver:GetCurrentURL": GeckoDriver.prototype.getCurrentUrl,
+  "WebDriver:GetElementAttribute": GeckoDriver.prototype.getElementAttribute,
+  "WebDriver:GetElementCSSValue": GeckoDriver.prototype.getElementValueOfCssProperty,
+  "WebDriver:GetElementProperty": GeckoDriver.prototype.getElementProperty,
+  "WebDriver:GetElementRect": GeckoDriver.prototype.getElementRect,
+  "WebDriver:GetElementTagName": GeckoDriver.prototype.getElementTagName,
+  "WebDriver:GetElementText": GeckoDriver.prototype.getElementText,
+  "WebDriver:GetPageSource": GeckoDriver.prototype.getPageSource,
+  "WebDriver:GetScreenOrientation": GeckoDriver.prototype.getScreenOrientation,
+  "WebDriver:GetTimeouts": GeckoDriver.prototype.getTimeouts,
+  "WebDriver:GetTitle": GeckoDriver.prototype.getTitle,
+  "WebDriver:GetWindowHandle": GeckoDriver.prototype.getWindowHandle,
+  "WebDriver:GetWindowHandles": GeckoDriver.prototype.getWindowHandles,
+  "WebDriver:GetWindowRect": GeckoDriver.prototype.getWindowRect,
+  "WebDriver:GetWindowType": GeckoDriver.prototype.getWindowType,
+  "WebDriver:IsElementDisplayed": GeckoDriver.prototype.isElementDisplayed,
+  "WebDriver:IsElementEnabled": GeckoDriver.prototype.isElementEnabled,
+  "WebDriver:IsElementSelected": GeckoDriver.prototype.isElementSelected,
+  "WebDriver:MaximizeWindow": GeckoDriver.prototype.maximizeWindow,
+  "WebDriver:Navigate": GeckoDriver.prototype.get,
+  "WebDriver:NewSession": GeckoDriver.prototype.newSession,
+  "WebDriver:PerformActions": GeckoDriver.prototype.performActions,
+  "WebDriver:Refresh":  GeckoDriver.prototype.refresh,
+  "WebDriver:ReleaseActions": GeckoDriver.prototype.releaseActions,
+  "WebDriver:SendAlertText": GeckoDriver.prototype.sendKeysToDialog,
+  "WebDriver:SetScreenOrientation": GeckoDriver.prototype.setScreenOrientation,
+  "WebDriver:SetTimeouts": GeckoDriver.prototype.setTimeouts,
+  "WebDriver:SetWindowRect": GeckoDriver.prototype.setWindowRect,
+  "WebDriver:SwitchToFrame": GeckoDriver.prototype.switchToFrame,
+  "WebDriver:SwitchToParentFrame": GeckoDriver.prototype.switchToParentFrame,
+  "WebDriver:SwitchToShadowRoot": GeckoDriver.prototype.switchToShadowRoot,
+  "WebDriver:SwitchToWindow": GeckoDriver.prototype.switchToWindow,
+  "WebDriver:TakeScreenshot": GeckoDriver.prototype.takeScreenshot,
+
+  // deprecated WebDriver commands, remove in Firefox 60
+  "acceptDialog": GeckoDriver.prototype.acceptDialog,
+  "actionChain": GeckoDriver.prototype.actionChain,
+  "addCookie": GeckoDriver.prototype.addCookie,
+  "clearElement": GeckoDriver.prototype.clearElement,
+  "clickElement": GeckoDriver.prototype.clickElement,
+  "closeChromeWindow": GeckoDriver.prototype.closeChromeWindow,
+  "close": GeckoDriver.prototype.close,
+  "deleteAllCookies": GeckoDriver.prototype.deleteAllCookies,
+  "deleteCookie": GeckoDriver.prototype.deleteCookie,
+  "deleteSession": GeckoDriver.prototype.deleteSession,
+  "dismissDialog": GeckoDriver.prototype.dismissDialog,
+  "executeAsyncScript": GeckoDriver.prototype.executeAsyncScript,
   "executeScript": GeckoDriver.prototype.executeScript,
-  "getTimeouts": GeckoDriver.prototype.getTimeouts,
-  "setTimeouts": GeckoDriver.prototype.setTimeouts,
-  "singleTap": GeckoDriver.prototype.singleTap,
-  "performActions": GeckoDriver.prototype.performActions,
-  "releaseActions": GeckoDriver.prototype.releaseActions,
-  "actionChain": GeckoDriver.prototype.actionChain, // deprecated
-  "multiAction": GeckoDriver.prototype.multiAction, // deprecated
-  "executeAsyncScript": GeckoDriver.prototype.executeAsyncScript,
-  "executeJSScript": GeckoDriver.prototype.executeJSScript,
   "findElement": GeckoDriver.prototype.findElement,
   "findElements": GeckoDriver.prototype.findElements,
-  "clickElement": GeckoDriver.prototype.clickElement,
+  "fullscreen": GeckoDriver.prototype.fullscreen,
+  "getActiveElement": GeckoDriver.prototype.getActiveElement,
+  "getActiveFrame": GeckoDriver.prototype.getActiveFrame,
+  "getAppCacheStatus": GeckoDriver.prototype.getAppCacheStatus,
+  "getChromeWindowHandle": GeckoDriver.prototype.getChromeWindowHandle,
+  "getChromeWindowHandles": GeckoDriver.prototype.getChromeWindowHandles,
+  "getContext": GeckoDriver.prototype.getContext,
+  "getCookies": GeckoDriver.prototype.getCookies,
+  "getCurrentChromeWindowHandle": GeckoDriver.prototype.getChromeWindowHandle,
+  "getCurrentUrl": GeckoDriver.prototype.getCurrentUrl,
   "getElementAttribute": GeckoDriver.prototype.getElementAttribute,
   "getElementProperty": GeckoDriver.prototype.getElementProperty,
-  "getElementText": GeckoDriver.prototype.getElementText,
+  "getElementRect": GeckoDriver.prototype.getElementRect,
   "getElementTagName": GeckoDriver.prototype.getElementTagName,
-  "isElementDisplayed": GeckoDriver.prototype.isElementDisplayed,
+  "getElementText": GeckoDriver.prototype.getElementText,
   "getElementValueOfCssProperty": GeckoDriver.prototype.getElementValueOfCssProperty,
-  "getElementRect": GeckoDriver.prototype.getElementRect,
-  "isElementEnabled": GeckoDriver.prototype.isElementEnabled,
-  "isElementSelected": GeckoDriver.prototype.isElementSelected,
-  "sendKeysToElement": GeckoDriver.prototype.sendKeysToElement,
-  "clearElement": GeckoDriver.prototype.clearElement,
+  "get": GeckoDriver.prototype.get,
+  "getPageSource": GeckoDriver.prototype.getPageSource,
+  "getScreenOrientation": GeckoDriver.prototype.getScreenOrientation,
+  "getSessionCapabilities": GeckoDriver.prototype.getSessionCapabilities,
+  "getTextFromDialog": GeckoDriver.prototype.getTextFromDialog,
+  "getTimeouts": GeckoDriver.prototype.getTimeouts,
   "getTitle": GeckoDriver.prototype.getTitle,
+  "getWindowHandle": GeckoDriver.prototype.getWindowHandle,
+  "getWindowHandles": GeckoDriver.prototype.getWindowHandles,
+  "getWindowPosition": GeckoDriver.prototype.getWindowRect, // redirect for compatibility
+  "getWindowRect": GeckoDriver.prototype.getWindowRect,
+  "getWindowSize": GeckoDriver.prototype.getWindowRect, // redirect for compatibility
   "getWindowType": GeckoDriver.prototype.getWindowType,
-  "getPageSource": GeckoDriver.prototype.getPageSource,
-  "get": GeckoDriver.prototype.get,
-  "getCurrentUrl": GeckoDriver.prototype.getCurrentUrl,
   "goBack": GeckoDriver.prototype.goBack,
   "goForward": GeckoDriver.prototype.goForward,
+  "isElementDisplayed": GeckoDriver.prototype.isElementDisplayed,
+  "isElementEnabled": GeckoDriver.prototype.isElementEnabled,
+  "isElementSelected": GeckoDriver.prototype.isElementSelected,
+  "maximizeWindow": GeckoDriver.prototype.maximizeWindow,
+  "multiAction": GeckoDriver.prototype.multiAction,
+  "newSession": GeckoDriver.prototype.newSession,
+  "performActions": GeckoDriver.prototype.performActions,
   "refresh":  GeckoDriver.prototype.refresh,
-  "getWindowHandle": GeckoDriver.prototype.getWindowHandle,
-  "getChromeWindowHandle": GeckoDriver.prototype.getChromeWindowHandle,
-  "getCurrentChromeWindowHandle": GeckoDriver.prototype.getChromeWindowHandle,
-  "getWindowHandles": GeckoDriver.prototype.getWindowHandles,
-  "getChromeWindowHandles": GeckoDriver.prototype.getChromeWindowHandles,
-  "getWindowPosition": GeckoDriver.prototype.getWindowRect, // Redirecting for compatibility
-  "setWindowPosition": GeckoDriver.prototype.setWindowRect, // Redirecting for compatibility
+  "releaseActions": GeckoDriver.prototype.releaseActions,
+  "sendKeysToDialog": GeckoDriver.prototype.sendKeysToDialog,
+  "sendKeysToElement": GeckoDriver.prototype.sendKeysToElement,
+  "setContext": GeckoDriver.prototype.setContext,
+  "setScreenOrientation": GeckoDriver.prototype.setScreenOrientation,
+  "setTimeouts": GeckoDriver.prototype.setTimeouts,
+  "setWindowPosition": GeckoDriver.prototype.setWindowRect, // redirect for compatibility
   "setWindowRect": GeckoDriver.prototype.setWindowRect,
-  "getWindowRect": GeckoDriver.prototype.getWindowRect,
-  "getActiveFrame": GeckoDriver.prototype.getActiveFrame,
+  "setWindowSize": GeckoDriver.prototype.setWindowRect, // redirect for compatibility
+  "singleTap": GeckoDriver.prototype.singleTap,
   "switchToFrame": GeckoDriver.prototype.switchToFrame,
   "switchToParentFrame": GeckoDriver.prototype.switchToParentFrame,
+  "switchToShadowRoot": GeckoDriver.prototype.switchToShadowRoot,
   "switchToWindow": GeckoDriver.prototype.switchToWindow,
-  "switchToShadowRoot": GeckoDriver.prototype.switchToShadowRoot,
-  "deleteSession": GeckoDriver.prototype.deleteSession,
-  "getAppCacheStatus": GeckoDriver.prototype.getAppCacheStatus,
-  "close": GeckoDriver.prototype.close,
-  "closeChromeWindow": GeckoDriver.prototype.closeChromeWindow,
   "takeScreenshot": GeckoDriver.prototype.takeScreenshot,
-  "addCookie": GeckoDriver.prototype.addCookie,
-  "getCookies": GeckoDriver.prototype.getCookies,
-  "deleteAllCookies": GeckoDriver.prototype.deleteAllCookies,
-  "deleteCookie": GeckoDriver.prototype.deleteCookie,
-  "getActiveElement": GeckoDriver.prototype.getActiveElement,
-  "getScreenOrientation": GeckoDriver.prototype.getScreenOrientation,
-  "setScreenOrientation": GeckoDriver.prototype.setScreenOrientation,
-  "getWindowSize": GeckoDriver.prototype.getWindowRect, // Redirecting for compatibility
-  "setWindowSize": GeckoDriver.prototype.setWindowRect, // Redirecting for compatibility
-  "maximizeWindow": GeckoDriver.prototype.maximizeWindow,
-  "fullscreen": GeckoDriver.prototype.fullscreen,
-  "dismissDialog": GeckoDriver.prototype.dismissDialog,
-  "acceptDialog": GeckoDriver.prototype.acceptDialog,
-  "getTextFromDialog": GeckoDriver.prototype.getTextFromDialog,
-  "sendKeysToDialog": GeckoDriver.prototype.sendKeysToDialog,
 };
 
 function copy (obj) {
   if (Array.isArray(obj)) {
     return obj.slice();
   } else if (typeof obj == "object") {
     return Object.assign({}, obj);
   }