gpt4 book ai didi

selenium-webdriver - 试图从 Selenium docker 内部访问 localhost

转载 作者:IT老高 更新时间:2023-10-28 21:26:18 26 4
gpt4 key购买 nike

我正在尝试使用 Selenium docker 运行我的测试,我有一个在 9000 端口上运行的本地 grunt 服务器,我启动了以下 selenium docker:

docker run  -d -p 4444:4444 -p 5900:5900 selenium/standalone-chrome-debug

然后我启动了我的测试(使用 Capybara)并打开 VNC 来观看测试,但我得到的只是 chrome messgae “无法访问此站点”。

cabybara.rb:

isWindows = (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil

require 'capybara/rspec'
require 'capybara'
require 'capybara/dsl'
require_relative 'sinatra_proxy'
require 'selenium/webdriver'
require 'selenium/webdriver/remote/http/curb' if !isWindows

Capybara.register_driver :selenium_chrome do |app|
http_client = isWindows ? nil : Selenium::WebDriver::Remote::Http::Curb.new
options = {
http_client: http_client,
browser: :chrome,
# service_log_path: 'chromedriver.out', # Enable Selenium logs
switches: ["--disable-web-security", '--user-agent="Chrome under Selenium for Capybara"']
}
options[:url] = "http://172.17.0.2:4444/wd/hub"
Capybara::Selenium::Driver.new app, options

end

Capybara.default_driver = :selenium_chrome
Capybara.app = SinatraProxy.new
Capybara.app_host = "http://127.0.0.1:9000"
Capybara.server_host = '0.0.0.0'

ip addr 显示 docker0

ip addr show docker0                                                                  
6: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:22:ec:65:9e:f1 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe40::42:ecdd:fe73:9ef4/64 scope link
valid_lft forever preferred_lft forever

需要是docker主机的IP,使用:

ip route show | grep docker0 | awk '{print $9}' 

对于 Capybara.app_host (DOCKER_HOST_IP:PORT) 和 Capybara.server_host (DOCKER_HOST_IP)

最佳答案

用途:

Capybara.app_host = "http://yourhostip:9000" 

不是本地主机。对于 docker 容器 localhost 就是它本身。

另外我建议不要通过其内部 ip 调用 docker,只需使用:

options[:url] = "http://localhost:4444/wd/hub"

但先解决前一个问题

问候

关于selenium-webdriver - 试图从 Selenium docker 内部访问 localhost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40203187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com