如何使phantomjs gem在测试时不忽略浏览器验证

时间:2019-11-01 23:25:02

标签: capybara rspec-rails

我使用phantomjs gem运行功能测试。

但是当我要求测试留空必填字段,然后按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 个答案:

答案 0 :(得分:1)

PhantomJS多年未更新,目前相当于Safari已有8年的历史了。这意味着它很可能不支持HTML表单验证以及现代网站/应用使用的许多其他JS / CSS技术。您需要转而使用硒和无头Chrome或通过CDP(https://github.com/twalpole/apparition等驱动程序直接镀铬)之一进行测试

相关问题