def setup_method(self, method):
     from browsermobproxy.client import Client
     self.client = Client("localhost:9090")
     chrome_binary = environ.get("CHROME_BIN", None)
     self.desired_caps = selenium.webdriver.common.desired_capabilities.DesiredCapabilities.CHROME
     if chrome_binary is not None:
         self.desired_caps.update({
             "chromeOptions": {
                 "binary": chrome_binary,
                 "args": ['no-sandbox']
             }
         })
     self.driver = webdriver.Remote(desired_capabilities=self.desired_caps,
                                    proxy=self.client)
import time

# import the Selenium library to automate the web browser
from selenium import webdriver

# import the Selene library to help simplify browser automation
# Selene uses the Selenium library
from selene.api import browser, s, ss, be, have, by

# load libraries to communicate with the browsermob proxy
from browsermobproxy.client import Client

# set the url of the server under test
url = 'https://espn.com'

bmp_client = Client("bmp:18080")

# setup the proxy limits
bmp_client.limits({
    "downstream_kbps": 0,
    "upstream_kbps": 0,
    "latency": 0,
})

# start capturing HAR data
bmp_client.new_har(options={"captureHeaders": True, "captureContent": True})
bmp_client.new_page(ref="slow_internet")

# update the browser settings
capabilities = webdriver.DesiredCapabilities.FIREFOX.copy()
capabilities["acceptInsecureCerts"] = True
 def setup_method(self, method):
     from browsermobproxy.client import Client
     self.client = Client("localhost:9090")