BrowserMob Proxy,Selenium。页面无法加载

时间:2013-10-09 03:46:34

标签: python selenium proxy

现在我正在进行python测试。我正在使用BrowserMob Proxy和Selenium来捕获HTTP 请求。

robot_globals = {'proxy': None, 'selenium': None}

def robot_setup():
    server = Server(settings.BROWSERMOB_PROXY_PATH, options={'port':     settings.BROWSERMOB_PROXY_PORT})
    server.start()
    proxy = server.create_proxy()
    proxy.selenium_proxy()
    if settings.BROWSER_TO_TEST == 'FIREFOX':
        from selenium.webdriver.firefox.webdriver import WebDriver

        selenium = WebDriver(proxy=proxy, timeout=10)
    elif settings.BROWSER_TO_TEST == 'CHROME':
        from selenium.webdriver.chrome.webdriver import WebDriver
        from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

        capabilities = DesiredCapabilities.CHROME
        proxy.add_to_capabilities(capabilities)
        selenium = WebDriver(executable_path=settings.CHROME_DRIVER_PATH,
                         desired_capabilities=capabilities,
                         service_log_path=settings.DRIVER_LOG_PATH)
    selenium.maximize_window()
    return (selenium, proxy)

class BaseGATestCase(unittest.TestCase):
    def setUp(self):
        self.proxy = robot_globals['proxy']
        self.selenium = robot_globals['selenium']
....

class TestHomePage(BaseGATestCase):
    def test_01_homepage_utme_vars(self):
        self.proxy.new_har('home_page')
        self.selenium.get('%s%s' % (settings.SERVER_URL_TO_TEST, '/'))

此代码通常可以正常工作。但是一个月或两个月系统启动浏览器 但不加载其中的网址。浏览器只是等待,但页面根本没有加载。

但是浏览器可以在没有self.proxy.new_har(' ..')的情况下加载页面。代码喜欢这个:

class TestHomePage(BaseGATestCase):
    def test_01_homepage_utme_vars(self):
        self.selenium.get('%s%s' % (settings.SERVER_URL_TO_TEST, '/'))

的server.log:

INFO 10/09 03:09:18 n.l.b.p.j.h.HttpSer~ - Version Jetty/5.1.x
INFO 10/09 03:09:18 n.l.b.p.j.u.Contain~ - Started HttpContext[/,/]
INFO 10/09 03:09:18 n.l.b.p.j.h.SocketL~ - Started SocketListener on 0.0.0.0:9159
INFO 10/09 03:09:18 n.l.b.p.j.u.Contain~ - Started    net.lightbody.bmp.proxy.jetty.jetty.Server@6a1192e9
INFO 10/09 03:10:25 n.l.b.p.j.u.Threade~ - Stopping Acceptor ServerSocket[addr=0.0.0.0/0.0.0.0,localport=9154]

这对我来说真的很奇怪,因为上次我无法解决这个问题,但第二天就已经修好了。我不懂为什么。现在我遇到了同样的问题。如果有人知道如何解决这个问题会很棒。谢谢!

0 个答案:

没有答案