在Rails 5.2中,如何配置系统测试以使用硒远程服务器?

时间:2018-09-28 13:13:29

标签: ruby-on-rails selenium windows-subsystem-for-linux system-testing

我当前的开发设置是将Windows 10与WSL(适用于Linux的Windows子系统)和Rails 5.2应用程序配合使用。我已经尝试了几天才能执行系统测试,并且我相信我发现使用WSL做到这一点的唯一方法是使用在Windows 10上运行的远程服务器。我遵循了本指南{{ 3}},但是我仍然无法使其正常工作。我猜测我的application_system_test_case.rb文件不正确,正在寻找某人来帮助我进行更正。

当前,当尝试运行系统测试时,出现以下错误。

错误:

daveomcd@mcdonald-PC9020:~/rails_projects/haystack_scout$ rails test test/system/users_test.rb
Running via Spring preloader in process 960
/home/daveomcd/.rvm/gems/ruby-2.5.1/gems/spring-2.0.2/lib/spring/application.rb:185: warning: Insecure world writable dir /home/daveomcd/.rvm/rubies/ruby-2.5.1 in PATH, mode 040777
Run options: --seed 10702

# Running:

E

Error:
UsersTest#test_visiting_the_index:
ArgumentError: unknown driver: :selenium_remote_chrome
    test/system/users_test.rb:8:in `block in <class:UsersTest>'

Error:
UsersTest#test_visiting_the_index:
ArgumentError: unknown driver: :selenium_remote_chrome



bin/rails test test/system/users_test.rb:7



Finished in 0.134354s, 7.4430 runs/s, 0.0000 assertions/s.
1 runs, 0 assertions, 0 failures, 1 errors, 0 skips

1 个答案:

答案 0 :(得分:0)

因此,我发现我可以使用带有headless_chrome的WSL在Windows 10中运行系统测试。但是,要使chromedriverselenium-webdriver的版本能够很好地协同工作是很费力的。

我当前正在使用chromedriver 2.40,只需运行chromedriver-update "2.40"。 根据这个Github问题link,我还在gemfile中使用了以下内容。 gem 'selenium-webdriver', git: 'https://github.com/SeleniumHQ/selenium.git', ref: '36e4f3e25e1a1a00335a24e3c918d74bb370a1e7'

根据问题页面,似乎他们也可以在几天后尝试提高修复水平。