[go: up one dir, main page]

[ChromeDriver] Rename endpoints for accessing log

In W3C mode, replace non-standard /session/:sessionId/log* endpoints
with /session/:sessionId/se/log*, per agreement with Selenium.

(cherry picked from commit 0b81cefddc6b216fd6300eac855e39747f6f8767)

Bug: 973091, chromedriver:2947
Change-Id: I0c4b9833ace3e7ba5cb7ff0329f28041bf221da9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1652208
Commit-Queue: John Chen <johnchen@chromium.org>
Auto-Submit: John Chen <johnchen@chromium.org>
Reviewed-by: Caleb Rouleau <crouleau@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#667761}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1653630
Reviewed-by: John Chen <johnchen@chromium.org>
Cr-Commit-Position: refs/branch-heads/3809@{#227}
Cr-Branched-From: d82dec1a818f378c464ba307ddd9c92133eac355-refs/heads/master@{#665002}
diff --git a/chrome/test/chromedriver/client/command_executor.py b/chrome/test/chromedriver/client/command_executor.py
index 47339d63..68e149e 100644
--- a/chrome/test/chromedriver/client/command_executor.py
+++ b/chrome/test/chromedriver/client/command_executor.py
@@ -161,8 +161,8 @@
   TOUCH_FLICK = (_Method.POST, '/session/:sessionId/touch/flick')
   PERFORM_ACTIONS = (_Method.POST, '/session/:sessionId/actions')
   RELEASE_ACTIONS = (_Method.DELETE, '/session/:sessionId/actions')
-  GET_LOG = (_Method.POST, '/session/:sessionId/log')
-  GET_AVAILABLE_LOG_TYPES = (_Method.GET, '/session/:sessionId/log/types')
+  GET_LOG = (_Method.POST, '/session/:sessionId/se/log')
+  GET_AVAILABLE_LOG_TYPES = (_Method.GET, '/session/:sessionId/se/log/types')
   IS_AUTO_REPORTING = (_Method.GET, '/session/:sessionId/autoreport')
   SET_AUTO_REPORTING = (_Method.POST, '/session/:sessionId/autoreport')
   GET_SESSION_LOGS = (_Method.POST, '/logs')
diff --git a/chrome/test/chromedriver/log_replay/client_replay.py b/chrome/test/chromedriver/log_replay/client_replay.py
index 0969170..abeaf09 100755
--- a/chrome/test/chromedriver/log_replay/client_replay.py
+++ b/chrome/test/chromedriver/log_replay/client_replay.py
@@ -124,8 +124,8 @@
     (Method.GET, "/session/:sessionId/local_storage"),
     "GetLocalStorageSize":
     (Method.GET, "/session/:sessionId/local_storage/size"),
-    "GetLog": (Method.POST, "/session/:sessionId/log"),
-    "GetLogTypes": (Method.GET, "/session/:sessionId/log/types"),
+    "GetLog": (Method.POST, "/session/:sessionId/se/log"),
+    "GetLogTypes": (Method.GET, "/session/:sessionId/se/log/types"),
     "GetNamedCookie": (Method.GET, "/session/:sessionId/cookie/:name"),
     "GetNetworkConditions":
     (Method.GET, "/session/:sessionId/chromium/network_conditions"),
diff --git a/chrome/test/chromedriver/server/http_handler.cc b/chrome/test/chromedriver/server/http_handler.cc
index 1e85e02..418bb85 100644
--- a/chrome/test/chromedriver/server/http_handler.cc
+++ b/chrome/test/chromedriver/server/http_handler.cc
@@ -711,12 +711,14 @@
                                                        kSessionStorage),
                                    false /*w3c_standard_command*/)),
 
-      // Non-standard command but supported in the foreseeable future.
+      // No W3C equivalent, temporarily enabled until clients start using
+      // "session/:sessionId/se/log".
+      // Superseded by "session/:sessionId/se/log".
       CommandMapping(
           kPost, "session/:sessionId/log",
           WrapToCommand("GetLog", base::BindRepeating(&ExecuteGetLog))),
 
-      // No W3C equivalent.
+      // No W3C equivalent. Superseded by "session/:sessionId/se/log/types".
       CommandMapping(
           kGet, "session/:sessionId/log/types",
           WrapToCommand("GetLogTypes",
@@ -750,6 +752,20 @@
                         base::BindRepeating(&ExecuteSetNetworkConnection))),
 
       //
+      // Non-standard extension commands
+      //
+
+      // Commands to access Chrome logs, defined by agreement with Selenium.
+      // Using "se" prefix for "Selenium".
+      CommandMapping(
+          kPost, "session/:sessionId/se/log",
+          WrapToCommand("GetLog", base::BindRepeating(&ExecuteGetLog))),
+      CommandMapping(
+          kGet, "session/:sessionId/se/log/types",
+          WrapToCommand("GetLogTypes",
+                        base::BindRepeating(&ExecuteGetAvailableLogTypes))),
+
+      //
       // ChromeDriver specific extension commands.
       //