1

ブラウザ自動化ライブラリの 1 つ (Capybara) を使用する人々の生活を楽にするために、いくつかのメソッドを書きたいと思います。

特に、2 つのメソッドを追加したいと思います。

  • ユーザーアクションがウィンドウを開くことを期待するもの。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