【问题标题】:Failure/Error: $driver.navigate.to ENV['URL'] in ruby失败/错误:红宝石中的 $driver.navigate.to ENV['URL']
【发布时间】:2021-06-14 20:42:59
【问题描述】:

在终端中运行测试用例时,headless = true。我收到以下错误消息。

Error message

请在下面找到详细信息:

我正在使用 chromedriver 版本 86 和 chrome 浏览器版本 86,并且在 .env 文件中也已更新。 另外,我正在 Windows 中使用 Ubuntu 运行脚本。

【问题讨论】:

    标签: ruby selenium environment-variables


    【解决方案1】:

    错误ERR_NAME_NOT_RESOLVED 表示无法将 URL 解析为 IP 地址。最有可能的是,ENV['URL'] 没有返回有效的 URL,主机名中存在拼写错误,或者它引用了脚本的 DNS 无法解析的私有主机。考虑临时添加一些调试信息,比如

    url = ENV['URL']
    STDERR.puts "Navigating to [#{url}]"
    $driver.navigate.to url
    

    或使用Pry 暂停您的代码,并检查以确保一切如您所愿:

    require 'pry'; binding.pry
    $driver.navigate.to ENV['URL']
    

    在 Pry shell 中,您可以查看 ENV['URL'] 的计算结果,还可以手动驱动 $driver 以查看它是否按预期工作。

    如果 URL 实际上看起来是正确的,那么问题可能与私有主机和 DNS 问题有关。确保您可以在同一台服务器上通过其他方式导航到该 url(如果是服务器,请考虑尝试ping 主机名,或使用curlwget 进行快速检查)。

    【讨论】:

    • 是的,我可以使用 wget 导航到 URL。另外,我现在收到超时错误,如下所述。失败/错误:$wait.until { $driver.current_url == ENV['URL'] + '/projects' } Selenium::WebDriver::Error::TimeoutError: timed out after 10 seconds 我在 Windows 中使用 ubuntu shell运行 ruby​​ 脚本。
    猜你喜欢
    • 1970-01-01
    • 2011-04-15
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多