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")