ruby - 失败/错误:红宝石中的 $driver.navigate.to ENV['URL']
问题描述
在终端中以 headless = true 运行测试用例。我收到以下错误消息。
请在下面找到详细信息:
我正在使用 chromedriver 版本 86 和 chrome 浏览器版本 86,并且在 .env 文件中也已更新。另外,我在 Windows 中使用 Ubuntu 运行脚本。
解决方案
该错误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
使用主机名,或使用curl
或wget
进行快速检查)。
推荐阅读
- phabricator - 如何使用“project.edit”Conduit API 调用创建新项目
- powershell - PowerShell退出整个脚本而不仅仅是Invoke-Command
- camera - 尝试使用带有 Coral edgeTPU 开发板的 Coral 相机拍照,但速度真的很慢
- angular - 错误 TS2416 类型'可观察的
' 不可分配给类型 'Observable ' - angular - 使用 Angular 数据表未显示
- java - Java 8:如何使用设备设置的区域设置解析 DayOfWeek
- node.js - 使用“npm install”的漏洞问题
- laravel - 如何在 vue.js/laravel 组件中动态使用路径/urls/routes
- ios - iOS chromecast sdk 4.4.4 音量问题
- python - 使用替换方法将日期 YYYYMMDD 替换为 YYYY-MM-DD 的正确方法