Bug 1461463 - [wdspec] Add tests for commands returning null as response value. r=ato
authorHenrik Skupin <mail@hskupin.info>
Thu, 17 May 2018 15:54:31 +0200
changeset 420250 fe8aa70475dde011b190f1c5c7df5e56814b1cde
parent 420249 f4261bd006df39cd7034764cad48320306dc84fc
child 420251 695a087bd6ea299f35bb8629a060b0a1dccd3337
push id64569
push userhskupin@mozilla.com
push dateTue, 29 May 2018 15:49:19 +0000
treeherderautoland@fe8aa70475dd [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersato
bugs1461463
milestone62.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1461463 - [wdspec] Add tests for commands returning null as response value. r=ato MozReview-Commit-ID: 9W8TV1B3NGS
testing/web-platform/meta/MANIFEST.json
testing/web-platform/tests/webdriver/tests/accept_alert/accept.py
testing/web-platform/tests/webdriver/tests/actions/key.py
testing/web-platform/tests/webdriver/tests/actions/mouse.py
testing/web-platform/tests/webdriver/tests/add_cookie/add.py
testing/web-platform/tests/webdriver/tests/back/__init__.py
testing/web-platform/tests/webdriver/tests/back/back.py
testing/web-platform/tests/webdriver/tests/delete_all_cookies/__init__.py
testing/web-platform/tests/webdriver/tests/delete_all_cookies/delete.py
testing/web-platform/tests/webdriver/tests/delete_cookie/delete.py
testing/web-platform/tests/webdriver/tests/delete_session/delete.py
testing/web-platform/tests/webdriver/tests/dismiss_alert/dismiss.py
testing/web-platform/tests/webdriver/tests/element_clear/clear.py
testing/web-platform/tests/webdriver/tests/element_click/click.py
testing/web-platform/tests/webdriver/tests/element_send_keys/send_keys.py
testing/web-platform/tests/webdriver/tests/forward/__init__.py
testing/web-platform/tests/webdriver/tests/forward/forward.py
testing/web-platform/tests/webdriver/tests/navigate_to/__init__.py
testing/web-platform/tests/webdriver/tests/navigate_to/navigate.py
testing/web-platform/tests/webdriver/tests/refresh/__init__.py
testing/web-platform/tests/webdriver/tests/refresh/refresh.py
testing/web-platform/tests/webdriver/tests/send_alert_text/send.py
testing/web-platform/tests/webdriver/tests/set_timeouts/__init__.py
testing/web-platform/tests/webdriver/tests/set_timeouts/set.py
testing/web-platform/tests/webdriver/tests/switch_to_frame/__init__.py
testing/web-platform/tests/webdriver/tests/switch_to_frame/switch.py
testing/web-platform/tests/webdriver/tests/switch_to_parent_frame/switch.py
testing/web-platform/tests/webdriver/tests/switch_to_window/__init__.py
testing/web-platform/tests/webdriver/tests/switch_to_window/switch.py
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -301051,26 +301051,36 @@
      {}
     ]
    ],
    "webdriver/tests/add_cookie/__init__.py": [
     [
      {}
     ]
    ],
+   "webdriver/tests/back/__init__.py": [
+    [
+     {}
+    ]
+   ],
    "webdriver/tests/close_window/__init__.py": [
     [
      {}
     ]
    ],
    "webdriver/tests/conftest.py": [
     [
      {}
     ]
    ],
+   "webdriver/tests/delete_all_cookies/__init__.py": [
+    [
+     {}
+    ]
+   ],
    "webdriver/tests/delete_cookie/__init__.py": [
     [
      {}
     ]
    ],
    "webdriver/tests/delete_session/__init__.py": [
     [
      {}
@@ -301121,16 +301131,21 @@
      {}
     ]
    ],
    "webdriver/tests/find_elements_from_element/__init__.py": [
     [
      {}
     ]
    ],
+   "webdriver/tests/forward/__init__.py": [
+    [
+     {}
+    ]
+   ],
    "webdriver/tests/fullscreen_window/__init__.py": [
     [
      {}
     ]
    ],
    "webdriver/tests/get_active_element/__init__.py": [
     [
      {}
@@ -301191,16 +301206,21 @@
      {}
     ]
    ],
    "webdriver/tests/minimize_window/__init__.py": [
     [
      {}
     ]
    ],
+   "webdriver/tests/navigate_to/__init__.py": [
+    [
+     {}
+    ]
+   ],
    "webdriver/tests/new_session/__init__.py": [
     [
      {}
     ]
    ],
    "webdriver/tests/new_session/conftest.py": [
     [
      {}
@@ -301216,21 +301236,31 @@
      {}
     ]
    ],
    "webdriver/tests/page_source/__init__.py": [
     [
      {}
     ]
    ],
+   "webdriver/tests/refresh/__init__.py": [
+    [
+     {}
+    ]
+   ],
    "webdriver/tests/send_alert_text/__init__.py": [
     [
      {}
     ]
    ],
