如果测试的应用程序在80以外的端口上运行,则硒拒绝连接

时间:2018-07-05 15:57:26

标签: selenium

我正在使用硒服务器。它可以很好地测试端口80上运行的应用程序。

但是如果我测试运行在80以外的其他端口上的应用程序,例如5001,连接被拒绝。

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities;        
br = webdriver.Remote(command_executor="http://localhost:4444/wd/hub", desired_capabilities=DesiredCapabilities.CHROME)
br.get("http://127.0.0.1:5001/login/")
br.get_screenshot_as_file("/tmp/test.png")

我得到以下屏幕截图: enter image description here

如何在5001端口上进行测试?

编辑

我正在将Selenium服务器作为具有docker-compose的Docker容器运行:

version: '2'

services:
  selenium:
    image: selenium/standalone-chrome:latest
    ports:
      - 4444:4444

1 个答案:

答案 0 :(得分:0)

您正在Docker容器中运行Selenium。如果您尝试连接到localhost,则指向Docker容器本身。

您必须按照以下说明连接到主机:How to access host port from docker container

  

使用您的内部IP地址或连接到特殊的DNS名称host.docker.internal,它将解析为主机使用的内部IP地址。