has_selector?为其内置的谓词方法提供了出色的错误消息: has_selector? , has_text? , has_title? 等等,但是当在Page Objects中使用那些对象,同时从PageObjects本身公开谓词方法时,错误消息将丢失,并且我们得到的所有信息都应该为expected true, got false则为expected true, got false 。 包括该模块到您的PageObject加入include CapybaraErrorIntel::DSL后, include Capybara::DSL将返回启发式错误消息。 例子 转这个: 变成这