无头小袋鼠 Chrome 崩溃

Wallaby with headless Chrome crashes

我正在开发基于 Elixir 和 Phoenix 的应用程序,该应用程序还使用 Wallaby 应用程序在无头 Chrome 浏览器中进行基于 HTTP 的测试。

最近我在执行 ExUnit 测试时收到一条相当笨拙的错误消息:

** (MatchError) no match of right hand side value:
    {:error, {:wallaby, {:bad_return, 
      {{Wallaby, :start, [:normal, []]},
      {:EXIT,
        {%Protocol.UndefinedError{description: "", protocol: Enumerable, value: nil},
        [{Enumerable, :impl_for!, 1, [file: '/root/deb/elixir_1.8.0-1/lib/elixir/lib/enum.ex', line: 1]},
         {Enumerable, :slice, 1, [file: '/root/deb/elixir_1.8.0-1/lib/elixir/lib/enum.ex', line: 193]},
         {Enum, :backwards_compatible_slice, 1, [file: 'lib/enum.ex', line: 2871]},
         {Enum, :slice_any, 3, [file: 'lib/enum.ex', line: 3075]},
         {Enum, :at, 3, [file: 'lib/enum.ex', line: 381]},
         {Wallaby.Experimental.Chrome, :validate, 0, [file: 'lib/wallaby/experimental/chrome.ex', line: 36]},
         {Wallaby, :start, 2, [file: 'lib/wallaby.ex', line: 27]},
         {:application_master, :start_it_old, 4, [file: 'application_master.erl', line: 277]}]}}}}}}

test/test_helper.exs:4: (file)
(elixir) lib/code.ex:767: Code.require_file/2
(elixir) lib/enum.ex:769: Enum."-each/2-lists^foreach/1-0-"/2
(elixir) lib/enum.ex:769: Enum.each/2

我是 运行 Debian GNU/Linux 9 "Stretch" 并将 Elixir 安装为 .deb 软件包,版本为 binaries.erlang-solutions.com 的 1.8.0-1。 Wallaby 已锁定 {:wallaby, "~> 0.21.0"}

非常感谢有关如何解决此问题的想法。

问题是因为 Wallaby 0.21.0 无法处理高于 2.x 的 ChromeDriver 版本,但 ChromeDriver 版本高达 71.x 已经存在。

这已被 this pull request 修复,已合并到 Wallaby master 但似乎尚未发布。