+   "webdriver/tests/set_timeouts/__init__.py": [
+    [
+     {}
+    ]
+   ],
    "webdriver/tests/set_window_rect/__init__.py": [
     [
      {}
     ]
    ],
    "webdriver/tests/status/__init__.py": [
     [
      {}
@@ -301266,21 +301296,31 @@
      {}
     ]
    ],
    "webdriver/tests/support/wait.py": [
     [
      {}
     ]
    ],
+   "webdriver/tests/switch_to_frame/__init__.py": [
+    [
+     {}
+    ]
+   ],
    "webdriver/tests/switch_to_parent_frame/__init__.py": [
     [
      {}
     ]
    ],
+   "webdriver/tests/switch_to_window/__init__.py": [
+    [
+     {}
+    ]
+   ],
    "webgl/OWNERS": [
     [
      {}
     ]
    ],
    "webgl/common.js": [
     [
      {}
@@ -401425,28 +401465,40 @@
     ]
    ],
    "webdriver/tests/add_cookie/add.py": [
     [
      "/webdriver/tests/add_cookie/add.py",
      {}
     ]
    ],
+   "webdriver/tests/back/back.py": [
+    [
+     "/webdriver/tests/back/back.py",
+     {}
+    ]
+   ],
    "webdriver/tests/close_window/close.py": [
     [
      "/webdriver/tests/close_window/close.py",
      {}
     ]
    ],
    "webdriver/tests/close_window/user_prompts.py": [
     [
      "/webdriver/tests/close_window/user_prompts.py",
      {}
     ]
    ],
+   "webdriver/tests/delete_all_cookies/delete.py": [
+    [
+     "/webdriver/tests/delete_all_cookies/delete.py",
+     {}
+    ]
+   ],
    "webdriver/tests/delete_cookie/delete.py": [
     [
      "/webdriver/tests/delete_cookie/delete.py",
      {}
     ]
    ],
    "webdriver/tests/delete_cookie/user_prompts.py": [
     [
@@ -401475,16 +401527,22 @@
     ]
    ],
    "webdriver/tests/element_click/bubbling.py": [
     [
      "/webdriver/tests/element_click/bubbling.py",
      {}
     ]
    ],
+   "webdriver/tests/element_click/click.py": [
+    [
+     "/webdriver/tests/element_click/click.py",
+     {}
+    ]
+   ],
    "webdriver/tests/element_click/select.py": [
     [
      "/webdriver/tests/element_click/select.py",
      {}
     ]
    ],
    "webdriver/tests/element_click/stale.py": [
     [
@@ -401511,16 +401569,22 @@
     ]
    ],
    "webdriver/tests/element_send_keys/scroll_into_view.py": [
     [
      "/webdriver/tests/element_send_keys/scroll_into_view.py",
      {}
     ]
    ],
+   "webdriver/tests/element_send_keys/send_keys.py": [
+    [
+     "/webdriver/tests/element_send_keys/send_keys.py",
+     {}
+    ]
+   ],
    "webdriver/tests/execute_async_script/collections.py": [
     [
      "/webdriver/tests/execute_async_script/collections.py",
      {}
     ]
    ],
    "webdriver/tests/execute_async_script/user_prompts.py": [
     [
@@ -401571,16 +401635,22 @@
     ]
    ],
    "webdriver/tests/find_elements_from_element/find.py": [
     [
      "/webdriver/tests/find_elements_from_element/find.py",
      {}
     ]
    ],
+   "webdriver/tests/forward/forward.py": [
+    [
+     "/webdriver/tests/forward/forward.py",
+     {}
+    ]
+   ],
    "webdriver/tests/fullscreen_window/fullscreen.py": [
     [
      "/webdriver/tests/fullscreen_window/fullscreen.py",
      {}
     ]
    ],
    "webdriver/tests/fullscreen_window/user_prompts.py": [
     [
@@ -401715,16 +401785,22 @@
     ]
    ],
    "webdriver/tests/minimize_window/user_prompts.py": [
     [
      "/webdriver/tests/minimize_window/user_prompts.py",
      {}
     ]
    ],
+   "webdriver/tests/navigate_to/navigate.py": [
+    [
+     "/webdriver/tests/navigate_to/navigate.py",
+     {}
+    ]
+   ],
    "webdriver/tests/new_session/create_alwaysMatch.py": [
     [
      "/webdriver/tests/new_session/create_alwaysMatch.py",
      {
       "timeout": "long"
      }
     ]
    ],
@@ -401769,22 +401845,34 @@
     ]
    ],
    "webdriver/tests/page_source/source.py": [
     [
      "/webdriver/tests/page_source/source.py",
      {}
     ]
    ],
+   "webdriver/tests/refresh/refresh.py": [
+    [
+     "/webdriver/tests/refresh/refresh.py",
+     {}
+    ]
+   ],
    "webdriver/tests/send_alert_text/send.py": [
     [
      "/webdriver/tests/send_alert_text/send.py",
      {}
     ]
    ],
