1

我想为其中一个浏览器自动化库(Capybara)编写几种方法,以使使用它的人们的生活更轻松。

特别是我想添加两种方法:

  • 期望用户操作打开窗口的一种。API 用户应该能够知道打开了哪个窗口

    window_handle = window_opened_by(wait: 3) { find('#open-window').click }
    
  • 另一个期望用户操作关闭窗口

    expect { find('#close-window').click }.to close_this_window(wait: 3) # clicking element with id 'close-window' should close window in no more than 3 seconds
    

但我希望这些方法彼此更相似。有没有可能让它们更相似?例如,是否可以让 RSpec 匹配器返回 window_handle?

window_handle = expect { find('#open-window').click }.to open_window(wait: 3)
4

0 回答 0