問題タブ [page-object-gem]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - PageObject コレクション
title
次の構文を使用して、属性に基づいてリンクのコレクションを形成しています
スニペット - 1
次に、各リンク (コレクションには 2 つある) をクリックして、ポップアップするウィンドウから情報を取得しようとします。
スニペット - 2
これは最初のリンクでは問題なく実行されますが、ステートメントElement is no longer valid (Selenium::WebDriver::Error::StaleElementReferenceError)
での 2 回目の反復ではエラーがスローされます!! one_link.click
その時はこうしてみました
上記のスニペットは正常に動作します!! 最初のスニペットがそのエラーをスローする理由がわかりません!! 最初のスニペットが機能している理由を明らかにできる体はありますか?!
アップデート
私がそれを理解していることを確認するために、次のテストページをコーディングしました
その上で次のルビーコードを実行しました
出来た!!スニペット 1 とまったく同じ方法だと思います。2 つのページの動作が異なるのはなぜですか?!!
watir-webdriver - 動的な src と NO id を持つフレーム内の要素を選択する
iFrame 内のドロップダウンで値を選択しようとしています。フレームには ID は含まれていませんが、動的な src があります。
HTML:
. . .
番号 244029 が変更されたため、フレーム内のオブジェクトを識別できません。iframe は div の子です。
私のコードは
終わり
watir-webdriver - indexed_property 内のチェックボックスをチェックする方法
同様のプロパティを持つ一連の選択リスト、チェックボックスがあります。私はそれらをindexed_propertyの下に持っています。問題なく select_list から値を選択できました。ただし、check_myindexpropitem.mycheckbox を使用すると、エラーが発生します。
check_myindexpropitem.mycheckbox_element.enabled に対して true が返されますか?
ページ オブジェクト コード:
脚本:
watir-webdriver - text_field をクリックするとポップアップが開くため、text_field を処理する際の問題
スクリプトがフィールドに何かを入力しようとすると、ポップアップがスローされるため、text_field にテキストを入力する際に問題があります。手動で入力すると、ポップアップはスローされません。テキストフィールドのhtmlは以下の通りです。
私のコード=
私の推測では、スクリプトがテキスト フィールドをクリアしようとしており、それがポップアップの起動をトリガーしていると思われます。
私も試しました
text_field(:percentage ,:id=>'txtperc')
text_field に設定/入力する別の方法はありますか?
ruby - pageobject - すべての要素の when_visible
cucumber
との組み合わせを使用してpageobject
、Web アプリケーションをテストしています。要素を含むページの読み込みが開始される前であっても、スクリプトが要素をクリックしようとすることがあります。(失敗したシナリオのスクリーンショットをキャプチャすることでこれを確認しました)
この不一致は広範囲に及ぶものではなく、いくつかの要素に対してのみ繰り返し発生します。これらの要素に直接アクセスする代わりに、そうするとexample_element.when_visible.click
、テスト スイートは常にパスします。
今のところ、link_name
(呼び出し時にpageobjectモジュールによって生成された)を使用してリンクをクリックしますlink(:name, identifier: {index: 0}, &block)
上記のスニペットは編集せずに、link_name_element.when_visible.click
. その理由は、テスト スイートが非常に大きく、すべてのオカレンスを変更するのは面倒であり、機能が既に存在していて、どういうわけかどこにも見当たらないからです。誰か助けてくれませんか?!
ruby - ページオブジェクト要素を動的に作成することは可能ですか?
Cheezy の page-object gem を使用しています。ほとんどの場合、それは素晴らしく機能しますが、動的に作成された要素を操作するときは利用できないようです。セルのテキスト コンテンツをメソッドに渡し、アクション時に要素を識別することで、セルをクリックするメソッドがあります。
要素には実行時にメソッドが生成されていないため、これが機能していないと確信しています。この方法で動的にページオブジェクトを持つ要素を作成する方法を教えてもらえますか?