UFT One での AI ベースのテスト
GUI UFT Mobile および Web テストのみ
このトピックでは、UFT One の人工知能(AI)機能をインストールして使用し、人間が行うのと同じ方法でオブジェクトを識別する方法について説明します。これにより、オブジェクトの実装に関係なく、異なるプラットフォームとバージョンで同じテストを実行できるようになります。
UFT One の AI ベースのテストのサポート
次の表は、UFT One の各バージョンで提供される AI ベースのテストのサポート・レベルを示しています。
UFT One のバージョン | モバイル・アプリ | デスクトップ Web |
---|---|---|
15.0 | サポート対象 | サポート対象外 |
15.0.1 | サポート対象 | テクニカル・プレビュー |
15.0.2 | サポート対象 | サポート対象 |
AI ベースのテストの概要
UFT One の AI 機能を使用すると、テストで人間が行うのと同じ方法で、テストがテスト対象のアプリケーションを操作できます。UFT One は AI を使用して、さまざまな画像、コンテキスト、そして時にはテキストにも基づいて、オブジェクトを視覚的に識別します。
たとえば、UFT One の AI は、さまざまな形の検索フィールド、ユーザ・プロファイル領域、入力フィールド、ボタン、ショッピング・カートなどを識別できます。
AI ベースのオブジェクトの認識には、次のような利点があります。
1. テスト・スクリプトがより直感的に理解しやすいものになります。
2. テストがテクノロジに依存しません。背後でどのような UI テクノロジが使用されているかに関わらず、オブジェクトを視覚的に識別できます。
3. テストの保守が容易になります。オブジェクトの場所、UI フレームワーク、または形状が変わっても、オブジェクトの見た目が似ているか、オブジェクトの目的が明確であれば、テスト・スクリプトが使用できなくなることはありません。
UFT One の AI 機能のインストール
UFT One の AI 機能を使用するには、AI 機能をインストールして有効にする必要があります。
前提条件
AI 機能をインストールする前に、以下がインストールされていることを確認します。
64 ビット・オペレーティング・システム
Microsoft Visual C++ 2013 再頒布可能パッケージ
必要な Windows 機能。ご使用の Windows オペレーティング・システムによって異なります。
Windows OS - Microsoft Media Feature Pack[コントロール パネル]から、[プログラムと機能]>[Windows の機能の有効化または無効化]を選択します。
[Windows の機能]ウィンドウで、[メディア機能]を有効にします。
コンピュータを再起動して変更内容を有効にします。
Windows Server 2008 - デスクトップ・エクスペリエンス1. [コントロール パネル]から、[プログラムと機能]>[Windows の機能の有効化または無効化]を選択します。
2. サーバ・マネージャ・ウィンドウの右の表示枠で、[役割と機能の追加]をクリックします。
3. [役割と機能の追加ウィザード]ウィンドウで、[デスクトップ エクスペリエンス]を有効にします。
4. [インストール]をクリックします。
5. 変更内容を有効にするには、コンピュータを再起動します。
Windows Server 2012 以降 - Microsoft Media Foundation1. [コントロール パネル]から、[プログラムと機能]>[Windows の機能の有効化または無効化]を選択します。
2. [役割と機能の追加ウィザード]ウィンドウで、[機能]タブが表示されるまで[次へ]をクリックします。
3. [Media Foundation]を有効にします。
4. [インストール]をクリックします。
5. 変更内容を有効にするには、コンピュータを再起動します。
Windows 機能を有効にするための最新の手順については、Microsoft のドキュメントを参照してください。
UFT One の AI 機能のインストール
使用している UFT One のバージョンに応じて、以下のいずれかのセクションを展開してください。
UFT One インストール・プログラムを実行すると、インストールに含める機能のリストで[AI機能]が標準設定で選択されます。最初に UFT One をインストールしたときに、これを選択解除していた場合は、インストール・プログラムを再度実行してインストール内容を変更し、[AI機能]を選択してインストールします。
または、UFT One サイレント・インストールを実行し、ADDLOCAL パラメータを使用してインストールする AI 機能を指定します。詳細については、「個々の UFT One 機能をインストールするためのサイレント・コマンド」を参照してください。
注意: UFT AI Features 15.0.1 以前のバージョンがすでにインストールされている場合は、今回のインストールにより、旧バージョンが削除されます。
インストール後、AI 機能は標準設定で有効になります。AI 機能を無効にする必要がある場合は、[ツール]>[オプション]>[GUI テスト]>[AI]を開き、[AIの有効化]オプションをクリアします。
UFT One のインストール後に、UFT AI 機能インストール プログラムを実行します。
ご使用の UFT One バージョンで提供されているバージョンの AI 機能を使用します。
UFT One 15.0 の場合、UFT One AI 機能のバージョン 2.0 をインストールします
UFT One 15.0.1 の場合、UFT One AI 機能のバージョン 15.0.1 をインストールします
セットアップ・ウィザードを使用して手動でインストールを実行することも、コマンド・ラインからサイレントにインストールを実行することもできます。
手動インストール | サイレント・インストール |
---|---|
UFT One DVD から Ai\setup.exe インストール・ファイルを実行し、画面の指示に従ってください。 インストールする機能を選択するとき、必要なのは AI エンジンのみです。 | msiexec /qn /i "<UFT DVD>\AI\AI_Installer.msi" ADDLOCAL="AI_Services" |
UFT One の AI 機能の有効化
- [オプション]ダイアログ・ボックスを開き、[GUI テスト]タブの[AI]表示枠を開きます([ツール]>[オプション]>[GUI テスト]>[AI])。
- [AIの有効化]オプションを選択します。
- UFT One を再起動します。
[オプション]ダイアログ・ボックスで[スクリプトの生成]オプションを使用した場合、スクリプトに AI Active オプションが含まれます。詳細については、「[一般]表示枠([オプション]ダイアログ・ボックス>[GUI テスト]タブ)」を参照してください。
このオプションの値が変更された場合は、生成されたスクリプトにステートメントを追加して UFT One を再起動します。詳細については、「UFT One Automation Object Model Reference」の「Options Object」>「AI Property」セクションを参照してください。
注意: AI Codeless Testing は UFT One の一部ではありません。これは AI Codeless テストを試すためのスタンドアロン・ツールです。AI Codeless Testing をインストールする場合は、追加の前提条件が必要になります。AI Codeless Testing ヘルプセンターを参照してください。
アプリケーションのオブジェクトの検査
AI 検査を使用して、テスト・ステップで使用できるアプリケーションのオブジェクトを識別します。
前提条件
モバイル・デバイスでアプリケーションをテストする場合 | デスクトップ Web アプリケーションをテストする場合 |
---|---|
|
対応ブラウザ:Chrome、Chromium ベースの Edge、Firefox、Internet Explorer ヘッドレス・ブラウザには対応していません。 |
オブジェクト・スパイ内から AI スパイにアクセスします。
UFT One で、[オブジェクト スパイ]ツールバー・ボタンをクリックして、オブジェクト・スパイを開きます。
[オブジェクト スパイ]で、[AI スパイ]をクリックします。
リモート・アクセス・ウィンドウでモバイル・アプリケーションをクリックします。
スパイの AI 識別ビューにアプリケーションの画像が表示され、検出されたすべてのオブジェクトが強調表示されます。
[オブジェクトで識別]モードと[テキストで識別]モードを切り替えて、UFT One で視覚的に検出されたオブジェクト、またはアプリケーション内のテキスト領域のいずれかを参照できます。
[オブジェクト スパイ]または[オブジェクト認識センター]では、モバイル・アプリケーションまたは Web アプリケーションでオブジェクトをスパイすると、UFT One は同じオブジェクトを表すために使用できる AI オブジェクトも表示します。
単一オブジェクトをスパイする場合 | アプリケーションでオブジェクトをクリックすると、クリックしたオブジェクトのみを対象として AI オブジェクトが提案されます。AI オブジェクトは、スパイに表示される階層内の他のオブジェクトを対象として提案されることはありません。 |
OIC を使用して複数のオブジェクトをスパイする場合(15.0.2 以降) | AI オブジェクトの提案は、各スパイ・オブジェクトの編集ビューで利用できます。編集ビューを開くには、スパイ対象のオブジェクトのリスト内のオブジェクトにカーソルを合わせて、[編集]ボタンをクリックします。 |
AI オブジェクトをテストにドラッグして、そのオブジェクトに対して操作を実行するステップを作成します。
AI の提案をオフに切り替えるには、[オブジェクト スパイ]ウィンドウまたはオブジェクト認識センターの設定で[AI自動検査]をオフに切り替えます。
ヒント: この設定は、再度オンに切り替えるまで、後続のスパイ・セッションと後続の UFT One セッションで有効のままです。
AI 識別ビュー・ウィンドウを開いて、アプリケーションを検査し、その中のすべての AI オブジェクトを検出します。
このウィンドウを開くには、次のいずれかを実行します。
[AI 識別]ツールバー・ボタンをクリックします。
ヒント:使用しているバージョンによって、ボタンの外観が異なる場合があります。
オブジェクト・スパイまたはオブジェクト認識センターで、[検査]をクリックします。
ヒント:このボタンは、[AI自動検査]オプションが有効になっている場合に使用できます。
モバイル・アプリケーションが表示されている Web アプリケーションまたはリモート・アクセス・ウィンドウをクリックします。
注意: スパイ階層の最上位オブジェクトとして Web ブラウザまたはモバイル・デバイスを使用して検査を開始した場合は、この手順をスキップできます。UFT One は、そのブラウザまたはデバイスを自動的に検査対象として選択します。
AI 識別ビューにアプリケーションの画像が表示され、検出されたすべてのオブジェクトが強調表示されます。
- [視覚要素]または[テキスト]のいずれで表示するのかを決定して、UFT One で視覚的に検出されたオブジェクト、またはアプリケーション内のテキスト領域のいずれかを参照できます。
UFT One での AI ベースのテストについて、今後のデザインへのご協力のお願い
[識別機能の改善にご協力ください。]をクリックして、フィードバック・ツールを開き、オブジェクトの検出に関するフィードバックを Micro Focus に送信します。詳細については、「AI ベースのテストのフィードバック・ツール」を参照してください。
アプリケーションのモックアップ内でのオブジェクトの検査
UFT One バージョン 15.0.2 以降でサポート
AI モックアップ識別を使用して、アプリケーションのモックアップを検査し、テストで使用できるオブジェクトを識別します。このようにして、アプリケーションの開発が十分に進んでいなくても、かなり早期にテストを準備し、テストを設計することができます。
前提条件
AI モックアップ識別には、Web アプリケーションまたはモバイル・アプリケーションは必要ありません。代わりに、ローカル・フォルダから .jpg、.jpeg、または .png 形式の画像をロードする必要があります。
アプリケーションのモックアップの検査
- UFT One ツールバーで、[AI識別]ボタンの近くにある下矢印をクリックし、[AIモックアップ識別]を選択します。
開いたダイアログ・ボックスで、画像を含むフォルダを選択し、AI 識別コンテキストとして[Web]または[モバイル]を選択して、[開く]をクリックします。
AI モックアップ識別ビューは、フォルダ内のすべての画像をファイル名でロードし、画像ギャラリーを作成します。
AI モックアップ識別ビューは、標準選定で、ファイル名順に最初に表示される画像を検査し、識別されたすべての視覚要素を強調表示します。
フォルダ内の画像を管理するには、次のように画像ギャラリーの設定を編集します。
- [ファイル名]または[更新時刻]を選択して、ファイル名または更新時刻の順に画像を並べ替えます。
- 画像が変更された場合は、[更新]をクリックして画像を更新します。
- [別のフォルダを選択]をクリックして、検査する画像の別のフォルダを選択します。
最適な識別を実現するには、検査対象ページの設定を編集します。
- [視覚要素]または[テキスト]を選択して、UFT One が視覚的に識別したオブジェクトまたはテキストの領域を表示します。
- AI 識別コンテキストを再度変更するには、[Web]または[モバイル]を選択します。
UFT One での AI ベースのテストについて、今後のデザインへのご協力のお願い
[識別機能の改善にご協力ください。]をクリックして、フィードバック・ツールを開き、オブジェクトの認識に関するフィードバックを Micro Focus に送信します。詳細については、「AI ベースのテストのフィードバック・ツール」を参照してください。
(オプション)コンボ・ボックスからの選択のサポートの確認
UFT One バージョン 15.0.1 以降でサポート
コンボ・ボックスから項目を選択することには、複雑な操作が関係しています。UFT One が、AI によって識別されたコンボ・ボックスに対して Select 操作を実行できるのは、このコンボ・ボックスを WebList または MobileDropDown としても識別できる場合だけです。
AI を使用してアプリケーション内でオブジェクトを検査するときに、UFT One がコンボ・ボックスを識別すると、オブジェクトに[検証]アイコンが表示されます。このアイコンをクリックして、このような手順をテストに追加する前に、UFT One がこのオブジェクトに対して Select 操作を実行できるかどうかを確認します。
UFT One は、コンボ・ボックスの相対的な位置を利用してオブジェクトを検証します。Web ページの検査後にブラウザのサイズを変更し、オブジェクトの位置を変更した場合、検証は失敗します。
ヒント: 何度か確認してみてください。さまざまな環境条件によって異なりますが、検証が失敗した場合でも、何度か試行するうちに、UFT One が必要なオブジェクトを見つける場合があります。
AI ベースのステップのテストへの追加
AI コンテキストの設定
AI ベースのステップをテストで実行する前に、AI を使用するコンテキストを設定する必要があります。次のようなステートメントをテストに追加します。
AIUtil.SetContext Device("device")
UFT One 15.0:コンテキストは、オブジェクト・リポジトリに存在するモバイル・デバイス・テスト・オブジェクトである必要があります。
UFT One 15.0.1 以降:AI コンテキストは、次のいずれかになります。
オブジェクト・リポジトリに格納されているモバイル・デバイス・テスト・オブジェクト。
オブジェクト・リポジトリに保存されている、または記述的プログラミングを使用して記述されている Web ブラウザ・テスト・オブジェクト。
Web ブラウザは、デスクトップまたはモバイル・デバイスで実行でき、手動で開くか、記録と実行環境設定から開くことができます。
注意: UFT One は、テスト実行全体を通じて、コンテキスト・ オブジェクトを識別できる必要があります。必要に応じて、追加の SetContext ステップを使用して、コンテキストに別のオブジェクトを選択します。
テスト・ステップの追加
AI ベースのステップをテストに追加するには、次のいずれかの方法を使用します。
オブジェクト・スパイ、オブジェクト認識センター、AI 識別ビュー、または AI モックアップ識別ビュー・ウィンドウから、識別されたオブジェクトまたはテキストをテストにドラッグ・アンド・ドロップします。
各オブジェクトに対して追加されたステップには、画面上の関連付けられたテキストやオブジェクトの相対的な位置など、オブジェクトを一意に識別するための情報が含まれます。「テキストとオブジェクトの関連付け」および「相対的な位置でのオブジェクトの識別」を参照してください。
注意: オブジェクトが誤って識別された状態でステップを追加することは避けてください。たとえば、ボタンがテキスト・ボックスとして識別された場合、またはチェック・マークがボタンとして識別された場合、そのようなオブジェクトは一貫性がないと識別され、後続のテスト実行で失敗する可能性があります。
AI レコードを使用すると、テスト・エディタで AI ベースのテスト・ステップを自動的に作成できます。詳細については、「AI ベースのテストの記録」を参照してください。
AIUtil オブジェクトを使用してテストを編集します。
次に、AIUtil オブジェクトを使用して、タイプ、テキスト、またはその両方を使用してコントロールを識別し、オブジェクトに対してクリック、キー入力、または検索などの操作を実行します。
詳細については、『UFT One Object Model Reference』の「AI-based Testing」を参照してください。
例:
次の例では、モバイル・デバイスで settings コントロールをクリックしてから、該当するフィールドにユーザ名を入力します。どちらのコントロールも AI を使用して視覚的に識別されます。
次に、画面上の Log In というテキストを見つけてクリックします。
この例では、ログインした後で「ON」というボタンをクリックします。このアプリケーション内には類似のボタンがいくつか存在しているため、この例では、上から 3 番目のボタンをクリックするように指定しています。
AIUtil.SetContext Device("device") 'Set the context for AI AIUtil("settings").Click AIUtil("input", "USER NAME").Type "admin" AIUtil.FindTextBlock("Log In").Click AIUtil("button", "ON", "FromTop", 3).Click
ヒント: スパイではテキスト・ブロック全体が識別されるため、UFT One は FindTextBlock を使用するステップを生成します。独自のステップを作成する場合は、FindText メソッドを使用することもできます。この場合は、テキスト・ブロックの一部にしか一致していなくても、指定したテキストに一致していると判断されます。
テストへのチェックポイントの追加(オプション)
UFT One バージョン 15.0.2 以降でサポート
さまざまなタイプのチェックポイントを追加して、オブジェクトの存在またはその状態をチェックできます。
テストにチェックポイント・ステップを手動で入力するか、AI レコード・セッションで追加します。詳細については、「記録中のチェックポイントの追加」を参照してください。
チェックポイント・メソッド | 説明 | 条件 |
---|---|---|
AIObject.CheckExists または AITextObject.CheckExists | アプリケーション内にオブジェクトが存在するかどうかを確認します。 | このステップの実行時にオブジェクトが存在することを期待するかどうかを指定します。 |
AIObject.CheckState | チェック・ボックス、トグル、ラジオ・ボタンなど、オフまたはオンに設定できるオブジェクトの状態を確認します。 | オブジェクトの期待される状態を指定します。 |
アプリケーションが期待を満たしている場合、チェックポイントは成功します。そうでない場合は、実行結果にステップ障害が報告されます。
次のアプリケーション・ページ / 画面の検査
アプリケーションの 1 つのページまたは画面のテスト・ステップの作成が終了し、別のページまたは画面で作業を続行する場合は、そのアプリケーション内の目的の場所に移動します。次に、AI 識別ビュー・ウィンドウで[更新]をクリックして、新しいアプリケーション画面をロードし、アプリケーションを再度検査します。
モバイル・アプリケーションで作業する場合は、デバイス上で直接、またはリモート・アクセス・ウィンドウを使用して、アプリケーション内の正しい場所に移動します。
複数のリモート・アクセス・ウィンドウまたはブラウザ・ウィンドウが開いている場合、検査セッションは 1 つのウィンドウとのみやり取りします。
UFT One 15.0.1 以降:コンピュータ上で開いている他のブラウザ・ウィンドウまたはモバイル・デバイスを検査するように切り替えることができます。AI 識別ビュー・ウィンドウで[選択]をクリックし、別のブラウザまたはデバイスを選択します。
次に、このページまたは画面からステップをテストに追加します。
AI ベースのテストの実行
アプリケーションの検査とテスト・ステップの作成が済んだら、UFT One の他のテストを実行する場合と同じように AI ベースのテストを実行します。「テストの実行/デバッグ」を参照してください。
これは実装の詳細に基づいたものではないため、異なるオペレーティング・システムやバージョンで同じテストを実行することができます。
テクノロジ・ベースのテストの AI ベースのテストへの変換
AI 変換アシスタントは、既存のテストのプロパティ・ベースのテスト・ステップを AI ベースのテスト・ステップに変換するのに役立ちます。
アシスタントを有効にします。
[ツール]>[オプション]>[GUI テスト]>[AI]で、[実行結果をAIオブジェクトの候補に置き換える]を選択します。
テストを実行します。
テスト・ステップがアプリケーションに対して実行され、実行レポートには、テスト実行の結果ではなく AI オブジェクトの提案が格納されます。各ステップには、テクノロジ・ベースのテスト・ステップを AI ベースのテスト・ステップに変換するための提案が含まれています。
テスト・ステップを変更します(AI 変換)。
既存のステップを提案された AI オブジェクト・ステップで置き換えて、より柔軟でプラットフォームに依存しないテストを作成します。
トラブルシューティング
AI テキストを識別するには、Windows の mediaserver.exe サービスが実行されている必要があります。そうしないと、次のことが発生する可能性があります。
- AI 検査のテキストで識別によってオブジェクトを見つけることができない
- テストの実行時に、すべての FindText および FindTextBlock ステップが、AITextObject を返すことができない
- エラー・メッセージによって、メディア・サーバ OCR サービスの呼び出し中にエラーが発生したことが示される
解決策:
Windows サービス・マネージャを開いて、mediaserver.exe が実行されていることを確認します。実行されていない場合は、このサービスを手動で開始してください。
その他の参照項目: