我想为其中一个浏览器自动化库(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)