Capybara 测试中的页面变量是什么?

What is the page variable in Capybara tests?

使用水豚时,调用page.find('#name')find('#name')有什么区别。

是否是同一件事,正如此答案所述

我只是在寻找更多解释以及何时需要在断言之外使用 page

如源代码中所述:

# Shortcut to accessing the current session.
# @return [Capybara::Session] The current session object

def page
  Capybara.current_session
end

当您执行 find('#name') 时,将调用当前会话的 find 方法。所以调用page.find('#name')find('#name')没有区别。
我想创建此快捷方式只是为了使断言代码直观易懂:

expect(page).to have_css(#name)

看起来比

好看
expect(Capybara.current_session).to have_css(#name)