Ich verwende den Python-Client für Browsermob, um den Datenverkehr meiner Selentests aufzuzeichnen. Selen Grid ist in einem Docker Container mit Bildern für Chrom und Firefox. Ich kann scheinen, die Docker-Bilder richtig zu konfigurieren, um sich mit dem Proxy und dem Raster zu verbinden. Hier ist der Code, den ich verwende den Proxy und die Remote-Web-Treiber zu erstellen:Browsermob mit Selenraster am Andockfenster ausführen
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)]}
})
Und das ist meine Docker-Compose-Datei:
hub: image: selenium/hub ports: - "4444:4444" chrome: image: selenium/node-chrome-debug volumes: - /dev/shm:/dev/shm links: - hub ports: - "5900:5900"
Ich bin neu in Andockfenster, ich verstehe, dass Ich muss den Port offen legen, den der Proxy verwendet, um eine Verbindung herzustellen, aber ich kann es nicht funktionieren. Jede Hilfe wird geschätzt, danke!
wo läuft der Code? –
Jetzt läuft es lokal, sowohl die Test-und die Docker Bilder, schließlich wird es auf jenkins CI laufen, das ist ziemlich das gleiche Setup wie meine lokale Maschine. – eduardoreynoso