summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2018-11-08 17:12:16 +0100
committerLars-Dominik Braun <lars@6xq.net>2018-11-08 17:12:16 +0100
commit000c8d1f471320dfee050159cb503f74163e9d71 (patch)
treeafbbe99158fb8eff60285ff6cdbbd94bbebebe2e
parentaeab124ac9f1e3e88f6a8ae246c90b8094e94223 (diff)
downloadcrocoite-000c8d1f471320dfee050159cb503f74163e9d71.tar.gz
crocoite-000c8d1f471320dfee050159cb503f74163e9d71.tar.bz2
crocoite-000c8d1f471320dfee050159cb503f74163e9d71.zip
devtools: Disable websocket pings to Chrome
Chrome does not like that.
-rw-r--r--crocoite/devtools.py3
-rw-r--r--crocoite/test_devtools.py10
2 files changed, 12 insertions, 1 deletions
diff --git a/crocoite/devtools.py b/crocoite/devtools.py
index d62a8a1..6e97ca3 100644
--- a/crocoite/devtools.py
+++ b/crocoite/devtools.py
@@ -245,8 +245,9 @@ class Tab:
# increase size limit of a single frame to something ridiciously high,
# so we can safely grab screenshots
maxSize = 100*1024*1024 # 100 MB
+ # chrome does not like pings and kills the connection, disable them
ws = await websockets.connect(kwargs['webSocketDebuggerUrl'],
- max_size=maxSize)
+ max_size=maxSize, ping_interval=None)
ret = cls (kwargs['id'], ws)
await ret.run ()
return ret
diff --git a/crocoite/test_devtools.py b/crocoite/test_devtools.py
index a6eeda2..4ffbbf8 100644
--- a/crocoite/test_devtools.py
+++ b/crocoite/test_devtools.py
@@ -151,3 +151,13 @@ def test_tab_function_hash (tab):
d = {tab.Network.enable: 1, tab.Network.disable: 2, tab.Page: 3, tab.Page.enable: 4}
assert len (d) == 4
+@pytest.mark.asyncio
+async def test_ws_ping(tab):
+ """
+ Chrome does not like websocket pings and closes the connection if it
+ receives one. Not sure why.
+ """
+ with pytest.raises (Crashed):
+ await tab.ws.ping ()
+ await tab.Browser.getVersion ()
+