ここで少し助けた後、私は Geb を使用して機能的な Web テストを作成しており、イベントが発生する前後の両方でフォーム送信ボタンの無効な属性値をテストしたいと考えています。フローは次のようになります。
- ページの読み込み、送信ボタンはページソースで無効として宣言されているため、無効にする必要があります
<input type="submit" class="submit" disabled="true"/>
。 - ページのチェックボックスをオンにすると、JQuery コードが実行され、無効になっている送信ボタンがプログラムで有効になります。
$('input.submit').attr('disabled', false);
私の最初の試みは assertion を使用することでした$('input.submit').@disabled == 'true'
。これは、ページの読み込み後の最初のチェックでは機能するように見えましたが、JQuery コードを実行してボタンを有効にした後も、後続のチェックで同じ結果が返されます。これにより、この種のチェックはページの読み込み時にのみ値を報告でき、その後のプログラムによる変更は表示されないのではないかと思いました。
その後、Geb の jquery itegration を発見しました。これを使用して送信ボタンの値を返し、これに対してアサートを実行できることを望んでいました。たとえば$('input.submit').jquery.attr('disabled') == false
、Geb のドキュメントでは、.jquery
プロパティへのすべての呼び出しが Geb Navigator インスタンスを返すことが確認されているので、残念ながらそうではありません。必要な情報を返すことができるとは思いません。
また、JQuery コードが実際に送信ボタンを無効な状態に切り替えているかどうかも疑問でした。Firebug を使用してこれを広範囲にテストし、これがブラウザーで完全に機能していることを確認できたので、これは Geb の理解に問題があるか、またはおそらくGeb自体の制限ですか?
ページで何らかのアクションを実行した後に要素の属性の値をチェックするのは一般的なユースケースかもしれないと思います。これを整理するのに役立つポインタがあれば、最も感謝しています。
乾杯、
エド