LocatorBuilder 関数を定義し、それを LocatorBuilders 配列の最初の要素として挿入しました。それはうまく機能しています。ただし、関数の先頭に alert() を追加すると、記録されたユーザーのクリックごとに関数が 2 回呼び出されていることがわかります。具体的には、記録をオンにしてページ上のボタンをクリックすると、一連のイベントは次のようになります。1) 関数が呼び出され、2) 作成したロケーター式を使用してクリックが記録され、3) ブラウザーがクリックを処理します。 、 4) 関数が再度呼び出されます。
注 - これはどこにも文書化されていませんが、基本的に、レコーダーは LocatorBuilders リスト内の各関数を呼び出し、ページ上の 1 つの要素と正確に一致する null 以外の式を取得するまで、候補のロケーター式を返します。 .
したがって、私の関数は期待どおりに機能しますが、余分な関数呼び出しは冗長に見えます。式ビルダー関数を複数回呼び出す必要がある正当な理由はありますか? たとえば、件名の HTML 要素が呼び出し間で変わる可能性はありますか? 私の関数への連続した呼び出しの間にレコーダーは何をしていますか?
編集:DOH!関数を LocatorBuilders.order リストに 2 回追加していることに気付きました。したがって、私の関数は 2 回しか呼び出されません。それでも、なぜ複数の呼び出しが必要なのですか?