我正在这样做:
zef install Selenium::WebDriver
我把它卡在了:
===> Searching for: Selenium::WebDriver
===> Testing: Selenium::WebDriver:ver('0.0.1')
Cannot obtain a session after 10 attempts
in submethod BUILD at /home/user123/.zef/store/perl6-selenium-webdriver.git/5e3ff320d2f392e44df1433f0544201c154f2590/lib/Selenium/WebDriver/Wire.pm6 (Selenium::WebDriver::Wire) line 66
in block <unit> at t/05-firefox.t line 45
# Looks like you planned 91 tests, but ran 1
JavaScript error: , line 0: NS_ERROR_FILE_NOT_FOUND: Component returned failure code: 0x80520012 (NS_ERROR_FILE_NOT_FOUND) [nsIAppStartup.trackStartupCrashEnd]
我的操作系统——arch linux——是最新的。
最佳答案
总结
对 Firefox 错误消息的一些看似简单的响应:
顶级错误消息是“尝试 10 次后无法获得 session ”。它由 line 66 生成包的 lib/Selenium/WebDriver/Wire.pm6 文件。在这种情况下,我认为该行没有多大帮助,但 imo 总是值得至少快速浏览一下与错误消息对应的源代码。
查看下一个级别,我们看到错误来自“t/05-firefox.t line 45”,即
my $driver = Selenium::WebDriver::Firefox.new;
.看起来它正在尝试连接到 Firefox 并失败。进一步查看该测试脚本可以看到它认为它在您的系统上找到了 Firefox(因为 unless which('firefox') { ... }
中的代码块显然没有触发)。错误信息最深处显示遇到“Javascript错误”,与
nsIAppStartup.trackStartupCrashEnd
有关.通常,问题特定于所涉及的软件版本。 Selenium::WebDriver 软件包版本显然是
0.0.1
但很高兴看到其他主要部分的版本信息,包括您的 Perl 6 编译器 (perl 6 -V
iirc)、安装程序 (zef -V
iirc),以及您的操作系统和 Firefox。在这种特殊情况下,我很确定问题不在于您的 Perl 6 编译器( Rakudo
),也不在于安装程序( zef
),但我可能是错的,我仍然建议您在使用时始终考虑包含大量的版本信息发布您的第一个问题版本。1 Selenium::WebDriver 包的测试套件按照 Perl 6 testing guidelines 工作一般来说,根据 the Testing section of the Selenium::WebDriver's repo README尤其。
2 您通常可以强制 Perl 安装程序继续,无论您是否知道错误对您的情况无关紧要。我认为是
-force-test
强制zef
在第一个错误和 -force-install
之后继续测试而不是停止完成安装,尽管出现错误。
关于selenium - 无法在 perl6 中安装 Selenium::WebDriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44517271/