как сделать так, чтобы phantomjs gem не игнорировал проверки браузера при тестировании - PullRequest
0 голосов
/ 02 ноября 2019

Я использую phantomjs gem для запуска своих тестов функций.

Но когда я прошу test оставить пустые обязательные поля, а затем нажать кнопку Submit - по какой-то причине он запускается в контроллер.

Конечно, когда я делаю это вручную в браузере - я получаю «поле не может быть пустым» без запроса к серверу.

Как я могу это исправить и заставить фантомные js уважать валидаторы клиента?

    ActiveRecord::RecordInvalid:
       Validation failed: Email can't be blank, Password can't be blank, First name can't be blank, Last name can't be blank, Phone number can't be blank, Access parameter should be an admin for first company employee
     # ./app/controllers/employees/registrations_controller.rb:25:in `create'

1 Ответ

1 голос
/ 02 ноября 2019

PhantomJS не обновлялся годами и в настоящее время эквивалентен 8-летней версии Safari. Это означает, что, скорее всего, он не поддерживает проверку формы HTML и многие другие технологии JS / CSS, используемые современными сайтами / приложениями. Вам нужно перейти к использованию селена с Chrome без головы или одного из драйверов к Chrome через драйверы CDP (https://github.com/twalpole/apparition и т. Д.) Для тестирования

...