+   "webdriver/tests/set_timeouts/set.py": [
+    [
+     "/webdriver/tests/set_timeouts/set.py",
+     {}
+    ]
+   ],
    "webdriver/tests/set_window_rect/set.py": [
     [
      "/webdriver/tests/set_window_rect/set.py",
      {
       "timeout": "long"
      }
     ]
    ],
@@ -401795,21 +401883,33 @@
     ]
    ],
    "webdriver/tests/status/status.py": [
     [
      "/webdriver/tests/status/status.py",
      {}
     ]
    ],
+   "webdriver/tests/switch_to_frame/switch.py": [
+    [
+     "/webdriver/tests/switch_to_frame/switch.py",
+     {}
+    ]
+   ],
    "webdriver/tests/switch_to_parent_frame/switch.py": [
     [
      "/webdriver/tests/switch_to_parent_frame/switch.py",
      {}
     ]
+   ],
+   "webdriver/tests/switch_to_window/switch.py": [
+    [
+     "/webdriver/tests/switch_to_window/switch.py",
+     {}
+    ]
    ]
   }
  },
  "paths": {
   "./.codecov.yml": [
    "e2322808739a5977e90896b4755cfc20f4ab2046",
    "support"
   ],
@@ -616885,41 +616985,41 @@
    "b2ebe4b632b1a75e7334b97c3df7075f494dd5c6",
    "support"
   ],
   "webdriver/tests/accept_alert/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/accept_alert/accept.py": [
-   "840f2ba655688ac1ff7581557f7560f641b61fe8",
+   "528149429fbb7da35a52d4b4c0e6839f170d0fac",
    "wdspec"
   ],
   "webdriver/tests/actions/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/actions/conftest.py": [
    "f366a25d9d5e35a2897413a265398bc7a54f7c44",
    "support"
   ],
   "webdriver/tests/actions/key.py": [
-   "d589b53f0096893600e696b43ec19ca84e5ee2ab",
+   "0b70d98a4558427666abbe9629a6cf42d69e2597",
    "wdspec"
   ],
   "webdriver/tests/actions/key_shortcuts.py": [
    "dbe27dd0b1625169fc8cc2055f8fb49d5a4a78d2",
    "wdspec"
   ],
   "webdriver/tests/actions/modifier_click.py": [
    "f0ed71cbb6550ef496096541531f3b4fa3f4c6e2",
    "wdspec"
   ],
   "webdriver/tests/actions/mouse.py": [
-   "edad7693fcd01b418821942edb870191db64ea41",
+   "fb5072172d8524788147bde310d612aae5bee1b1",
    "wdspec"
   ],
   "webdriver/tests/actions/mouse_dblclick.py": [
    "dd73b09a15b438aaf77cbccdf40678a24bbabd39",
    "wdspec"
   ],
   "webdriver/tests/actions/mouse_pause_dblclick.py": [
    "d9c173d0c6c4943669dcd6d05472758c7f42b1ed",
@@ -616957,17 +617057,25 @@
    "95203777fcc012ab64465287737a89a4ba2c31dc",
    "support"
   ],
   "webdriver/tests/add_cookie/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/add_cookie/add.py": [
-   "29891e121def1917c47c70efd19b40ed5f2ea61d",
+   "39eb6c33a7c8f7a305cd093b795c0127816ac827",
+   "wdspec"
+  ],
+  "webdriver/tests/back/__init__.py": [
+   "da39a3ee5e6b4b0d3255bfef95601890afd80709",
+   "support"
+  ],
+  "webdriver/tests/back/back.py": [
+   "0df671f059b0b9064a6a8608163b46042524f7e7",
    "wdspec"
   ],
   "webdriver/tests/close_window/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/close_window/close.py": [
    "8c22860607cb0f3d610888c9816bf2384e2c5445",
@@ -616976,60 +617084,72 @@
   "webdriver/tests/close_window/user_prompts.py": [
    "58390344e980306233cd0daedca99fd4ec855cf8",
    "wdspec"
   ],
   "webdriver/tests/conftest.py": [
    "c812269d034c9ca1b8c4f136dd5d0cea52f4d0f0",
    "support"
   ],
+  "webdriver/tests/delete_all_cookies/__init__.py": [
+   "da39a3ee5e6b4b0d3255bfef95601890afd80709",
+   "support"
+  ],
+  "webdriver/tests/delete_all_cookies/delete.py": [
+   "1248b2e14b6b690b996f8bf620a6a1f33514256a",
+   "wdspec"
+  ],
   "webdriver/tests/delete_cookie/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/delete_cookie/delete.py": [
-   "1f0d6b861be1ed682fd87a402908cee186a3987c",
+   "e9b90bac0e666ce82b3c0006830febcef726d688",
    "wdspec"
   ],
   "webdriver/tests/delete_cookie/user_prompts.py": [
    "65b753bd80a06c3c20b0330f624a4d395fdb7ab2",
    "wdspec"
   ],
   "webdriver/tests/delete_session/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/delete_session/delete.py": [
-   "6cbfd4c20b548e668d6251df9d0a26b0824e6ae1",
+   "1df6e1bfba0577a591bda8e0e27b96a1abcea1fb",
    "wdspec"
   ],
   "webdriver/tests/dismiss_alert/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/dismiss_alert/dismiss.py": [
-   "e213f1939ff5cc2fbdebb2bd8e9445e284803a60",
+   "33b32f41d9078f7d317aed837f1fc05f443bd034",
    "wdspec"
   ],
   "webdriver/tests/element_clear/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/element_clear/clear.py": [
-   "d5a0a37d410f5a748aee5ac5be75acb837e491f8",
+   "cb1a5a8cb6568becf776031bca67079b54b53dc5",
    "wdspec"
   ],
   "webdriver/tests/element_click/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/element_click/bubbling.py": [
    "492e283b686abe0743d72e31017be149726628f9",
    "wdspec"
   ],
+  "webdriver/tests/element_click/click.py": [
+   "5af8f42f8b31cdc010a7f9e12f4a6814dc92e9de",
+   "wdspec"
+  ],
   "webdriver/tests/element_click/select.py": [
    "bddc341a0feb0d06e75415b8f98b8e9e0c2a829d",
    "wdspec"
   ],
   "webdriver/tests/element_click/stale.py": [
    "490b6c17365c5eab24fd4a7ac07be6614a86a934",
    "wdspec"
   ],
@@ -617048,16 +617168,20 @@
   "webdriver/tests/element_send_keys/interactability.py": [
    "5374827c90845ded660d540d23bb7e07ac84e445",
    "wdspec"
   ],
   "webdriver/tests/element_send_keys/scroll_into_view.py": [
    "e4a50a53a13c1ab76c6c002bbda1c103f8c32ccf",
    "wdspec"
   ],
+  "webdriver/tests/element_send_keys/send_keys.py": [
+   "90fe1e170efc56699af7af931cd9182abbbcef05",
+   "wdspec"
+  ],
   "webdriver/tests/execute_async_script/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/execute_async_script/collections.py": [
    "d6c95dfdcbfc3b9cf91cf6f943a17b7cd0fee79d",
    "wdspec"
   ],
@@ -617112,16 +617236,24 @@
   "webdriver/tests/find_elements_from_element/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/find_elements_from_element/find.py": [
    "2daef29773c98649b04e3d6e97380ba569ec045d",
    "wdspec"
   ],
+  "webdriver/tests/forward/__init__.py": [
+   "da39a3ee5e6b4b0d3255bfef95601890afd80709",
+   "support"
+  ],
+  "webdriver/tests/forward/forward.py": [
+   "558f686e715eab83f2979c4ac772472b7eb91432",
+   "wdspec"
+  ],
   "webdriver/tests/fullscreen_window/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/fullscreen_window/fullscreen.py": [
    "8a6e06b2fbd2ec80326ab1145e6ddfb35c6995b4",
    "wdspec"
   ],
@@ -617268,16 +617400,24 @@
   "webdriver/tests/minimize_window/minimize.py": [
    "8b59610ffcbb4ab41a74f149dc74d415edfaf60f",
    "wdspec"
   ],
   "webdriver/tests/minimize_window/user_prompts.py": [
    "668c775a0e60b377a5a558a2a38b8887ac2683a0",
    "wdspec"
   ],
+  "webdriver/tests/navigate_to/__init__.py": [
+   "da39a3ee5e6b4b0d3255bfef95601890afd80709",
+   "support"
+  ],
+  "webdriver/tests/navigate_to/navigate.py": [
+   "6274392529489518207961ed5e6b6bb3ff081572",
+   "wdspec"
+  ],
   "webdriver/tests/new_session/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/new_session/conftest.py": [
    "d2df38e506cb9a3e501f03fe03e2a31af42d6f04",
    "support"
   ],
@@ -617316,22 +617456,38 @@
   "webdriver/tests/page_source/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/page_source/source.py": [
    "f5e96dee33de36e3626c3e9bbfdd0014b27c305c",
    "wdspec"
   ],
+  "webdriver/tests/refresh/__init__.py": [
+   "da39a3ee5e6b4b0d3255bfef95601890afd80709",
+   "support"
+  ],
+  "webdriver/tests/refresh/refresh.py": [
+   "15f800f47dcc793325dbd920b8253648072503cd",
+   "wdspec"
+  ],
   "webdriver/tests/send_alert_text/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/send_alert_text/send.py": [
-   "743b0285cb404d5a2aafde268f9ba7e574760bd1",
+   "97c85c87bad0a09ec0ac97fb978e049e1b320283",
+   "wdspec"
+  ],
+  "webdriver/tests/set_timeouts/__init__.py": [
+   "da39a3ee5e6b4b0d3255bfef95601890afd80709",
+   "support"
+  ],
+  "webdriver/tests/set_timeouts/set.py": [
+   "335f9e4ae5c406a90bf6a4431fefb629496ad767",
    "wdspec"
   ],
   "webdriver/tests/set_window_rect/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/set_window_rect/set.py": [
    "79de443bc251f7effaa7c2ef3b95695f22db01c6",
@@ -617353,17 +617509,17 @@
    "5a31a3917a5157516c10951a3b3d5ffb43b992d9",
    "support"
   ],
   "webdriver/tests/support/asserts.py": [
    "1b839404daaca1d059cba98377edb91691ef7e82",
    "support"
   ],
   "webdriver/tests/support/fixtures.py": [
-   "126e82c42568c9ecb240e735a2b1361882ecd9ba",
+   "2c96ed59d70421875c31757bbfe1182860437bd9",
    "support"
   ],
   "webdriver/tests/support/http_request.py": [
    "cb40c781fea2280b98135522def5e6a116d7b946",
    "support"
   ],
   "webdriver/tests/support/inline.py": [
    "48399821b7abca50df824e37c41829d7a4573be1",
@@ -617372,22 +617528,38 @@
   "webdriver/tests/support/merge_dictionaries.py": [
    "84a6d3c6f8f4afded0f21264bbaeebec38a7f827",
    "support"
   ],
   "webdriver/tests/support/wait.py": [
    "511d4ba0ff21325b7503440b4111fac325139edc",
    "support"
   ],
+  "webdriver/tests/switch_to_frame/__init__.py": [
+   "da39a3ee5e6b4b0d3255bfef95601890afd80709",
+   "support"
+  ],
+  "webdriver/tests/switch_to_frame/switch.py": [
+   "90ab2a8b7bff127afd758b21210baa6b16b2d458",
+   "wdspec"
+  ],
   "webdriver/tests/switch_to_parent_frame/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/switch_to_parent_frame/switch.py": [
-   "c184952fc8a78f5edc7d573a9f8440b5eec334cc",
+   "df4dab8bd807672599d4b6191464ffdf5a9b7f44",
+   "wdspec"
+  ],
+  "webdriver/tests/switch_to_window/__init__.py": [
+   "da39a3ee5e6b4b0d3255bfef95601890afd80709",
+   "support"
+  ],
+  "webdriver/tests/switch_to_window/switch.py": [
+   "7bb4468fdaf3afb40669e581a3b277b5194c2ee0",
    "wdspec"
   ],
   "webgl/OWNERS": [
    "0df8e72f3ab70719aac73d3b06f043fac629939b",
    "support"
   ],
   "webgl/bufferSubData.html": [
    "526612470551a0eb157b310c587d50080087808d",
--- a/testing/web-platform/tests/webdriver/tests/accept_alert/accept.py
+++ b/testing/web-platform/tests/webdriver/tests/accept_alert/accept.py
@@ -2,17 +2,23 @@ from tests.support.asserts import assert
 from tests.support.inline import inline
 
 
 def accept_alert(session):
     return session.transport.send(
         "POST", "session/{session_id}/alert/accept".format(**vars(session)))
 
 
-# 18.2 Accept Alert
+def test_null_response_value(session, url):
+    session.url = inline("<script>window.alert('Hello');</script>")
+
+    response = accept_alert(session)
+    value = assert_success(response)
+    assert value is None
+
 
 def test_no_browsing_context(session, create_window):
     # 18.2 step 1
     session.window_handle = create_window()
     session.close()
 
     response = accept_alert(session)
     assert_error(response, "no such window")
--- a/testing/web-platform/tests/webdriver/tests/actions/key.py
+++ b/testing/web-platform/tests/webdriver/tests/actions/key.py
@@ -1,14 +1,22 @@
 import pytest
 
 from tests.actions.support.keys import Keys
 from tests.actions.support.refine import filter_dict, get_keys, get_events
 
 
+def test_null_response_value(session, key_chain):
+    value = key_chain.key_up("a").perform()
+    assert value is None
+
+    value = session.actions.release()
+    assert value is None
+
+
 def test_lone_keyup_sends_no_events(session, key_reporter, key_chain):
     key_chain.key_up("a").perform()
     assert len(get_keys(key_reporter)) == 0
     assert len(get_events(session)) == 0
     session.actions.release()
     assert len(get_keys(key_reporter)) == 0
     assert len(get_events(session)) == 0
 
--- a/testing/web-platform/tests/webdriver/tests/actions/mouse.py
+++ b/testing/web-platform/tests/webdriver/tests/actions/mouse.py
@@ -7,16 +7,24 @@ from tests.support.inline import inline
 from tests.support.wait import wait
 
 
 def link_doc(dest):
     content = "<a href=\"{}\" id=\"link\">destination</a>".format(dest)
     return inline(content)
 
 
+def test_null_response_value(session, mouse_chain):
+    value = mouse_chain.click().perform()
+    assert value is None
+
+    value = session.actions.release()
+    assert value is None
+
+
 def test_click_at_coordinates(session, test_actions_page, mouse_chain):
     div_point = {
         "x": 82,
         "y": 187,
     }
     mouse_chain \
         .pointer_move(div_point["x"], div_point["y"], duration=1000) \
         .click() \
--- a/testing/web-platform/tests/webdriver/tests/add_cookie/add.py
+++ b/testing/web-platform/tests/webdriver/tests/add_cookie/add.py
@@ -5,16 +5,30 @@ from tests.support.fixtures import clear
 
 
 def add_cookie(session, cookie):
     return session.transport.send(
         "POST", "session/{session_id}/cookie".format(**vars(session)),
         {"cookie": cookie})
 
 
+def test_null_response_value(session, url):
+    new_cookie = {
+        "name": "hello",
+        "value": "world",
+    }
+
+    session.url = url("/common/blank.html")
+    clear_all_cookies(session)
+
+    response = add_cookie(session, new_cookie)
+    value = assert_success(response)
+    assert value is None
+
+
 def test_add_domain_cookie(session, url, server_config):
     new_cookie = {
         "name": "hello",
         "value": "world",
         "domain": server_config["browser_host"],
         "path": "/",
         "httpOnly": False,
         "secure": False
new file mode 100644
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/webdriver/tests/back/back.py
@@ -0,0 +1,16 @@
+from tests.support.inline import inline
+from tests.support.asserts import assert_success
+
+
+def back(session):
+    return session.transport.send(
+        "POST", "session/{session_id}/back".format(**vars(session)))
+
+
+def test_null_response_value(session):
+    session.url = inline("<div>")
+    session.url = inline("<p>")
+
+    response = back(session)
+    value = assert_success(response)
+    assert value is None
new file mode 100644
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/webdriver/tests/delete_all_cookies/delete.py
@@ -0,0 +1,12 @@
+from tests.support.asserts import assert_success
+
+
+def delete_all_cookies(session):
+    return session.transport.send(
+        "DELETE", "/session/{session_id}/cookie".format(**vars(session)))
+
+
+def test_null_response_value(session, url):
+    response = delete_all_cookies(session)
+    value = assert_success(response)
+    assert value is None
--- a/testing/web-platform/tests/webdriver/tests/delete_cookie/delete.py
+++ b/testing/web-platform/tests/webdriver/tests/delete_cookie/delete.py
@@ -3,16 +3,22 @@ from tests.support.asserts import assert
 
 def delete_cookie(session, name):
     return session.transport.send(
         "DELETE", "/session/{session_id}/cookie/{name}".format(
             session_id=session.session_id,
             name=name))
 
 
+def test_null_response_value(session, url):
+    response = delete_cookie(session, "foo")
+    value = assert_success(response)
+    assert value is None
+
+
 def test_no_browsing_context(session, create_window):
     session.window_handle = create_window()
     session.close()
 
     response = delete_cookie(session, "foo")
     assert_error(response, "no such window")
 
 
--- a/testing/web-platform/tests/webdriver/tests/delete_session/delete.py
+++ b/testing/web-platform/tests/webdriver/tests/delete_session/delete.py
@@ -4,17 +4,23 @@ from webdriver import error
 from tests.support.asserts import assert_success
 from tests.support.inline import inline
 
 
 def delete_session(session):
     return session.transport.send("DELETE", "session/{session_id}".format(**vars(session)))
 
 
-def test_delete_session_with_dismissed_beforeunload_prompt(session):
+def test_null_response_value(session):
+    response = delete_session(session)
+    value = assert_success(response)
+    assert value is None
+
+
+def test_dismissed_beforeunload_prompt(session):
     session.url = inline("""
       <input type="text">
       <script>
         window.addEventListener("beforeunload", function (event) {
           event.preventDefault();
         });
       </script>
     """)
--- a/testing/web-platform/tests/webdriver/tests/dismiss_alert/dismiss.py
+++ b/testing/web-platform/tests/webdriver/tests/dismiss_alert/dismiss.py
@@ -2,17 +2,23 @@ from tests.support.asserts import assert
 from tests.support.inline import inline
 
 
 def dismiss_alert(session):
     return session.transport.send(
         "POST", "session/{session_id}/alert/dismiss".format(**vars(session)))
 
 
-# 18.1 Dismiss Alert
+def test_null_response_value(session, url):
+    session.url = inline("<script>window.alert('Hello');</script>")
+
+    response = dismiss_alert(session)
+    value = assert_success(response)
+    assert value is None
+
 
 def test_no_browsing_context(session, create_window):
     # 18.1 step 1
     session.window_handle = create_window()
     session.close()
 
     response = dismiss_alert(session)
     assert_error(response, "no such window")
--- a/testing/web-platform/tests/webdriver/tests/element_clear/clear.py
+++ b/testing/web-platform/tests/webdriver/tests/element_clear/clear.py
@@ -36,16 +36,25 @@ def get_events(session):
 
 @pytest.fixture(scope="session")
 def text_file(tmpdir_factory):
     fh = tmpdir_factory.mktemp("tmp").join("hello.txt")
     fh.write("hello")
     return fh
 
 
+def test_null_response_value(session):
+    session.url = inline("<input>")
+    element = session.find.css("input", all=False)
+
+    response = element_clear(session, element)
+    value = assert_success(response)
+    assert value is None
+
+
 def test_closed_context(session, create_window):
     new_window = create_window()
     session.window_handle = new_window
     session.url = inline("<input>")
     element = session.find.css("input", all=False)
     session.close()
 
     response = element_clear(session, element)
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/webdriver/tests/element_click/click.py
@@ -0,0 +1,18 @@
+from tests.support.asserts import assert_success
+from tests.support.inline import inline
+
+
+def element_click(session, element):
+    return session.transport.send(
+        "POST", "session/{session_id}/element/{element_id}/click".format(
+            session_id=session.session_id,
+            element_id=element.id))
+
+
+def test_null_response_value(session):
+    session.url = inline("<p>foo")
+    element = session.find.css("p", all=False)
+
+    response = element_click(session, element)
+    value = assert_success(response)
+    assert value is None
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/webdriver/tests/element_send_keys/send_keys.py
@@ -0,0 +1,19 @@
+from tests.support.asserts import assert_success
+from tests.support.inline import inline
+
+
+def element_send_keys(session, element, text):
+    return session.transport.send(
+        "POST", "/session/{session_id}/element/{element_id}/value".format(
+            session_id=session.session_id,
+            element_id=element.id),
+        {"text": text})
+
+
+def test_null_response_value(session):
+    session.url = inline("<input>")
+    element = session.find.css("input", all=False)
+
+    response = element_send_keys(session, element, "foo")
+    value = assert_success(response)
+    assert value is None
new file mode 100644
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/webdriver/tests/forward/forward.py
@@ -0,0 +1,17 @@
+from tests.support.inline import inline
+from tests.support.asserts import assert_success
+
+
+def forward(session):
+    return session.transport.send(
+        "POST", "session/{session_id}/forward".format(**vars(session)))
+
+
+def test_null_response_value(session):
+    session.url = inline("<div>")
+    session.url = inline("<p>")
+    session.back()
+
+    response = forward(session)
+    value = assert_success(response)
+    assert value is None
new file mode 100644
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/webdriver/tests/navigate_to/navigate.py
@@ -0,0 +1,14 @@
+from tests.support.inline import inline
+from tests.support.asserts import assert_success
+
+
+def navigate_to(session, url):
+    return session.transport.send(
+        "POST", "session/{session_id}/url".format(**vars(session)),
+        {"url": url})
+
+
+def test_null_response_value(session):
+    response = navigate_to(session, inline("<div/>"))
+    value = assert_success(response)
+    assert value is None
new file mode 100644
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/webdriver/tests/refresh/refresh.py
@@ -0,0 +1,15 @@
+from tests.support.inline import inline
+from tests.support.asserts import assert_success
+
+
+def refresh(session):
+    return session.transport.send(
+        "POST", "session/{session_id}/refresh".format(**vars(session)))
+
+
+def test_null_response_value(session):
+    session.url = inline("<div>")
+
+    response = refresh(session)
+    value = assert_success(response)
+    assert value is None
--- a/testing/web-platform/tests/webdriver/tests/send_alert_text/send.py
+++ b/testing/web-platform/tests/webdriver/tests/send_alert_text/send.py
@@ -1,76 +1,83 @@
 import pytest
 
 from tests.support.asserts import assert_error, assert_success
 from tests.support.inline import inline
 
 
-def send_alert_text(session, body=None):
+def send_alert_text(session, text=None):
     return session.transport.send(
         "POST", "session/{session_id}/alert/text".format(**vars(session)),
-        body)
+        {"text": text})
 
 
-# 18.4 Send Alert Text
+def test_null_response_value(session, url):
+    session.url = inline("<script>window.result = window.prompt('Enter Your Name: ', 'Name');</script>")
+
+    response = send_alert_text(session, "Federer")
+    value = assert_success(response)
+    assert value is None
+
 
 @pytest.mark.parametrize("text", [None, {}, [], 42, True])
 def test_invalid_input(session, text):
     # 18.4 step 2
     session.url = inline("<script>window.result = window.prompt('Enter Your Name: ', 'Name');</script>")
-    response = send_alert_text(session, {"text": text})
+    response = send_alert_text(session, text)
     assert_error(response, "invalid argument")
 
 
 def test_no_browsing_context(session, create_window):
     # 18.4 step 3
     session.window_handle = create_window()
     session.close()
-    body = {"text": "Federer"}
-    response = send_alert_text(session, body)
+
+    response = send_alert_text(session, "Federer")
     assert_error(response, "no such window")
 
 
 def test_no_user_prompt(session):
     # 18.4 step 4
-    body = {"text": "Federer"}
-    response = send_alert_text(session, body)
+    response = send_alert_text(session, "Federer")
     assert_error(response, "no such alert")
 
 
 def test_alert_element_not_interactable(session):
     # 18.4 step 5
     session.url = inline("<script>window.alert('Hello');</script>")
-    body = {"text": "Federer"}
-    response = send_alert_text(session, body)
+
+    response = send_alert_text(session, "Federer")
     assert_error(response, "element not interactable")
 
 
 def test_confirm_element_not_interactable(session):
     # 18.4 step 5
     session.url = inline("<script>window.confirm('Hello');</script>")
-    body = {"text": "Federer"}
-    response = send_alert_text(session, body)
+
+    response = send_alert_text(session, "Federer")
     assert_error(response, "element not interactable")
 
 
 def test_send_alert_text(session):
     # 18.4 step 6
     session.url = inline("<script>window.result = window.prompt('Enter Your Name: ', 'Name');</script>")
-    body = {"text": "Federer"}
-    send_response = send_alert_text(session, body)
+
+    send_response = send_alert_text(session, "Federer")
     assert_success(send_response)
+
     accept_response = session.transport.send("POST", "session/{session_id}/alert/accept"
                                              .format(session_id=session.session_id))
     assert_success(accept_response)
     assert session.execute_script("return window.result") == "Federer"
 
 
 def test_send_alert_text_with_whitespace(session):
     # 18.4 step 6
     session.url = inline("<script>window.result = window.prompt('Enter Your Name: ', 'Name');</script>")
-    body = {"text": " Fed erer "}
-    send_response = send_alert_text(session, body)
+
+    send_response = send_alert_text(session, " Fed erer ")
     assert_success(send_response)
+
     accept_response = session.transport.send("POST", "session/{session_id}/alert/accept"
                                              .format(session_id=session.session_id))
     assert_success(accept_response)
     assert session.execute_script("return window.result") == " Fed erer "
new file mode 100644
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/webdriver/tests/set_timeouts/set.py
@@ -0,0 +1,21 @@
+from tests.support.asserts import assert_success
+
+
+def set_timeouts(session, timeouts):
+    return session.transport.send(
+        "POST", "session/{session_id}/timeouts".format(**vars(session)),
+        timeouts)
+
+
+def test_null_response_value(session):
+    response = set_timeouts(session, {"implicit": 1000})
+    value = assert_success(response)
+    assert value is None
+
+    response = set_timeouts(session, {"pageLoad": 1000})
+    value = assert_success(response)
+    assert value is None
+
+    response = set_timeouts(session, {"script": 1000})
+    value = assert_success(response)
+    assert value is None
new file mode 100644
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/webdriver/tests/switch_to_frame/switch.py
@@ -0,0 +1,21 @@
+import webdriver.protocol as protocol
+
+from tests.support.asserts import assert_success
+from tests.support.inline import inline, iframe
+
+
+def switch_to_frame(session, frame):
+    return session.transport.send(
+        "POST", "session/{session_id}/frame".format(**vars(session)),
+        {"id": frame},
+        encoder=protocol.Encoder, decoder=protocol.Decoder,
+        session=session)
+
+
+def test_null_response_value(session):
+    session.url = inline(iframe("<p>foo"))
+    frame_element = session.find.css("iframe", all=False)
+
+    response = switch_to_frame(session, frame_element)
+    value = assert_success(response)
+    assert value is None
--- a/testing/web-platform/tests/webdriver/tests/switch_to_parent_frame/switch.py
+++ b/testing/web-platform/tests/webdriver/tests/switch_to_parent_frame/switch.py
@@ -5,16 +5,26 @@ from tests.support.asserts import assert
 from tests.support.inline import inline, iframe
 
 
 def switch_to_parent_frame(session):
     return session.transport.send(
         "POST", "session/{session_id}/frame/parent".format(**vars(session)))
 
 
+def test_null_response_value(session):
+    session.url = inline(iframe("<p>foo"))
+    frame_element = session.find.css("iframe", all=False)
+    session.switch_frame(frame_element)
+
+    response = switch_to_parent_frame(session)
+    value = assert_success(response)
+    assert value is None
+
+
 def test_stale_element_from_iframe(session):
     session.url = inline(iframe("<p>foo"))
     frame_element = session.find.css("iframe", all=False)
     session.switch_frame(frame_element)
     stale_element = session.find.css("p", all=False)
 
     result = switch_to_parent_frame(session)
     assert_success(result)
new file mode 100644
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/webdriver/tests/switch_to_window/switch.py
@@ -0,0 +1,15 @@
+from tests.support.asserts import assert_success
+
+
+def switch_to_window(session, handle):
+    return session.transport.send(
+        "POST", "session/{session_id}/window".format(**vars(session)),
+        {"handle": handle})
+
+
+def test_null_response_value(session, create_window):
+    new_handle = create_window()
+
+    response = switch_to_window(session, new_handle)
+    value = assert_success(response)
+    assert value is None