【发布时间】:2017-04-15 20:40:48
【问题描述】:
我正在尝试在 Ubuntu 14.04 上使用 Chrome 无头运行我的 Cucumber 测试(EC2 实例,因此没有 GUI)。到目前为止,我的设置允许这样做,如下面的屏幕截图所示:
当我进入带有闪光灯的页面时遇到问题:
我已经重启了 EC2 实例并杀死了所有的 chrome 进程,仍然没有任何乐趣。
为了澄清,测试将开始,chrome 打开带有 flash 的页面,我收到此消息。如果我然后结束测试并重新开始,我会遇到同样的问题。我猜这实际上并没有重新启动 chrome,因为它每次都是一个新实例?
所以为了运行这些测试,我使用headless gem here 作为xvfb 的接口。
我有Google Chrome 57.0.2987.133 并已将libflashplayer.so 添加到/opt/google/chrome/plugins使用此https://askubuntu.com/questions/14629/how-do-i-enable-the-partner-repository
我尝试过的一些额外内容包括:
sudo apt-get install pepperflashplugin-nonfree
sudo update-pepperflashplugin-nonfree --install
有没有办法让它工作,以便我可以渲染基于 Flash 的网站?每次打开 chrome 时都需要启用 flash 插件吗?我希望我错过了一些明显的东西。
更新
我在创建 Chrome 配置文件时尝试设置 pepperflashpluginpath,但这仍然不起作用:
Capybara.register_driver :chrome do |app|
chrome_binary = '/usr/bin/google-chrome'
Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => { "binary" => chrome_binary, "args" => ["--ppapi-flash-path=/usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so"] })
Capybara::Selenium::Driver.new(app, :browser => :chrome, :desired_capabilities => capabilities)
end
谢谢
【问题讨论】:
-
不清楚...所以当您重新启动 Chrome 时(如图 2 所示),Flash 内容会显示吗?我的意思是你真正的问题是(a)重新启动永远不会工作因为“我已经重新启动......仍然没有快乐” ..或者是......(b)如何始终自动启用,因为“我每次打开 Chrome 时都需要启用 flash 插件吗?”.
-
为他的困惑道歉。我已经对这个问题进行了一些澄清,但我回答了你的问题插件存在但未启用它。希望这是有道理的
-
我认为您需要打开 chrome(手动)并转到该站点并选择始终允许此页面上的 chrome。然后关闭 chrome 并运行您的脚本。我很确定它在您的测试运行时使用默认的 chrome 配置文件,因此通过手动允许您自己更新配置文件,以便您的测试正常工作。
-
我无法打开 chrome,因为它都是通过命令行完成的,但是我在几个小时前解决了这个问题,稍后会发布我的答案,以便其他人受益
-
@Atlas1j 我刚刚发布了我的答案,希望对您有所帮助
标签: google-chrome ubuntu flash cucumber headless