在Docker上使用Selenium Grid运行Browsermob



我正在使用python客户端进行browsermob来记录我的硒测试的流量。Selenium Grid位于带有Chrome和Firefox图像的Docker容器中。我似乎无法正确配置Docker图像以连接到代理和网格。这是我用来创建代理和远程Web驱动程序的代码:

server = browsermobproxy.Server('mylocalpathtobrowsermobbin')
server.start()
proxy = server.create_proxy()
proxy.new_har()
driver = webdriver.Remote(
                command_executor='http://127.0.0.1:4444/wd/hub',
                desired_capabilities={
                    'browserName': 'chrome',
                    'chromeOptions': {
                        'args': ["--proxy-server={}".format(proxy.proxy)]}
                    })

这是我的docker-compose文件:

中心:  图片:硒/轮毂  端口:      - " 4444:4444"铬合金:  图片:硒/节点 - 铬调味蛋白  卷:     -/dev/shm:/dev/shm  链接:    - 中心  端口:     - " 5900:5900" 

我是Docker的新手,我知道我需要揭露代理使用用于连接的端口,但我无法正常工作。感谢任何帮助,谢谢!

根据Sergey的回答回答我自己的问题:我将browsermob-Proxy图像推到了Docker Hub:https://hub.docker.com/r/spothero/browsermob-proxy/

从此存储库中创建的:https://github.com/sskorol/docker-browsermob-proxy

所有信用for to docker文件的Sergey。

我的Docker组成文件:

中心:  图片:硒/轮毂  端口:      - " 4444:4444"Firefox:  图片:硒/节点 - 传火  链接:    -  中心铬合金:  图片:硒/节点 - 铬调味蛋白  卷:     -/dev/shm:/dev/shm  链接:    - 中心  端口:     - " 5900:5900"Browsermobproxy:  图片:Spothero/Browsermob-Proxy:1.0.0  端口:     - " 9090-9191:9090-9191"  暴露:     - " 9090-9191"  链接:    - 中心     -  Firefox    - 铬合金

在詹金斯(Jenkins)作业中,我有一个壳步骤:

#!/bin/bashDocker-compose -D- force-recreate睡眠10proxy_ip_address =" $(Docker Inspect -Format {.networkSettings.ipAddress}} browsermobproxy_1)"导出browsermob_container_host = $ proxy_ip_address

我使用环境变量将主机传递给我的测试代码。这是使用代理初始化WebDriver的代码:


    import browsermobproxy
    self.client = browsermobproxy.Client('localhost:9090')
    self.driver = webdriver.Remote(
        command_executor=settings.SELENIUM_GRID_HUB,
        desired_capabilities={
            'browserName': 'chrome',
            'chromeOptions': {
                'args': ["--proxy-server={}".format(
                    os.environ.get('BROWSERMOB_CONTAINER_HOST'), self.client.port)]
            }
        })

希望这会有所帮助!

您也必须在容器中提高BMP。然后将其与网格链接。检查本文以获取想法和密钥实现/配置点。

相关内容

  • 没有找到相关文章

最新更新