使用Rails 6,我尝试在headless模式下设置selenium以进行系统测试,我在application_system_test_case.db中使用了以下语句:
driven_by :selenium, using: :headless_chrome, screen_size: [1400, 1400]
(根据敏捷Web开发Rails 6教程)
但它给了我一个反对的警告:Selenium [DEPRECATION] [:browser_options] :options as a parameter for driver initialization is deprecated. Use :capabilities with an Array of value capabilities/options if necessary instead.
我已经在Selenium文档中做了一些搜索,但是我的基本代码技能仍然让我不清楚应该如何更正这个问题。有人能告诉我如何更正这个问题吗?
(My业余的猜测试验,比如:
driven_by :selenium, :capabilities['headless_chrome', 'screen_size: 1400, 1400']
全部导致错误)
5条答案
按热度按时间h7wcgrx31#
新警告的更新版本,包含选项而非功能
mhd8tkvw2#
在Selenium 4中,
options
必须在数组capabilities
中传递:gwo2fgha3#
我已经偶然发现过这个线程几次了。困扰我的不仅仅是那些弃用的消息,还有启动测试套件时的puma服务器日志。我最终修复了弃用警告并关闭了puma日志。以下是我当前的设置:
因此,您可以启动测试,例如,使用:
az31mfrm4#
禁止显示警告
一线修复:
此处建议
或
(很可能)任何版本的Capybara〉3.36.0
编辑:@silvia96已经是3.38.0了,仍然收到警告
这是一个相当令人困惑的bug,因为如果你看一下Capybara的驱动程序注册,你会发现它已经知道using capabilities。The actual bug是因为Gem版本测试被设置为
~
而不是>=
。修复是主要的,3.36.0之后的任何版本的Capybara都可能修复它。gz5pxeao5#
结合其他人的有用解决方案,我的是这样的:删除彪马日志,制作Headless Chromium ,忽略浏览器选项错误: