Валлаби с безголовым Chrome вылетает

Я разрабатываю приложение на основе Elixir и Phoenix, которое также использует приложение Wallaby для тестирования на основе HTTP в безголовом браузере Chrome.

Недавно я получаю довольно громоздкое сообщение об ошибке при выполнении моих тестов 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 с версией 1.8.0-1 от binaries.erlang-solutions.com. Wallaby привязан к {:wallaby, "~> 0.21.0"}.

Мы будем очень признательны за идеи о том, как это исправить.


person aef    schedule 23.01.2019    source источник
comment
v0.21.0, который является последней версией Wallaby, имеет другой код в chrome.ex:36. Начните с обновления Wallaby.   -  person Aleksei Matiushkin    schedule 23.01.2019
comment
К сожалению, я уже запускаю {:wallaby, "~> 0.21.0"}.   -  person aef    schedule 23.01.2019
comment
Ах, действительно, я неправильно прочитал код. Тогда единственным вариантом будет клонирование, отладка, исправление и предоставление PR. Или откатиться на Эликсир 1.7 :)   -  person Aleksei Matiushkin    schedule 23.01.2019
comment
Сейчас я понизил версию Эликсира и обнаружил, что ошибка все еще сохраняется в Эликсире 1.7.4. Так что это не проблема Эликсира 1.8, как предполагалось ранее.   -  person aef    schedule 23.01.2019


Ответы (1)


Проблема вызвана тем, что Wallaby 0.21.0 не может работать с версией ChromeDriver выше 2.x, но версии ChromeDriver выше 71.x уже существуют.

Это было исправлено с помощью этого запроса на включение, который был объединен с Wallaby master, но не вроде еще не выпустили.

person Lbrink    schedule 23.01.2019