Dactyloidae/testing/marionette/harness/marionette_harness/tests/unit/test_browsermobproxy.py

34 lines
1.4 KiB
Python

import datetime
from marionette_harness.runner import BrowserMobTestCase
class TestBrowserMobProxy(BrowserMobTestCase):
"""To run this test, you'll need to download the browsermob-proxy from
http://bmp.lightbody.net/, and then pass the path to the startup
script (typically /path/to/browsermob-proxy-2.0.0/bin/browsermob-proxy)
as the --browsermob-script argument when running runtests.py.
You can additionally pass --browsermob-port to specify the port that
the proxy will run on; it defaults to 8080.
This test is NOT run in CI, as bmp and dependencies aren't available
there.
"""
def test_browsermob_proxy_limits(self):
"""This illustrates the use of download limits in the proxy,
and verifies that it's slower to load a page @100kbps
than it is to download the same page @1000kbps.
"""
proxy = self.create_browsermob_proxy()
proxy.limits({'downstream_kbps': 1000})
time1 = datetime.datetime.now()
self.marionette.navigate('http://forecast.weather.gov')
time2 = datetime.datetime.now()
proxy.limits({'downstream_kbps': 100})
time3 = datetime.datetime.now()
self.marionette.refresh()
time4 = datetime.datetime.now()
self.assertTrue(time4 - time3 > time2 - time1,
"page load @ 100kbps not slower than page load @ 1000kbps")