GUI Test Studio が要素を見つける方法: まずアクセシビリティ、アプリが何も伝えないときは見た目で
GUI Test Studio が要素を見つける方法: アクセシビリティ情報を通じてアプリケーションに問い合わせ、アプリが何も伝えないときは見た目で要素を見つけます。
読了 6 分更新日: 2026年11月6日執筆: Ait Nohaila (事業開発担当)
GUI Test Studio は要素を 2 つの方法で見つけます: まずアクセシビリティ情報を通じてアプリケーションに尋ね、アプリケーションが何も答えない場合は画面上で視覚的に要素を見つけます。書くべきセレクターや XPath はありません。
エンドツーエンドテストが壊れる理由
エンドツーエンドテストがなぜ赤いのかをチームに尋ねても、答えがバグであることはめったにありません。多くの場合、テストがボタンを見つけられなくなったのです: 開発者がクラス名を変えた、フレームワークの更新でページの構造が変わった、ダイアログが少し下に開いた、テーマで色が変わった、などです。アプリケーションは問題なく、テストのほうに問題がありました。
1テストが探すもの
click(".btn-save")
2ページが今持っているもの
class="btn-primary"
3画面上
コードで書かれたテストは、ロケーターで要素を見つけます: id、CSS セレクター、XPath、位置などです。どれもアプリケーションの作りについての推測であり、デザインを変えるたびにそのいくつかが壊れます。画像ベースのツールには逆の弱点があります: 画面は見えても、アプリケーションがそれについて何を言っているかはまったく知りません。
同じ要素への 2 つの道
アプリケーションに尋ねる
- ロール
- ボタン
- 名前
- 保存
- 表示
- はい、前には何もありません
視覚で見つける
検索範囲
尋ねる
アプリケーションが要素の場所を教える
見る
またはエンジンが視覚で見つける
比較する
そこにあるものを、期待するものと比べる
報告する
判定を、平易な言葉で
まず: アプリケーションに尋ねる
Definition
ほとんどのアプリケーションは、自分のインターフェイスを Windows に説明しています: すべてのボタン、フィールド、一覧、ラベルについて、その名前、ロール、画面上の位置です。これはスクリーンリーダーが使うアクセシビリティ情報で、正確かつ即座に得られます。Web ページも、ページ自身の要素を通じて同じことをしています。
- テストを記録したとき、またはプロンプトで説明したとき、GUI Test Studio はアサーションの元になった各要素についてアプリケーションが言ったことを保持します。テストの実行時、エンジンはまず動作中のアプリケーションにその要素を尋ねます: 今どこにあるか、表示されているか、何かに覆われていないかです。テキストアサーションは、画面上の文字を読む前に、要素が何と言っているかをアプリケーションに尋ねます。
| アプリケーションが言うこと | テストが得るもの |
|---|---|
| 要素の名前とロール | 似た見た目のボタンが並んでいても、同じボタンを再び見つけられる |
| 画面上の位置 | 移動した先の要素を、すぐに見つけられる |
| 表示されているか、覆われているか | 前にあるダイアログやメニューに気づき、その上から誤ってクリックしない |
| 何と言っているか | テキストアサーションは正確な文字を得られ、読み違えがない |
WPF や WinForms のアプリがコントロールについて何を伝え、何を伝えないかは、コードなしの WPF テスト自動化と WinForms UI テストで詳しく説明しています。
次に: 視覚で見つける
何も言わないアプリケーションもあります。ゲームは自分でメニューを描きます。キャンバス、グラフ、地図は Windows にとって 1 枚の画像です。リモートデスクトップ、仮想マシン、画面に映したスマートフォンは、中身のない 1 つのウィンドウです。独自のツールキットで描画された古いプログラムは、1 枚の空白のペインに見えます。
その場合、GTS Engine は人と同じように、動作中の画面上で視覚的に要素を見つけます: 検索範囲の中で要素の画像を探し、どの画面にもある小さな差異を許容し、似たものは位置で見分けます。アプリケーションの答えが成り立たない場合にも引き継ぎます: アプリケーションが報告した要素が、隠れていたり、覆われていたり、本来あるべき場所からかけ離れていたりする場合です。
2 つの道がテストを堅牢にする理由
2 つの道は互いの弱点を補います。アクセシビリティ情報は要素の見た目に左右されないので、新しいテーマ、フォント、別の画面の拡大縮小でも要素を見失いません。視覚はアプリケーションの作りに左右されないので、クラス名の変更、新しいフレームワーク、アクセシビリティ情報がまったくないアプリでも、やはり要素を見失いません。
| 変わったもの | それでも要素を見つけるもの |
|---|---|
| ボタンの背後のコードが書き直された | 両方: アプリケーションは今も名前を伝え、見た目も同じ |
| ウィンドウが移動した、またはレイアウトがずれた | アプリケーションが今の位置を教え、視覚がそこで見つける |
| 新しい色やテーマ | アプリケーションのアクセシビリティ情報 |
| ゲーム、キャンバス、リモートデスクトップ | 視覚 |
| 同じ見た目のボタンが複数 | アプリケーションの名前と要素の位置で見分ける |
その結果、アプリケーションが周りで変わり続けても探しているものを見つけ続け、失敗する理由がただ 1 つしかないテストになります: ユーザーの目に映るものが間違っているときです。
見つけることはアサーションの半分
要素が見つかると、GTS Engine は画面にあるものと期待するものを比較します: 画像、文字、配置です。アンチエイリアスや圧縮といった、どの画面にもあるノイズは無視し、人が変化と呼ぶ本当のリグレッションを捉えます: 誤った色、欠けたアイコン、大文字と小文字が変わった単語などです。
無視するもの: どの画面にもあるノイズ
捉えるもの: 人の目に映る変化
アサーションが不合格になったとき、エンジンのオプションの AI 側である AI スマート分析が改めて確認し、クラウドモデルと自分のキー、または自分のコンピューター上のローカルモデル (当社提供または持ち込み) を使って、差異を平易な言葉で説明できます。AI スマート分析を参照してください。
設定するものは何もない
書くべきロケーターも、オンにするアクセシビリティ設定も、選ぶモードもありません。テストを自分で記録するか、Claude、ChatGPT、または自分のコンピューター上の AI モデルにプロンプトで説明します: GUI Test Studio がすべての要素について必要な情報を保持し、エンジンが実行のたびにどちらの道で見つけるかを決めます。すべて自分のコンピューター上で動作します。
要点
- 1エンドツーエンドテストの多くは、要素を見つけられないために壊れるのであり、アプリケーションが間違っているからではありません。
- 2エンジンはまずアプリケーションに尋ね、そのアクセシビリティ情報を通じて要素を探し、アプリケーションが何も答えない場合は視覚で要素を見つけます。
- 32 つの道が互いの弱点を補います: 新しいテーマでも要素を見失わず、クラス名の変更やアクセシビリティ情報のないアプリでも見失いません。
- 4書くものは何もありません: セレクターも、XPath も、ロケーターも、選ぶモードもありません。
- 5見つけることはアサーションの半分です: 残りの半分では、画面にあるものと期待するものを比較します。
質問
GUI Test Studio は画面上の要素をどのように見つけますか?
各要素を 2 つの方法で見つけます。GTS Engine + AI はまず、Windows ではアクセシビリティ情報を通じて、Web ページではページ自身の要素を通じてアプリケーションに尋ね、アプリケーションが答えない場合は画面上で視覚的に要素を見つけます。実行のたびに、目の前の画面で機能する方法を使います。
GUI Test Studio はアクセシビリティツリーを使いますか?
はい。GTS Engine + AI はまず、Windows ではアクセシビリティ情報を通じて、ブラウザーでは Web ページ自身の要素を通じて、要素の場所をアプリケーションに尋ねます。アプリケーションが答えない場合にだけ、画面上で視覚的に要素を見つけます。
アプリにアクセシビリティツリーがない場合はどうなりますか?
それでもテストは動作します。ゲーム、キャンバス、リモートデスクトップ、独自のツールキットで描画されたプログラムは何も公開しないので、GTS Engine は人と同じように、画面上で視覚的に要素を見つけます。アプリケーションに何かを追加する必要はありません。
GUI Test Studio はセレクターや XPath を使いますか?
いいえ。テストを記録したりプロンプトで説明したりしたときに、GUI Test Studio が各要素について必要な情報を自動で保持します: まずアプリケーションのアクセシビリティ情報、そしてアプリケーションが何も答えないときのための要素の画像です。書いたり保守したりするセレクター、XPath、ロケーターはありません。
アクセシビリティを通じて要素を見つけた場合も、アサーションはビジュアルなものですか?
はい。要素を見つけることはアサーションの前半です。後半では必ず画面にあるものと期待するものを比較するので、誤った色や欠けたアイコンなど、ユーザーの目に映るものをテストが捉えます。
ボタンのクラスや id が変わると、テストは壊れますか?
いいえ。クラスや id の名前の変更はコードの変更であり、GUI Test Studio はコードを通じて要素を見つけるわけではありません。アプリケーションは今もそのボタンの名前を伝え、見た目も同じなので、どちらの方法でも見つけられます。
GUI Test Studio でゲーム、仮想マシン、スマートフォンをテストできますか?
はい。Windows の画面に映るものなら何でもテストできます: デスクトップアプリケーション、任意のブラウザーの Web アプリケーション、ゲーム、仮想マシンの中のアプリ、画面にミラーリングしたスマートフォンです。アプリケーションが要素について何も伝えない場合は、視覚で見つけます。
テスト対象のアプリでご覧になりますか? チームとの 30 分の無料相談を予約してください。