この記事は、iframe内のエレメントを操作するテストステップをトレーニングするための参照情報です。iframeはインラインフレームとも呼ばれ、ビデオやマップなど、別のWebサイトのコンテンツをアプリケーションに埋め込んだものです。
iframeのステップの記録
iframe内の要素を操作するステップを記録すると、mablトレーナーは自動的にiframeを検出し、記録されたステップの前にコンテキスト切り替えステップを追加します。その後でページの他の部分を操作すると、mablトレーナーはルートフレームに戻るための別のコンテキスト切り替えステップを追加します。既存のコンテキスト切り替えステップがiframeを識別する方法は検索の設定で調整できますが、カスタムXPath、CSSセレクター、またはJavaScriptスニペットを使用してコンテキスト切り替えステップを手動で作成することはできません。
iframeのステップのトレーニングとルートフレームへの切り替え
入れ子構造のiframe
入れ子構造のiframeを含んでいるアプリケーションをテストする場合、Trainerは操作対象の各iframeにコンテキスト切り替えステップを自動的に追加します。
動的な名前を持つiframe
iframeの属性 (名前やURLなど) が動的に変わる場合は、[検索の設定] ([その他のアクション (...)] > [検索の設定]) を使用して、iframeの特定に使用する固定の属性を指定します。
iframeを識別するために、安定した一意の属性を選択してください。たとえば、iframeのURLがテストを実行するたびに変わるが、名前が常に「childOne」である場合は、コンテキスト切り替えステップを更新して、名前「childOne」のiframeを選択するようにしてください。
動的な属性を持つiframeに [検索の設定] を使用
iframeの属性の一部のみが実行をまたいで安定している場合は、containsマッチを使用してください。たとえば、iframeのnameがform-frame-1234で、末尾の数字が実行のたびに変わる場合は、nameにform-frameが含まれるiframeに一致するようにコンテキスト切り替えステップを設定してください。name、src、title、id、またはその他の属性でマッチできます。アプリケーションに対して最も安定しているものを使用してください。
iframeでのXPathとCSSセレクターの使用
要素の検索ステップを使用する場合、mablトレーナーは現在のフレームのみを検索します。XPathまたはCSSを使用してiframe内の要素をターゲットにする要素の検索ステップを追加する場合は、mablトレーナーが正しいフレームにフォーカスされていることを確認してください。
- iframeでクリックステップを記録して、コンテキスト切り替えステップを作成してください。iframeに切り替えることで、mablトレーナーが要素の検索ステップを作成するための正しいフレームにフォーカスされます。
- テストにすでにコンテキスト切り替えステップがある場合は、要素の検索ステップを追加する前にそのステップを再生して、mablトレーナーが正しいフレームにフォーカスされていることを確認してください。
トラブルシューティング:「コンテキストを unknown 要素に切り替える」
コンテキスト切り替えステップがコンテキストを unknown 要素に切り替えるとして記録された場合、クリックした際にmablトレーナーがiframeの属性を取得できなかったことを意味します。最も一般的な原因は、mablトレーナーの設定にあるiframeトラッキングを無効にするです。確認するには、次の手順に従ってください。
- mablトレーナーで、トレーナーウィンドウの右下にある保存ボタンの上の設定を開いてください。
- iframeトラッキングを無効にするにチェックが入っている場合は、チェックを外してください。
- iframeに切り替えるクリックを再度記録してください。
iframeトラッキングを無効にするのチェックを外しても課題が解決しない場合は、次の方法をお試しください。
- デスクトップアプリを最新バージョンに更新する:ヘルプ > アップデートを確認。
- mablトレーナーのセッションキャッシュをクリアする(ヘルプ > トラブルシューティング > セッションキャッシュ/ストレージをクリア)か、再度記録してください。
- 要素が実際の
iframeタグ内にあることを確認してください。