|
@@ -193,15 +193,24 @@ class SeleniumTestCase(LiveServerTestCase, metaclass=SeleniumTestCaseBase):
|
|
|
finally:
|
|
|
self.selenium.execute_script("localStorage.removeItem('theme');")
|
|
|
|
|
|
- def set_emulated_media(self, features, media=""):
|
|
|
+ def set_emulated_media(self, *, media=None, features=None):
|
|
|
if self.browser not in {"chrome", "edge"}:
|
|
|
self.skipTest(
|
|
|
"Emulation.setEmulatedMedia is only supported on Chromium and "
|
|
|
"Chrome-based browsers. See https://chromedevtools.github.io/devtools-"
|
|
|
"protocol/1-3/Emulation/#method-setEmulatedMedia for more details."
|
|
|
)
|
|
|
- self.selenium.execute_cdp_cmd(
|
|
|
- "Emulation.setEmulatedMedia", {"media": media, "features": features}
|
|
|
+ params = {}
|
|
|
+ if media is not None:
|
|
|
+ params["media"] = media
|
|
|
+ if features is not None:
|
|
|
+ params["features"] = features
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ self.selenium.execute(
|
|
|
+ driver_command="executeCdpCommand",
|
|
|
+ params={"cmd": "Emulation.setEmulatedMedia", "params": params},
|
|
|
)
|
|
|
|
|
|
@contextmanager
|