Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
TestComplete 12 デスクトップ、Web およびモバイル テストの
チュートリアル
smartbear.com TestComplete by SmartBear Software
2
チュートリアルについて
TestComplete を用いることで、デスクトップ、Web、モバイルの 3 種類のアプリケーションをテス
トすることができます。
デスクトップ アプリケーション - これらのアプリケーションは、Windows オペレーティン
グ システムが動作しているデスクトップ コンピューターで実行します。
Web アプリケーション - これらのアプリケーションは、Web ブラウザー (デスクトップ ア
プリケーションに組み込まれた Web ブラウザーを含む) で実行します。
モバイル アプリケーション - これらのアプリケーションは、Android デバイスまたは iOS デ
バイスで実行します。
このドキュメントは、初めて TestComplete を使用するユーザー向けに用意されたもので、自動テス
トおよび製品の概要を紹介します。また、主なアプリケーション タイプのテストの作成方法を説明
するチュートリアルも含まれています。これらのチュートリアルをお読みになることで、デスクト
ップ、Web、モバイル アプリケーションのテストを作成、修正、実行することができます。
2018.9.18 – TestComplete 12.60
Translated by XLsoft Corporation
目次
© 2018 SmartBear Software http://support.smartbear.com/
3
目次
自動テストおよび TESTCOMPLETE について ......................................................................................... 5
自動テスト .................................................................................................................................................... 5
テスト タイプ ............................................................................................................................................... 5
TestComplete プロジェクトとプロジェクト項目 ..................................................................................... 6
TestComplete ユーザー インターフェース ................................................................................................ 8
TestComplete テスト オブジェクト モデル ............................................................................................... 9
チェックポイントと Stores ....................................................................................................................... 12
デスクトップ アプリケーションのテスト ................................................................................................. 13
1. テストの計画 ...................................................................................................................................... 14
2. レコーディングについて .................................................................................................................. 14
3. テストのレコーディング開始 .......................................................................................................... 16
4. テストするアプリケーションの定義 .............................................................................................. 17
5. テストのれコーディング .................................................................................................................. 19
6. レコーディングしたテストの解析 .................................................................................................. 27
7. レコーディングしたテストの実行 .................................................................................................. 31
8. テスト結果の解析 .............................................................................................................................. 34
WEB アプリケーションのテスト - チュートリアル ................................................................................ 38
1. Web ブラウザーの準備 ...................................................................................................................... 39
2. テストの計画 ...................................................................................................................................... 40
3. テストのレコーディングについて .................................................................................................. 40
4. テストのレコーディング開始 .......................................................................................................... 42
5. テストする Web ページの定義 ......................................................................................................... 44
6. テストのレコーディング .................................................................................................................. 45
7. レコーディングしたテストの解析 .................................................................................................. 55
8. レコーディングしたテストの改善 .................................................................................................. 60
9. レコーディングしたテストの実行 .................................................................................................. 62
10. テスト結果の解析 .......................................................................................................................... 64
11. 複数のブラウザーでのテストの実行 .......................................................................................... 67
ANDROID アプリケーションのテスト ...................................................................................................... 70
1. 事前準備 .............................................................................................................................................. 71
2. テストの計画 ...................................................................................................................................... 77
3. テストのレコーディングについて .................................................................................................. 77
4. テストのレコーディング開始 .......................................................................................................... 79
5. テストするアプリケーションの定義 .............................................................................................. 80
6. テストのレコーディング .................................................................................................................. 81
7. レコーディングしたテストの解析 .................................................................................................. 89
目次
smartbear.com TestComplete by SmartBear Software
4
8. テストの実行 ...................................................................................................................................... 92
9. テスト結果の解析 .............................................................................................................................. 93
10. 複数のデバイスでのテスト実行 .................................................................................................. 96
IOS アプリケーションのテスト .................................................................................................................. 98
1. iOS デバイスの準備 ......................................................................................................................... 100
2. iOS Certificate (証明書) ファイルの準備 ........................................................................................ 102
3. テストの計画 .................................................................................................................................... 104
4. レコーディングについて ................................................................................................................ 105
5. テストのレコーディング開始 ........................................................................................................ 106
6. テストするアプリケーションの定義 ............................................................................................ 108
7. テストのレコーディング ................................................................................................................ 109
8. レコーディングしたテストの解析 ................................................................................................ 118
9. レコーディングしたテストの実行 ................................................................................................ 122
10. テスト結果の解析 ........................................................................................................................ 123
11. 複数のデバイスで実行するためテストを設定する ................................................................ 126
12. 複数のデバイスでのテスト実行 ................................................................................................ 129
次のステップ ................................................................................................................................................ 131
テクニカル サポートとリソース ............................................................................................................... 134
索引 ................................................................................................................................................................ 135
自動テストおよび TestComplete について
© 2018 SmartBear Software http://support.smartbear.com/
5
自動テストおよび TestComplete について
自動テスト
ソフトウェア テストとは、アプリケーションを調査し、そのアプリケーション内のエラーを検出す
るプロセスです。テストと単なる調査との違いは、テストはアプリケーションの出力と期待値を比
較し、アプリケーションが期待通りに機能するかどうかの判定を含んでいることにあります。言い
換えると、テスターはアプリケーションが値のリストを表示するのを確かめるだけでなく、そのリ
ストが適切な値を含んでいるかを検証する必要があります。
このことから、基本的なテスト シーケンスは次のようになります。
期待する出力の定義。
テスト動作の実行 (適切な入力データの付与)。
アプリケーション出力の収集および期待する結果 (基準データ) との比較。
比較に失敗した場合は、開発者またはマネージャーに通知。
自動テストとは、若干あるいは全く人間の操作のない特別なプログラムによるソフトウェア テスト
の自動実行です。自動実行によって、テスト動作を 1 つたりともスキップしないことが保障されま
す (これは、テスターを退屈な同じ手順の繰り返し作業から解放します)。
TestComplete は、テスト動作の自動化、テストの作成、基準データの定義、テストの実行、テスト
結果の記録を行うための特別な機能を提供します。たとえば、ビジュアルにテストを作成できる特
別な "テストのレコーディング" 機能を持っています。レコーディングを開始して、テストするア
プリケーションに対して、必要とされるアクションを実行するだけで、TestComplete が自動的にす
べての "記録された" アクションをテストに変換します。また、TestCompleteは、テスト内の比較コ
マンドやチェックポイントの自動化を簡単にする特別なダイアログやウィザードも含んでいます。
テスト タイプ
TestComplete はさまざまなテスト タイプとテスト方法 (単体テスト、機能および GUI テスト、リグ
レッション テスト、分散テストなど) をサポートしています (TestComplete ヘルプの Different Ways
of Testing を参照)。.このチュートリアルでは、最もよく用いられる機能テストを作成します。機能
テストは、アプリケーションの GUI とその背後のシステムおよびユーザー間のインターフェースを
チェックします。アプリケーション機能が予想通りであるか検証します。
典型的な機能テストは、クリックやキーストロークのシミュレーション、ループ内でのテスト コマ
ンドの実行、オブジェクトの内容の検証などのさまざまな動作を実行するテスト コマンドから構成
されます。
TestComplete では、機能テストはキーワード テストとスクリプトの形式で作成できます。このテス
トは、レコーディングあるいは内蔵エディターでゼロから作成することができます。キーワード テ
自動テストおよび TestComplete について
smartbear.com TestComplete by SmartBear Software
6
ストの作成は視覚的で、簡単であり、プログラミングの知識を必要としません。スクリプトはスク
リプト コマンドの理解が必要になりますが、より強力で柔軟性のあるテストの作成が可能になりま
す。TestComplete は、JavaScript、JScript、Python、VBScript、DelphiScript、C#Script、C++Script の
スクリプトをサポートしていますので慣れている言語を用いてスクリプトを作成できます。
このチュートリアルでは、キーワード テスト機能を使用します。
TestComplete プロジェクトとプロジェクト項目
TestComplete はテスト プロジェクトおよびプロジェクト スイートで動作します。プロジェクトは
テスト作成の開始地点です。プロジェクトには、テスト、チェックポイントの基準データ、テスト
するアプリケーションについての情報、その他のテスト実行に必要な項目が含まれます。また、プ
ロジェクトは複数のテストの実行シーケンスを定義し、プロジェクト開始以降に実行したすべての
テストの累積ログを保持します。
1 つのプロジェクトに、テストするアプリケーションのすべてのテストを含めることができます。
複雑なアプリケーションの場合、アプリケーションの一部分のみでプロジェクトを作成し、他の部
分は他のプロジェクトでテストすることができます。通常は、モジュール単位でプロジェクトを作
成します。
関連するプロジェクトはプロジェクト スイート (1 つ以上のプロジェクトを含む) に統合すること
ができます。TestComplete は、新しいプロジェクトを作成するときにプロジェクト スイートを自動
的に作成します。空のプロジェクト スイートを作成し、次に必要なプロジェクト ファイルをスイ
ートの中に組み込むために TestComplete のダイアログを使用することもできます。
プロジェクト項目は、さまざまなテストを実行する、あるいは実行を支援するためのプロジェクト
要素です。プロジェクト項目以外にも、プロジェクトには、テストデータ付きの Excel や .csv ファ
イルのような helper files を含めることができます。
自動テストおよび TestComplete について
© 2018 SmartBear Software http://support.smartbear.com/
7
TestComplete の Project Explorer で、プロジェクト、プロジェクト スイート、プロジェクト項目を表
示、管理することができます。
TestComplete のプロジェクト項目に関する情報は、TestComplete ヘルプの「About Project Items」を
参照してください。
自動テストおよび TestComplete について
smartbear.com TestComplete by SmartBear Software
8
TestComplete ユーザー インターフェース
TestComplete のメイン ウィンドウのサンプル画像を次に示します。
TestComplete のユーザー インターフェースは、いくつかのパネルで構成されています。Project
Explorer パネル (ウィンドウの左側) は、プロジェクトとプロジェクト スイートの内容を表示しま
す。また、テスト ログ ノードへのリンクも提供しています。
Workspace パネルは、作業用デスクトップです。プロジェクトとプロジェクト項目のエディターを
表示して、テストの作成と修正、テスト結果の確認を行うことができます。たとえば、上記の画像
では、Keyword Test エディターが Workspace 内で開かれています。エディターの下側には、Test
Visualizer パネルがあり、テスト コマンドのレコーディング中にテスト エンジンが撮った画像を表
示します。これらの画像は、テスト コマンドが実行する動作を理解するのに役立ちます。
Project Explorer、Workspace、Test Visualizer に加えて、TestComplete にはその他のパネルが含まれて
います。たとえば、テストのデバッグに使用される Watch List、Locals、Breakpoints、Call Stack パ
ネルがあります。To Do パネルは、実行すべきタスクを管理し、Code Explorer パネルは、スクリプ
ト コンテンツを表示する便利な方法を提供し、スクリプト ユニットをナビゲートします。
Object Browser パネルは、特定のプロジェクトに属さない TestComplete のメイン機能の 1 つで、マ
シンに存在するすべてのプロセスおよびウィンドウのリストを表示します。モバイル デバイスが接
続されていてアプリケーションが特別な方法で準備されている場合、モバイル アプリケーションの
自動テストおよび TestComplete について
© 2018 SmartBear Software http://support.smartbear.com/
9
プロセスのリストも表示します。各プロセスおよびウィンドウごとに、外部から TestComplete 機能
を通してアクセス可能なメソッドやプロパティを表示します。 言い換えると、Object Browser から、
テストで利用可能なオブジェクト、メソッド、プロパティと、その取得方法がわかります。詳細は、
TestComplete ヘルプの「Exploring Application Properties」を参照してください。
パネルの説明を表示するには、パネル内をクリックして F1 キーを押します。これにより、パネル
の解説が開きます。
TestComplete に特定のアクションを実行するように指示するには、メニューとツールバーを使用し
ます。TestComplete のメニュー サブシステムは、Microsoft Visual Studio または他の主要な Windows
アプリケーションのメニューとツールバーに類似しています。ツールバーの位置を変更したり、メ
ニューまたはツールバーの項目を他に移動したり、項目を隠したり、元に戻したり、他のタスクを
実行することができます。詳細については、TestComplete ヘルプの「Working With TestComplete
Toolbars and Menus」を参照してください。
TestComplete テスト オブジェクト モデル
オブジェクト構造は Object Browser パネルに表示されます。
注意: この画像では、デスクトップ アプリケーションのオブジェクト モデルを使用しています。
Web およびモバイル アプリケーションのオブジェクト モデルもほぼ同じです。
TestComplete は、テスト オブジェクトにツリー形式のモデルを使用しています。デスクトップと
Web アプリケーションのツリーのルート ノードは、Sys で、モバイル アプリケーションのルート ノ
ードは Mobile です。
自動テストおよび TestComplete について
smartbear.com TestComplete by SmartBear Software
10
Process オブジェクトは オペレーティング システムで実行中のアプリケーションに対応します。こ
のオブジェクトは、Windows ドキュメント内のプロセスのコンセプトに対応するため、ここではア
プリケーションではなくプロセスという用語を使用しています。
プロセス オブジェクトの名前は、実行可能なプロセスの名前とそのインデックスから構成されてい
ます (インデックスはいくつかのアプリケーション インスタンスを実行している場合のみ):
プロセスには、子オブジェクト (最上位ウィンドウに対応するウィンドウ) があり、子オブジェクト
には、コントロールに対応する子ウィンドウ オブジェクトがあります。ウィンドウやコントロール
の名前は、テストするアプリケーションの内部メソッドやプロパティにテスト エンジンがアクセス
できるかどうかに依存します。TestComplete は、両方のタイプのアプリケーションで動作しますが、
それらに異なる方法で名前を付けます。
ブラックボックス アプリケーション
内部メソッドやプロパティにアクセスできないアプリケーションはブラックボックス アプ
リケーションと呼ばれます。このようなアプリケーションのウィンドウの名前は、ウィンド
ウのクラス名、ウィンドウのテキストあるいはタイトル (キャプション)、インデックスから
構成されます。オペレーティング システムの観点から言えば、コントロールはウィンドウ
の一種なので、コントロールもウィンドウと同様に名前が付けられます。
自動テストおよび TestComplete について
© 2018 SmartBear Software http://support.smartbear.com/
11
ホワイトボックス アプリケーション
内部のオブジェクト、メソッド、プロパティに TestComplete がアクセスできるアプリケー
ションは、ホワイトボックス アプリケーションあるいは Open アプリケーションと呼ばれ
ます。.このアプリケーションには、Object Browser 内で アイコンが表示されます (次に示
す画像を参照)。
Open アプリケーションのウィンドウやコントロールに対して、TestComplete は ウィンドウ
やコントロールの種類を反映した名前およびアプリケーションのソースで定義した名前を
付けます。たとえば、Microsoft WinForms ライブラリで作成された C# アプリケーシ
ョ ン の MainForm と い う 名 前 の フ ォ ー ム の 場 合 、 TestComplete は
WinFormsObject("MainForm") という名前を付けます。
プロセス、ウィンドウ、コントロールの名前の付け方についての詳細は、TestComplete ヘルプの
「Naming Objects」を参照してください。
注意: 可能なかぎり、テストにはブラックボックス アプリケーションではなく Open アプリケー
ションを使用することをお勧めします。Open アプリケーションで動作させることによっ
て、テスト エンジンがアプリケーションの内部メソッドやプロパティにアクセスできる
ようになり、より強力で柔軟性のあるテストを作成することができます。
.NET、WPF、Visual Basic、Java、Web などのアプリケーションは、TestComplete では常
に "Open" です。そのほかのアプリケーションは特別な方法でコンパイルが必要になるこ
自動テストおよび TestComplete について
smartbear.com TestComplete by SmartBear Software
12
とがあります。これについての詳細情報は、TestComplete ヘルプの「Open Applications」
を参照してください。
チェックポイントと Stores
典型的なテストでは、たくさんの比較が実行されます。たとえば、アプリケーションのデータをフ
ァイルにエクスポートするユーザー アクションをシミュレートする場合、有効なデータがファイル
に含まれるかどうかを確認する必要があります。この確認を実行するには、その基準のコピーと結
果ファイルを比較します。これは、実行する必要がある比較の 1 つの例に過ぎません。実際のテス
トには、数千とまではいかなくても数百の比較が含まれます。すべてのテスト (リグレッション、
単体、機能など) は、オートメーション中に有効なリファレンスを必要とします。
TestComplete を用いることで、テストに比較コマンド (あるいはチェックポイント) を簡単に追加す
ることができます。テストのレコーディング中およびデザイン時の両方でチェックポイントを作成
することができます。TestComplete は、異なる種類のデータ (画像、ファイル、オブジェクト テキ
ストやプロパティ、XML ドキュメント、データベース テーブルなど) を比較するチェックポイント
を提供します。TestComplete は、これらのチェックポイントで用いる基準データを格納する Stores
プロジェクト項目を含んでいます。このプロジェクト項目は、プロジェクトと一緒に保存される比
較用の画像、ファイル、その他の要素を格納します。唯一の例外は、オブジェクト プロパティを検
証するチェックポイントです (このオブジェクト プロパティの基準データはテスト内で指定されま
す)。
チェックポイントと検証用コードの作成に関する詳細は、TestComplete ヘルプの「About Checkpoints」
を参照してください。
デスクトップ アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
13
デスクトップ アプリケーションのテスト
TestCompleteは、C ++、C#、VB.NET、Java、Delphi、C ++ Builder および その他の多くの開発ツ
ール で作成された 32ビットおよび 64ビット Windowsデスクトップアプリケーションのテストを
サポートします。
このチュートリアルは、デスクトップ アプリケーション (デスクトップ コンピューターで実行する
アプリケーション) のテストの基本を説明します。これは、自動テストの一般原則に精通しており、
TestComplete IDE についての最低限の知識を持っていることを前提としています。
初心者の方は、上記の自動テストの紹介を読むことをお勧めします。
このチュートリアルのセクションには、TestComplete でテスト プロジェクトを作成し、簡単なテス
トをレコーディングおよび再生実行して、結果を分析する方法の説明が含まれています。このテス
トは、テストするアプリケーション上のユーザー アクションをエミュレートし、データを検証しま
す。検証用コマンドはテスト レコーディング中に作成されます。
テストするアプリケーションについて
この説明では、TestComplete に含まれるサンプルの Orders アプリケーションを使用します。このア
プリケーションは注文 (orders) のリストを表示し、注文を追加、削除、編集、エクスポートするた
めの特別な機能を持っています。
このアプリケーションは下記の場所にインストールされます。
C:\Users\Public\Public Documents\TestComplete 12 Samples\Desktop\Orders
デスクトップ アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
14
注意: ファイル マネージャーによっては、Public Documents フォルダを Documents とし
て表示するものがあります。
ここでは、Visual C# で作成された Orders アプリケーションを使用します。
他のコンパイラ(Delphi、C ++ Builder、Swingなど)で作成された Ordersプロジ
ェクトの場合は、Webサイトの https://support.smartbear.com/downloads/testcomplete
ページから TestComplete Samples インストール パッケージをダウンロードして実
行してください。
1. テストの計画
サンプルの Orders アプリケーションは、注文リストを管理します。ここでは、アプリケーションの
Edit Order フォームが正しく機能し、注文リストのデータが変更されるかどうかをテストします。
この場合、次のように定義します:
テストの目的: このテストは、Edit Order フォームで変更されたデータが保存され、その変
更内容が注文リストに反映されるかどうかをチェックします。
テストの手順: テストでは、注文の詳細情報の変更、注文リスト内のデータの検証をシミュ
レートします。アプリケーション上のユーザー アクションをシミュレートしたテストをレ
コーディングします。簡単にするために、このテストでは 1 つの注文の 1 つのプロパティの
みを "変更" します。
チェックおよびテスト結果の記録: 注文への変更が正しく保存されたのであれば、注文リス
トにその変更内容が反映されるべきです。これをチェックするために、今回のテストはリス
ト内のデータと期待される値を比較します。テストに特別な比較コマンドを追加します。こ
のコマンドは、テスト ログに比較結果を出力するので、これによって検証が成功したか失
敗したかを確認することができます。
TestComplete を使用したテストの計画についての詳細は、TestComplete ヘルプの「Planning Tests」
を参照してください。
2. レコーディングについて
TestComplete では、2 通りの方法でテストを作成することができます。
テストを手動で作成する - スクリプト オブジェクトまたはキーワード テスト コマンドを使
用して、必要なすべてのコマンドとアクションを入力します。このアプローチは、強力で柔
軟なテストを作成する必要があるとき、またはテストの作成で豊富な経験がある場合、役に
立ちます。しかし、手動でテストを作成することは、多くの時間を必要とし、別の問題が生
じる可能性があります。たとえば、使用するアプリケーション オブジェクトのクラスや名
前を知っていなければなりません。
デスクトップ アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
15
テストを記録する - テストを簡単に作成することができます。一度、テストするアプリケー
ションに対していくつかのアクションを実行すると、TestComplete は自動的にこれらのアク
ションを認識し、それらをスクリプトまたはキーワード テスト操作に変換します。テスト
をビジュアルに作成し、実行したアクションをスクリプトまたはキーワード テストに記録
できます。これは、非常に役に立つアプローチであり、テストの作成であまり経験を必要と
しません。
このチュートリアルでは、TestComplete でテストを記録する方法を説明します。
レコーディングは次の 3 つの手順を含みます。
1. レコーディングを開始します。TestComplete のメイン メニューあるいは [Test Engine] ツール
バーから [Test] - [Record] - [Record Keyword Test] または、[Test] - [Record] - [Record Script]
を選択してレコーディングを開始します。スタートページの Record Test をクリックして、
レコーディングを開始することもできます。
さまざまな種類のテスト (キーワード テスト、スクリプト、低レベルのプロシージャー) を
レコーディングすることができます。レコーディングの開始に使用するメニュー項目によっ
て、メインのレコーディングするテスト (キーワード テストまたはスクリプト コード) が定
義されます。そのほかのテストはそのレコーディングが開始された後でレコーディングされ
ます。メインのレコーディングするテストには、これらのテストを実行する特別なコマンド
が含まれます。
TestComplete は、レコーディング モードに切り替わり、画面上に [Recording] ツールバーが
表示されます。デフォルトでは、ツールバーは折りたたまれ、レコーディング中に必要とな
るよく利用されるコマンドだけが g表示されます。
[Recording] ツールバーを展開するには、 矢印ボタンをクリックします。すると、すべて
のボタンが表示されます。
このツールバーを使用して、レコーディング中に追加の動作を実行したり、レコーディング
の一時停止や停止、レコーディングするテスト タイプ (キーワード テスト、スクリプト コ
ード、低レベルのプロシージャー) を変更することができます。
デスクトップ アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
16
2. レコーディング開始後、必要なテスト動作を実行します。テストするアプリケーションを起
動し (必要な場合)、コマンド ボタンをクリックしたり、メニュー項目を選択したり、テキ
ストを入力するなどして使用します。
3. すべてのテスト動作が終了した後、[Recording] ツールバーから [Stop] を選択し、レコー
ディングを停止します。
テストのレコーディングに関する詳細は、TestComplete ヘルプの「Recording in TestComplete」を参
照してください。
最初のテストのレコーディング方法は、次の「3. テストのレコーディング開始」を参照してくださ
い。
3. テストのレコーディング開始
1. TestComplete でプロジェクトあるいはプロジェクト スイートを開いている場合は、閉じ
てください。これをするには、[File] - [Close] を TestComplete のメインメニューから選
択します。
2. TestComplete スタート ページにに切り替えます。このページが隠れている場合、
TestComplete の [Help] メニューから [Start Page] を選択します。
3. スタートページで、 Record Test をクリックします。TestComplete は、 [Record Test] ウ
ィザードを表示します。
4. ウィザードの最初のページで、プロジェクトの名前、場所、テスト タイプを指定します。
デスクトップ アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
17
Project name テキストボックスに Orders と入力します。
Location テキストボックスはデフォルトの値のままにします。
テスト タイプを選択します。キーワードテストまたは JavaScript、Python スクリプト テ
ストのいずれかを作成することができます。
キーワードテストは、マウスのクリック、テキストの入力など、ユーザーの操作
を定義する一連のキーワードです。視覚的にキーワード テストを作成します。
スクリプトの知識は必要ではありません。
JavaScript と Python テストは、ユーザー アクションをシミュレートする命令を含
むスクリプト関数です。
このチュートリアルでは、キーワード テストの作成方法を示します。[Keyword] をクリ
ックします。
5. [Next] をクリックして続行します。
ウィザードを使って、テストするアプリケーションをプロジェクトに追加するため、ウ
ィザードで作業を続行します。
4. テストするアプリケーションの定義
各 TestComplete プロジェクトには、テストするアプリケーションのリストが含まれます。これによ
り、プロジェクトで使用するアプリケーションとそのテスト設定を追跡できます。
プロジェクトにアプリケーションを追加する方法はいくつかあります。
プロジェクトの作成中にこれを行うことができます。
これは、後で Project Explorer でいつでも行うことができます。
テストのレコーディング中に自動的に追加することができます。レコーダーはコマンドライ
ン、エクスプローラーなどからのアプリケーションの開始を検出することが可能です。
テストする Orders アプリケーションをプロジェクトに追加します:
デスクトップ アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
18
1. ウィザードでは、テストするアプリケーションを選択できる 2 番目のページが表示され
ます:
2. テストする Orderes アプリケーションは、スタンドアロンの実行ファイルとして実行さ
れる .NET アプリケーションなので、デスクトップ アプリケーションのカテゴリに該当
します。
Desktop をクリックします。
3. Application ボックスで、 [...] ボタンをクリックします。表示される [Select Tested
Application] ダイアログで、Orders 実行ファイルの場所を見つけます。以下のパスにあ
ります:
C:\Users\Public\Public Documents\TestComplete 12 Samples\Desktop\Orders\C#\bin\Release\Orders.exe
注意: ファイル マネージャーによっては、Public Documents フォルダーを
Documents として表示するものがあります。
デスクトップ アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
19
4. テストの実行を成功させるには、テスト実行の開始時およびテストのレコーディングの
開始時に、テストするアプリケーションの状態が同じである必要があります。テストの
レコーディングを開始するときにテストするアプリケーションが実行されている場合、
その状態は後続のテスト実行中の状態と異なることがあります (たとえば、データが読
み込まれているか、ダイアログが開いているなど)。そのため、テストするアプリケーシ
ョンのすべての既存のインスタンスを閉じ、テストするアプリケーションの起動からテ
ストをレコーディングすることを推奨します。
TestComplete が Orders アプリケーションの既存のインスタンスをすべて自動的に再起動
するようにするには、[Restart application] チェックボックスを選択します。
5. [Record] をクリックし、プロジェクトの作成を完了し、レコーディングを開始します。
5. テストのレコーディング
レコーディング中に TestComplete ヘルプに切り替えないでください。レコーディン
グ エンジンはすべてのユーザー アクションをトレースし、レコーディングします。
つまり、レコーディングしたテストに、この "切り替え" をシミュレートするコマン
ドが含まれてしまいます。操作手順は、レコーディングを開始する前に印刷してお
くことができます。あるいは、2 つのモニターがある場合、TestComplete ヘルプを
もう一方のモニターへ移動しておくことができます。
1. TestComplete は、テストのレコーディングを開始し、レコーディング モードに切り替わり、
画面上に [Recording] ツールバーが表示されます。
2. レコーディングが開始されると、TestComplete は自動的にテストするアプリケーション
Orders を起動します。アプリケーションが起動しない場合は、[Recording] ツールバーの [Run
App] メニューからアプリケーションを選択して手動で起動できます。または、Windows
Explorer や任意のファイル マネージャーからアプリケーションを起動できます。テストする
アプリケーションがリストにない場合は、追加することができます。
TestComplete は、特別なアプリケーションの起動テスト コマンドを使用して、アプリケー
ションの開始を記録します。後でレコーディングしたテストを分析するときに、このコマン
ドを参照します。
デスクトップ アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
20
3. アプリケーションが開始するまで待ちます。 アプリケーションのメイン ウィンドウが表示
されます。
4. Orders アプリケーションに切り替えて、そのメイン メニューから [File] - [Open] を選択しま
す。[ファイルを開く] ダイアログが表示されます。
5. このダイアログで、MyTable.tbl ファイルを開きます。これは、C:\Users\Public\Public
Documents\TestComplete 12 Samples\Desktop\Orders フォルダーにあります。ファイル マネー
ジャーによっては、Public Documents フォルダを Documents として表示するものがあります。
[ファイルを開く] ダイアログの [ファイル名] ボックス内には省略していな
いファイル名を入力することをお勧めします。マウスを使用する代わりにキ
ーボード入力することで、異なるオペレーティング システムでテストを再
生実行したり、後でテストを実行したときに [ファイルを開く] ダイアログで
異なる初期フォルダーが表示された場合に問題を回避することができます。
デスクトップ アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
21
6. [ファイル名] ボックス でファイルを指定した後、[開く] をクリックします。Orders アプリケ
ーションは、そのファイルからデータをロードし、アプリケーションのメイン ウィンドウ
にデータを表示します。
7. 注文リストの Samuel Clemens 行をクリックします。
デスクトップ アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
22
8. Orders ツールバーで、 Edit order をクリックします。[Orders] ダイアログが表示されます。
9. ダイアログで、挿入ポイントを [Customer Name] ボックスにするため、[Customer Name] ボ
ックス内をクリックします。[Customer Name] ボックス内を右クリックして、コンテキスト メ
ニューから [すべて選択] を選択した後に顧客名として Mark Twain と入力します。
10. [OK] をクリックしてこのダイアログを閉じます。アプリケーションのメイン ウィンドウ内
の顧客リストが更新されます。
11. テストに比較コマンドを挿入しましょう。この比較コマンドは、アプリケーションの顧客リ
ストに変更した名前 (Mark Twain) が表示されることを検証します。
比較コマンドをチェックポイントと呼びます。TestComplete には、異なる種類のデータの検
証に適したさまざまな種類のチェックポイントが用意されています (TestComplete ヘルプの
「Checkpoints」を参照)。最もよく使用されるチェックポイントの 1 つは、プロパティ チェ
ックポイントです。アプリケーションのコントロールのデータのチェックに使用されます。
このチュートリアルでは、このプロパティ チェックポイントを使用します。
プロパティ チェックポイントを作成するには、Create Checkpoint ウィザードを使用するは、
Quick Checkpoint を作成します。このチュートリアルでは、Quick Checkpoints の作成方法を
示します。
デスクトップ アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
23
Recording ツールバーの をクリックし、Quick Checkpoints が有効になっているこ
とを確認します。
マウス ポインターを顧客リストの上に移動します。TestComplete はそれを赤いフレ
ームでハイライトします。 アイコンが不透明なるまで待って、マウス ポインター
をそれに移動します。TestComplete は、Quick Checkpoints を作成するためにもっとも
一般的に使用されるプロパティのリストを表示します。
そのリストにある wItem をクリックします。このプロパティでは、ツリー表示コン
トロールの個々の項目にアクセスできます。
デスクトップ アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
24
デスクトップ アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
25
TestComplete は、オブジェクト プロパティのリストを表示する Create Checkpoint ウ
ィザードを開きます。このリストには、テストするアプリケーションによって定義
されたプロパティと TestComplete によって提供されるプロパティが含まれます。た
とえば、テストするアプリケーションが C# で作成されている場合は、該当する .NET
クラスのプロパティが含まれます。これらは、.Net カテゴリです (Available Properties
テーブルを参照)。
クリックした wItem プロパティがハイライトされます。
Mark Twain 文字列を保持しているセルを指定するには、Item ボックスに 5 を入力し
ます (5 は、ツリー表示での Mark Twain 項目のインデックスです。インデックスはゼ
ロベースです。)0 を SubItem ボックスに入力します。
テスト エンジンによって項目のデータが読み取られ、プロパティ リスト内に表示さ
れます。
[Condition] カラムで、デフォルトの比較条件 Equals (大文字と小文字を区別) をその
ままにします。
[Value] カラムには、テスト実行中にチェックポイントが実際のデータを比較する基
準となるデータを指定します。現在の値をそのままにします。
デスクトップ アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
26
プロパティのチェックボックスを選択します。
[Finish] をクリックしてチェックポイント作成を完了します。
レコーディングしたテストにチェックポイント コマンドが追加され、そのことにつ
いて通知が表示されます。ユーザーアクションのレコーディングを継続できます。
12. ウィンドウのキャプション バーにある [X] ボタンをクリックして [Orders] ウィンドウを閉
じます。変更を保存するかどうかを確認するダイアログが表示されます。[いいえ] をクリッ
クします。
13. [Recording] ツールバーの [Stop] を押して、レコーディングを停止します。レコーディン
グしたテスト コマンドが処理され、テストに保存されます。
デスクトップ アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
27
6. レコーディングしたテストの解析
レコーディング終了後、TestComplete はレコーディングしたキーワード テストを編集用に開き、
Keyword Test エディターにテストの内容を表示します。
レコーディングしたテストは上記の画像に示すテストのようになります。実行環境によってはこれ
とは異なることがあります。たとえば、C++Builder または Delphi アプリケーションでテストをレコ
ーディングした場合は、ほかのオブジェクト名やウィンドウ インデックスを含んでいる可能性があ
ります。
このテストには、レコーディング中に Orders アプリケーション上で実行した動作に対応するコマン
ドが含まれています。このテスト コマンドを operation と呼びます。
デスクトップ アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
28
コマンドの下に Test Visualizer パネルがあり、TestComplete によってテストのレコーディング中に
operation でキャプチャーされた画像が表示されます。
これらの画像は、レコーディングした operation を表し、operation が実行する動作を理解するのに役
立ちます。TestComplete は、ユーザー アクション (マウス クリック、テキスト入力など) に対応し
た operation の画像のみをキャプチャーします。
エディター内でこの操作を選ぶと、Test Visualizer は自動的に適切な画像を選択するため、operation
が実行される前にアプリケーションの状態を簡単に見ることができます。画像をさらに詳しく見た
い場合は、Test Visualizer パネルでその画像をダブルクリックします。
画像の作業についての詳細は、TestComplete ヘルプの「Test Visualizer」を参照してください。
このテストの最初の operation は、Run TestedApp です。これは、テストするアプリケーション (今
回の場合、Orders アプリケーション) を、キーワード テストから起動するのに使用します。
TestComplete は、自動的にアプリケーションを起動するときに、あるいは [Recording] ツールバーや
オペレーティング システムの UI からアプリケーションが起動されたことを検出すると、自動的に
この操作を記録します。
次の operation は、[File] - [Open] メニュー項目の選択に対応します。
デスクトップ アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
29
次の operation は、[ファイルを開く] ダイアログでファイルを開く動作をシミュレートします。
特定のケースでは、TestComplete は、[ファイルを開く] ダイアログ コントロールを操作するときに
実行するアプションをシミュレートする一連の操作をレコーディングできます。
注意: [ファイルを開く] ダイアログのコントロールを使用してファイルをナビゲートする代わりに、
このダイアログの [ファイル名] ボックスに開きたいファイルのフルネームを入力することを
推奨します。そうすることで、オペレーティング システム、ダイアログで表示されるパス、利
用可能なナビゲーション バーやパネルに関係なく、正常に実行されるテストを記録できます。
テストに [ファイルを開く] ダイアログに対する一連の操作が含まれる場合、手動でテストを編
集して、これらの操作を OpenFile メソッドの呼び出しに置換することができます。
その後、アプリケーションのメイン ウィンドウと Order フォームでのユーザー アクションをシミュ
レートする operation が続きます。
マウス イベント、キーボード入力、スクリプトからのその他の動作についての詳細は、TestComplete
ヘルプの「Simulating User Actions」を参照してください。
デスクトップ アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
30
次は、テスト レコーディング中に追加した比較動作です。
最後に、Orders アプリケーションを閉じる動作とメッセージ ボックス内で [いいえ] ボタンを押し
た動作です。
TestComplete は、自動的に operation を使用したプロセスやウィンドウに対応するグループにまとめ
ます。グループ化することで、テスト構造を簡単に理解できるようにし、さらにアプリケーション
のオブジェクト階層の情報を提供しています。
ここでは、1 つのプロセス (Orders) のユーザー アクションをレコーディングしました。そのため、
"process" グループ ノードは、1 つだけです。このグループ ノードには、プロセス ウィンドウおよ
びコントロールでシミュレートしたすべての動作が含まれています。Orders プロセスのコントロー
ルやウィンドウで実行した動作はいくつかの "window" グループ ノードにまとめられています。
テストするプロセスやそのウィンドウ、およびコントロールの名前が、これまでの手順で Object
Browser パネルに表示されていた名前と異なることにお気付きかもしれません。たとえば、Object
Browser では、テストするプロセスは Process("Orders") という名前であるのに対し、テスト内では
Orders と呼ばれます。また Object Browser で、メイン ウィンドウは WinFormsObject("MainForm") と
呼ばれるのに対し、テストでは MainForm という名前です。
これには、論理的な理由があります。デフォルトでは、TestComplete は、テスト レコーディング中
に使用したオブジェクトに対して自動的にカスタム ネームを生成し、使用します。カスタム ネー
デスクトップ アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
31
ムの生成および割り当ては、名前のマッピングと呼ばれます。デフォルトの名前は理解しにくいこ
とがあるので、TestComplete では名前のマッピングを行っています。デフォルトの名前では、名前
に対応するウィンドウやコントロールがどれなのかの判断が難しいことがあります。マッピングし
た名前はテストをよりわかりやすく、安定したものにします。名前のマッピングに加えて、
TestComplete はマップされたオブジェクトのイメージを Name Mapping リポジトリに格納します。
これは、1 つまたは別のマップされたオブジェクトが一致するウィンドウまたはコントロールを理
解するのに役立ちます。名前のマッピングに関する詳細情報は、TestComplete ヘルプの「Name
Mapping」を参照してください。
7. レコーディングしたテストの実行
TestComplete がユーザー アクションをどのようにシミュレートするか、ここで簡単なテストを実行
してみましょう。
レコーディングしたテストを実行する前に、レコーディングしたときと同じ初期状態でテストが開
始されることを確認してください。たとえば、ほとんどテストは、テストするアプリケーションの
実行を必要とします。つまり、ユーザー アクションをシミュレートする前に、そのアプリケーショ
ンを起動する必要があります。今回の例では、テストするアプリケーションを起動するため、テス
トの始めに Run TestedApp operation を使用し、テストによってアプリケーションが起動されるよう
にしました。代替手段として、テストするアプリケーションを手動で TestComplete の IDE から実行
することも可能です。
レコーディングしたテストを実行するためには、テスト エディターのツールバーにある [Run
Test] をクリックします。
このテスト エンジンは TestComplete のウィンドウを最小化して、テスト コマンドの実行を開始し
ます。このチュートリアルのテストでは、レコーディングした動作が実行されます。
注意: テスト実行中は、マウスを動かしたり、キーを押したりしないでください。
TestComplete でシミュレートされる動作を妨げたり、テスト実行が正しく行われな
い可能性があります。
テスト実行の終了後、TestComplete はテスト結果を表示します。次の手順では、これを解析します。
テスト実行に関するいくつかの注意:
作成したテストは、テスト実行用の実行ファイルにはコンパイルされません。TestComplete
から直接テストを実行します。TestComplete がインストールされていないコンピューターで
デスクトップ アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
32
テストを実行するためには、TestExecute と呼ばれるリソース フレンドリーなユーティリテ
ィを使用することができます。また、外部のアプリケーションにスクリプトをエクスポート
して、それを実行することもできます。詳細については、TestComplete ヘルプの「Connected
and Self-Testing Applications」を参照してください。
テストの実行中、TestComplete は、画面の右上にインジケーターを表示します。
このインジケーターは、シミュレートしたテスト動作に関する通知メッセージを表示します。
TestComplete は、テストが終了するまでこのテスト コマンドを実行します。[Test Engine] ツ
ールバーの [Stop] を押すか、または TestComplete メイン メニューから [Test] - [Stop] を選
択することで、テスト実行をいつでも停止することができます。
[Pause] をクリックすることでテスト実行を一時停止することができます。一時停止の間
は、必要な任意の動作を実行することが可能です。たとえば、テスト ログを表示したり、
TestComplete の Watch List や Locals パネルあるいは Evaluate ダイアログを使用してテスト
の変数やオブジェクトを確認することが可能です (TestComplete ヘルプの「Debugging Tests」
を参照)。
テストを実行するためには、テスト エディターのツールバーにある [Run Test] ボタンを使
用します。このほかにも、いくつかの方法でテストを実行することができます。Project
Explorer あるいは、ほかのテストから、テストを実行することも可能です。プロジェクト エ
ディターのテスト項目ページを使用して、バッチの実行を作成することもできます。
デスクトップ アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
33
TestComplete のテスト実行、実行に影響するプロジェクト設定、テスト実施に関する詳細は、
TestComplete ヘルプの「Running Tests」を参照してください。
デスクトップ アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
34
8. テスト結果の解析
TestComplete は、テスト中に実行されたすべての操作の完全なログを保存します。テスト結果への
リンクは、Project Explorer パネルの [Project Suite Logs] - [Orders Log] ノードに表示されます。こ
れは、プロジェクトおよびプロジェクト スイートのテスト履歴を調べるための主なワークスペース
です。各ノードは 1 つのテスト実行に対応します。ノードの左の画像は、対応するテストの実行が
成功したかどうかを表しています。
テスト実行の終了後、TestComplete は自動的に最終結果のノードを追加します。つまり、テストが
実行中のときは、結果は表示されません (テストの実行を一時停止した場合は、中間結果を表示す
ることができます)。
ここまでに実行したテストは 1 つのみなので、Project Explorer には 1 つのログ ノードだけが表示さ
れます。デフォルトでは、Workspace パネルにこのノードの内容が自動的に表示されます。このロ
グは、いつでも確認することができます。ログを見るには、Project Explorer パネルで表示したい結
果を右クリックし、コンテキスト メニューから [Open] を選択します。
注意: デフォルトで、TestComplete はログ ファイルにすべてのテスト結果を格納します。
テスト実行ごとにログ ファイルぼ数が増えて、メモリ消費量が増加します。メモリ
使用量を減らすために、手動でログ ファイルを削除したり、保存するログ ファイ
ルの数を制限することができます。
デスクトップ アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
35
この例では、ログは次のようになります。
ログ ウィンドウは、1 度に 1 つのテスト実行の結果を表示します。ウィンドウの左側は、実行され
たテストのツリー構造で、それぞれのテストのノードを選択してその結果を表示することができま
す。たとえば、今回の例のように 1 つのテストを実行した場合、このツリーには 1 つのノードのみ
含まれます。このノードのアイコンは、テストが成功したかどうかを示します。
テスト ログには、エラー、警告、情報および他の種類のメッセージが含まれています。左のアイコ
ンは、メッセージの種類を示します。メッセージ リストの上のチェック ボックスを使用すること
で、種類によってメッセージを表示/非表示にすることができます。
それぞれのメッセージでは、アクションが行われた時間が Time 列に表示されます。
TestComplete は、メッセージとともに追加テキストや画像を出力することがあります。これらを確
認するには、ログ内でメッセージを選択し、メッセージ リストの下にある Additional Information や
Picture ペインを参照します。たとえば、上記画像の Picture ペインは、"The menu item 'Orders|Edit
order...' was clicked" メッセージに関連するスクリーンショットを表示しています。
Picture パネルでは、選択したテスト コマンドを実行する前に、期待される状態と実際のアプリケ
ーションの状態を示す画像が表示されます("期待される" とはレコーディング中にそのテスト コマ
ンドでキャプチャーされた画像を指し、"実際" とはテストの実行中にキャプチャーされた画像を指
デスクトップ アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
36
します)。画像の違いを見るため、 View Comparison Result をクリックすることができます。その
ため、テストでエラーが発生した場合、簡単に見つけることができます。詳細については、
TestComplete ヘルプの「Test Visualizer」を参照してください。
Call Stack ペインは、選択したメッセージをログに出力したテスト コールの階層を表示します。
Performance Counters ペインは、テスト実行中にモニターしたパフォーマンス カウンターの値を表
示します。値はグラフ形式で表示されます。
ログにメッセージを出力したテスト操作を表示するには、ログ内でメッセージをダブルクリックし
ます。すると、エディターでキーワード テストが開き、該当する操作がハイライトされます。たと
えば、ログの "Toolbar button 5 was clicked" メッセージをダブルクリックした場合、この動作が行わ
れたキーワード テスト操作がハイライトされます。
テスト ログ パネル、ログへメッセージを出力、その結果の使用に関する詳細情報は、TestComplete
ヘルプの「Test Results」を参照してください。
注意: ここで説明したログは、TestComplete キーワード テストおよびスクリプト特有のログで
す。ほかの種類のテストは異なった構造のログになります。ログに関する詳細情報は、
適当なプロジェクト項目の解説を参照するか、そのログ ページ内をクリックして、F1 を
押してください。
デスクトップ アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
37
エラーの解決
テストが失敗することがあります。これにはいくつかの可能性があります。たとえば、開発者がア
プリケーションの振る舞いを変更したり、ウィンドウとコントロールの認識属性の変更によりテス
ト エンジンが必要なオブジェクトの検出に失敗したり、サードパーティのアプリケーションがテス
トするアプリケーションのウィンドウに重なっているためにテスト エンジンがアクションのシミ
ュレートに失敗するなどの可能性があります。
初めてのユーザーが直面するもっとも典型的なものは、テスト作成中と再生実行中でアプリケーシ
ョンの状態が異なることです。この問題を避けるには、テストを作成したときと同じ初期状態でテ
スト実行しているか確認してください。たとえば、レコーディングする前にテストするアプリケー
ションが実行されていた場合、テストを開始する前にアプリケーションを実行しておかなければな
りません。また、レコーディングしたときにテストする Web ページがブラウザーの 2 つめのタブ
で開かれていた場合、テストを実行するときも 2 つめのタブで開かれるようにしなければなりませ
ん。
エラーの原因を探し、典型的な問題を解決するための情報は、TestComplete ヘルプの「Handling
Playback Errors」を参照してください。
Web アプリケーションのテスト - チュートリアル
smartbear.com TestComplete by SmartBear Software
38
Web アプリケーションのテスト - チュートリアル
TestComplete は、Internet Explorer、Edge、Chrome、Firefox、または組み込みの WebBrowser または
Chromiumで動作する Web アプリケーションの機能テストをサポートします。TestComplete は、Web
アプリケーションのテストをサポートし、HTML5、AJAX、ASP.NET、Flash、Flex、AIR、および
Silverlight テクノロジーのサポートを強化しています。
このセクションでは、TestComplete でテスト プロジェクトを作成し、簡単な Web テストをレコー
ディング、再生実行し、結果を解析する方法について説明します。これは、自動テストの一般原則
に精通しており、TestComplete IDE についての最低限の知識を持っていることを前提としています。
初心者の方は、上記の自動テストの紹介を読むことをお勧めします。
このテストは、Web ページ上のユーザー アクションをエミュレートし、データを検証します。検
証用コマンドはテスト レコーディング中に作成されます。
テストする Web ページについて
このチュートリアルでは、SmartBear 社の Web サイトにあるサンプルの SmartStore アプリケーショ
ンを使用します:
http://services.smartbear.com/samples/TestComplete12/smartstore/
Web アプリケーションのテスト - チュートリアル
© 2018 SmartBear Software http://support.smartbear.com/
39
このアプリケーションは、アイテムをブラウズしたり、ウィッシュ リストとショッピング カート
に追加したり、アイテムを比較したりできるサンプル オンライン ストアです。アカウントを作成
して、ログインし、モックアップ オーダーを作成することができます:
注意: このチュートリアルでは、Google Chrome Web ブラウザーを使用します: チュートリアルのす
べの画像は、テストするアプリケーションを Chrome で開いた状態で作成されています。サ
ポートされている任意の Web ブラウザーを使用できます。
1. Web ブラウザーの準備
TestComplete で Web テストをレコーディングして再生実行するには、Web ブラウザーを特別な方
法で設定する必要があります。また、クロスブラウザー テストを簡単にするため、ブラウザー固有
の動作を排除することを推奨します。ブラウザーの設定についての詳細は、TestComplete ヘルプの
「Preparing Web Browsers」を参照してください。
ブラウザーの設定が完了したら、テストを作成します。
Web アプリケーションのテスト - チュートリアル
smartbear.com TestComplete by SmartBear Software
40
2. テストの計画
このサンプル SmartStore アプリケーションは、オンライン ストアです。アプリケーションがショッ
ピング カートにアイテムを正しく追加するかどうかをテストする必要があるとします。この場合、
次のように定義する必要があります:
テスト目的: テストでは、選択したアイテムがショッピング カートに正しく追加されている
かどうかを確認する必要があります。つまり、ショッピングカートに追加されたアイテムが
表示されます。
テスト手順: テストでは、ショッピング カートにアイテムを追加し、ショッピング カートに
このアイテムが含まれていることを確認する必要があります。アプリケーション上のユーザ
ー アクションをシミュレートしたテストをレコーディングします。
テスト結果の確認とロギング: アイテムが正しく追加されている場合は、そのアイテムがシ
ョッピング カート内にある必要があります。これをチェックするには、ショッピング カー
トのデータを期待値と比較します。この目的のために、特別な比較コマンドをテストに追加
します。このコマンドは、比較結果をテストログに出力するので、検証が失敗したかどうか
を見れます。
TestComplete を使用したテストの計画についての詳細は、TestComplete ヘルプの「Planning Tests」
を参照してください。
3. テストのレコーディングについて
TestComplete では、2 通りの方法でテストを作成することができます。
テストを手動で作成する - スクリプト オブジェクトまたはキーワード テスト コマンドを使
用して、必要なすべてのコマンドとアクションを入力します。このアプローチは、強力で柔
軟なテストを作成する必要があるとき、またはテストの作成で豊富な経験がある場合、役に
立ちます。しかし、手動でテストを作成することは、多くの時間を必要とし、別の問題が生
じる可能性があります。たとえば、使用するアプリケーション オブジェクトのクラスや名
前を知っていなければなりません。
テストを記録する - テストを簡単に作成することができます。一度、テストするアプリケー
ションに対していくつかのアクションを実行すると、TestComplete は自動的にこれらのアク
ションを認識し、それらをスクリプトまたはキーワード テスト操作に変換します。テスト
をビジュアルに作成し、実行したアクションをスクリプトまたはキーワード テストに記録
できます。これは、非常に役に立つアプローチであり、テストの作成であまり経験を必要と
しません。
このチュートリアルでは、TestComplete でテストを記録する方法を説明します。
レコーディングは次の 3 つの手順を含みます。
Web アプリケーションのテスト - チュートリアル
© 2018 SmartBear Software http://support.smartbear.com/
41
1. レコーディングを開始します。TestComplete のメイン メニューあるいは [Test Engine] ツール
バーから [Test] - [Record] - [Record Keyword Test] または、[Test] - [Record] - [Record Script]
を選択してレコーディングを開始します。スタートページの Record Test をクリックして、
レコーディングを開始することもできます。
さまざまな種類のテスト (キーワード テスト、スクリプト、低レベルのプロシージャー) を
レコーディングすることができます。レコーディングの開始に使用するメニュー項目によっ
て、メインのレコーディングするテスト (キーワード テストまたはスクリプト コード) が定
義されます。そのほかのテストはそのレコーディングが開始された後でレコーディングされ
ます。メインのレコーディングするテストには、これらのテストを実行する特別なコマンド
が含まれます。
TestComplete は、レコーディング モードに切り替わり、画面上に [Recording] ツールバーが
表示されます。デフォルトでは、ツールバーは折りたたまれ、レコーディング中に必要とな
るよく利用されるコマンドだけが g表示されます。
[Recording] ツールバーを展開するには、 矢印ボタンをクリックします。すると、すべて
のボタンが表示されます。
このツールバーを使用して、レコーディング中に追加の動作を実行したり、レコーディング
の一時停止や停止、レコーディングするテスト タイプ (キーワード テスト、スクリプト コ
ード、低レベルのプロシージャー) を変更することができます。
2. レコーディング開始後、必要なテスト動作を実行します。テストするアプリケーションを起
動し (必要な場合)、コマンド ボタンをクリックしたり、メニュー項目を選択したり、テキ
ストを入力するなどして使用します。
3. すべてのテスト動作が終了した後、[Recording] ツールバーから [Stop] を選択し、レコー
ディングを停止します。
テストのレコーディングに関する詳細は、TestComplete ヘルプの「Recording in TestComplete」を参
照してください。
Web アプリケーションのテスト - チュートリアル
smartbear.com TestComplete by SmartBear Software
42
4. テストのレコーディング開始
1. TestComplete でプロジェクトあるいはプロジェクト スイートを開いている場合は、閉じてく
ださい。これをするには、[File] - [Close] を TestComplete メインメニューかた選択します。
2. TestComplete スタート ページにに切り替えます。このページが隠れている場合、
TestComplete の [Help] メニューから [Start Page] を選択します。
3. スタートページで、 Record Test をクリックします。TestComplete は、 [Record Test] ウィ
ザードを表示します。
4. ウィザードの最初のページで、プロジェクトの名前、場所、テスト タイプを指定します。
Project name テキストボックスに Orders と入力します。
[Location] はデフォルトの値をそのままにします。
テスト タイプを選択します。キーワードテストまたは JavaScript、Python スクリプト テスト
のいずれかを作成することができます。
キーワードテストは、マウスのクリック、テキストの入力など、ユーザーの操作を定義
する一連のキーワードです。視覚的にキーワード テストを作成します。スクリプトの
知識は必要ではありません。
JavaScript と Python テストは、ユーザー アクションをシミュレートする命令を含むスク
リプト関数です。
Web アプリケーションのテスト - チュートリアル
© 2018 SmartBear Software http://support.smartbear.com/
43
このチュートリアルでは、キーワード テストの作成方法を示します。[Keyword] をクリック
します。
5. [Next] をクリックして続行します。
ウィザードを使って、テストするアプリケーションをプロジェクトに追加するため、ウィザードで
作業を続行します。
Web アプリケーションのテスト - チュートリアル
smartbear.com TestComplete by SmartBear Software
44
5. テストする Web ページの定義
1. ウィザードでは、テストするアプリケーションを選択できる 2 番目のページが表示されま
す:
2. Web ページにある SmartStore アプリケーションをテストするので、Web をクリックします。
3. サポートしている Web ブラウザーの 1つを選択します:
Internet Explorer
Firefox
Google Chrome
Microsoft Edge
このチュートリアルでは、Google Chrome を使用します。サポートされているその他の Web
ブラウザーを使用できます。
4. URL テキスト ボックスで、次の URL を入力します:
http://services.smartbear.com/samples/TestComplete12/smartstore/
5. テストを正常に実行するには、テスト実行の開始時にテストするアプリケーションの状態を
テストのレコーディング時の開始時と同じにする必要があります。テストのレコーディング
を開始するときにテストするアプリケーションが実行されている場合、その状態は後続のテ
スト実行中の状態と異なることがあります (たとえば、データが読み込まれているか、ダイ
Web アプリケーションのテスト - チュートリアル
© 2018 SmartBear Software http://support.smartbear.com/
45
アログが開いているなど)。そのため、テストのレコーディングを開始する前に、Web ブラ
ウザーの実行中のすべてのインスタンスを閉じることをお勧めします。
サポートされている Web ブラウザーのいずれかが実行されている場合、ウィザードは、
[Restart the selected browser] チェックボックスを表示します。このチェックボックスをオン
にすると、選択した Web ブラウザーを閉じて、レコーディングが開始されると自動的に再
起動するようにウィザードに指示します。
(システム内で他の Web ブラウザーが実行されている場合、Web ブラウザーは引き続き実行
されます。)
6. [Record] をクリックし、プロジェクトの作成を完了し、レコーディングを開始します。
6. テストのレコーディング
注意: レコーディング中に TestComplete ヘルプに切り替えないでください。レコーディング
エンジンはすべてのユーザー アクションをトレースし、レコーディングします。つま
り、レコーディングしたテストに、この "切り替え" をシミュレートするコマンドが含
まれてしまいます。
操作手順は、レコーディングを開始する前に印刷しておくことができます。あるいは、
2 つのモニターがある場合、TestComplete ヘルプをもう一方のモニターへ移動してお
くことができます。
Web アプリケーションのテスト - チュートリアル
smartbear.com TestComplete by SmartBear Software
46
1. 選択した Web ブラウザーが起動し、SmartStore アプリケーションのメインページに移動す
るまで待ちます:
Web アプリケーションのテスト - チュートリアル
© 2018 SmartBear Software http://support.smartbear.com/
47
ブラウザーが起動しない場合は、起動して必要な Web ページを手動で開くことができます。
TestComplete は、特別なテスト コマンドを使用して、Web ブラウザーの開始をレコーディ
ングします。後でレコーディングしたテストを分析するときに、このコマンドを参照します。
2. [検索] テキストボックスに、ball を入力します。
Web アプリケーションのテスト - チュートリアル
smartbear.com TestComplete by SmartBear Software
48
3. 検索結果で、Official game ball アイテムを見つけて、クリックします:
Web アプリケーションのテスト - チュートリアル
© 2018 SmartBear Software http://support.smartbear.com/
49
4. アプリケーションが、選択したアイテムページを開きます:
5. そのページで、アイテムのカラー: 青色 と、サイズ: 3 を選択します:
Web アプリケーションのテスト - チュートリアル
smartbear.com TestComplete by SmartBear Software
50
6. [Add to cart] をクリックします:
Web アプリケーションのテスト - チュートリアル
© 2018 SmartBear Software http://support.smartbear.com/
51
7. アプリケーションは、Shopping Cart にアイテムが追加されて表示されます:
8. テストに比較コマンドを挿入します。ショッピングカートには、選択した機能 (カラー: 青
色、サイズ: 3) のアイテムが含まれていることが確認されます。
比較コマンドをチェックポイントと呼びます。TestComplete には、異なる種類のデータの検
証に適したさまざまな種類のチェックポイントが用意されています (TestComplete ヘルプの
「Checkpoints」を参照)。最もよく使用されるチェックポイントの 1 つは、プロパティ チェ
ックポイントです。アプリケーションのコントロールのデータのチェックに使用されます。
このチュートリアルでは、このプロパティ チェックポイントを使用します。
プロパティ チェックポイントを作成するには、Create Checkpoint ウィザードを使用するは、
Quick Checkpoint を作成します。このチュートリアルでは、Quick Checkpoints の作成方法を
示します。
Recording ツールバーの をクリックし、Quick Checkpoints が有効になっているこ
とを確認します。
マウスポインターを Color: Blue, Size:3 の行に移動します。TestComplete はそれを赤
いフレームでハイライトします。 アイコンが表示されるまで待ち、マウスポイン
Web アプリケーションのテスト - チュートリアル
smartbear.com TestComplete by SmartBear Software
52
ターをそのアイコンに移動します。TestComplete は、Quick Checkpoints を作成するた
めにもっとも一般的に使用されるプロパティを表示します。
Web アプリケーションのテスト - チュートリアル
© 2018 SmartBear Software http://support.smartbear.com/
53
リストで、[contentText] プロパティを選択します。
このプロパティは、選択した Web 要素が表示するテキストへのアクセスを提供しま
す。このプロパティは、ブラウザーに依存しません。つまり、サポートされている
すべての Web ブラウザーで同じように動作し、さまざまなブラウザーでテストを実
行再生する際の問題を回避できます。
TestComplete は、レコーディングしたテストにチェックポイント コマンドを追加し、
それに関する通知を表示します。
ユーザーアクションのレコーディングを継続できます。
Web アプリケーションのテスト - チュートリアル
smartbear.com TestComplete by SmartBear Software
54
9. アイテムの横にある [削除] ボタンをクリックし、ショッピングカートをクリアします。
10. ブラウザーのキャプション バーにある [X] ボタンをクリックしてブラウザーを閉じます。
11. [Recording] ツールバーの [Stop] を押して、レコーディングを停止します。レコーディン
グしたテスト コマンドが処理され、テストに保存されます。
Web アプリケーションのテスト - チュートリアル
© 2018 SmartBear Software http://support.smartbear.com/
55
7. レコーディングしたテストの解析
レコーディング終了後、TestComplete はレコーディングしたキーワードを Keyword Test エディター
で開きます。
レコーディングしたテストは上記の画像に示すテストのようになります。実行環境によってはこれ
とは異なることがあります。たとえば、不要なクリック操作が含まれていることがあります。
このテストには、レコーディング中に SmartStore アプリケーション上で実行した動作に対応するコ
マンドが含まれています。このテスト コマンドを operation と呼びます。
コマンドの下に Test Visualizer パネルがあり、TestComplete によってテストのレコーディング中に
operation でキャプチャーされた画像が表示されます。
Web アプリケーションのテスト - チュートリアル
smartbear.com TestComplete by SmartBear Software
56
これらの画像は、レコーディングした operation を表し、operation が実行する動作を理解するのに役
立ちます。TestComplete は、ユーザー アクション (マウス クリック、テキスト入力など) に対応し
た operation の画像のみをキャプチャーします。エディター内でこの操作を選ぶと、Test Visualizer は
自動的に適切な画像を選択するため、operation が実行される前にアプリケーションの状態を簡単に
見ることができます。画像の作業についての詳細は、「Test Visualizer」を参照してください。
このテストの最初の operation は、Run Browser です。これは、ブラウザーを起動し、キーワード リ
ストから指定されたページに移動します。TestComplete は、ブラウザーが起動されたことを検出す
ると、自動的にこの操作をレコーディングします。
次の動作は、検索ボックスと検索結果に連動します。
次に、選択されたアイテムの説明を持つページを待つ動作があります。
それに続いて、アイテムの色とサイズを選択をシミュレートすし、そのアイテムをカートに追加す
る動作があります。
次は、テストのレコーディング中に追加した比較動作です。
Web アプリケーションのテスト - チュートリアル
© 2018 SmartBear Software http://support.smartbear.com/
57
その後、ショッピングカートをクリアする動作があります。
そして、Web ブラウザーを閉じる動作です。
マウス イベント、キーボード入力、スクリプトからのその他の動作についての詳細は、TestComplete
ヘルプの「ユーザー アクションのシミュレーション (Simulating User Actions)」 を参照してください。
TestComplete は、自動的に operation を使用したプロセスやウィンドウに対応するグループにまとめ
ます。グループ化することで、テスト構造を簡単に理解できるようになります。さらにアプリケー
ションのオブジェクト階層の情報を提供しています。
ここでは、1 つのブラウザーのユーザー アクションをレコーディングしました。そのため、ブラウ
ザーのグループ ノードがあります。これらには、ブラウザー ウィンドウおよびコントロールで実
行したすべての動作が含まれています。さまざまな Web ページで実行した動作はいくつかの "page"
グループ ノードにまとめられています。
Web アプリケーションのテスト - チュートリアル
smartbear.com TestComplete by SmartBear Software
58
レコーディングしたテストの Web ブラウザー、およびページ要素の名前に注意する必要がありま
す。
これらは、Object Browser パネルに表示される名前と異なります。たとえば、Object Browser では、
Web ブラウザーの名前は ( 使用するブラウザーに応じて ) Browser("iexplore")、
Browser("edge")、Browser("firefox")、または Browser("chrome") であるのに対し、テスト
では単に browser と呼ばれます。別の例は、SmartStore アプリケーションのメインページです。Object
Browser で は 、
Page("http://services.smartbear.com/samples/TestComplete12/smartstore/") と呼ばれ、
テストでは、その名前ははるかに短い pageShop と呼ばれます。
これは、デフォルトで、テストをレコーディングしている間、TestComplete は自動的にすべての項
目を Name Mapping リポジトリに追加しているためです。各項目のために、TestComplete は後でア
プリケーション内のオブジェクトを見つけるために使用する認識パラメーターを格納します。また、
各項目のために、alias を格納します。エイリアスはテスト内のオブジェクトを見つけるために使用
する短い名前です。
Web アプリケーションのテスト - チュートリアル
© 2018 SmartBear Software http://support.smartbear.com/
59
Project Explorer の Name Mapping 項目をダブルクリックして、Name Mapping リポジトリを開き、
TestComplete がテストのレコーディング中にオブジェクト用に作成した認識パラメーターとエイリ
アスを表示できます。
Name Mapping とエイリアスの使用は、テストをより分かりやすく、安定したものにします。
Web アプリケーションのテスト - チュートリアル
smartbear.com TestComplete by SmartBear Software
60
8. レコーディングしたテストの改善
レコーディングされたテストをそのまま実行することもできますが、それを調整してより安定させ
ることをお勧めします。
たとえば、マウス クリックなどのユーザー アクションをレコーディングすると、TestComplete は
クリックが実行された座標を記録します。たとえば、下の画像は、テストするアプリケーションで
[検索] テキストボックスの特定のポイントのクリックをシミュレートする Click 操作を示していま
す。
レコーディングしたテストを実行すると、TestComplete はテスト レコーディング中に実行されたの
とまったく同じポイントでクリックをシミュレートします。これは、ブラックボックス アプリケー
ション (TestComplete がアクセスできないコントロールへのアプリケーション、ユーザー アクショ
ンをシミュレートするために座標に依存する必要がある) をテストするときに便利です。.コントロ
ールのさまざまな部分をクリックするとさまざまな結果が得られる、複雑なコントロールをテスト
する場合にも便利です。
ただし、このチュートリアルでは、Open Application をテストしています。TestComplete はすべて
のコントロールを認識し、そのプロパティとメソッドにアクセスできます。したがって、ユーザー
アクションをシミュレートするために座標に頼る必要はありません。
さらに、テストしているアプリケーションは、レスポンシブ デザインです。 ブラウザー ウィンド
ウのサイズに合わせてコントロールのサイズと位置を調整します。TestComplete が 1つのブラウザ
ー ウィンドウ サイズ用にレコーディングした座標は、別のブラウザー ウィンドウ サイズ用にテス
トを実行すると正しくない座標になります。
レコーディングされたテストを修正して、適切なコントロールの左上隅で、すべてのクリック アク
ションをシミュレートしましょう。このようにして、ブラウザー ウィンドウのサイズとアプリケー
ションの現在のコントロール レイアウトに関係なく、テストは正しくクリックをシミュレートしま
す。
Web アプリケーションのテスト - チュートリアル
© 2018 SmartBear Software http://support.smartbear.com/
61
1. テストで、[検索] テキスト ボックスでのクリックを見つけて、[Value] カラムの [...] ボタンをク
リックします。
2. TestComplete は、この操作の [Operation Parameters] ダイアログを開きます。
Web アプリケーションのテスト - チュートリアル
smartbear.com TestComplete by SmartBear Software
62
3. ダイアログボックスで、レコーディングされた ClientX と ClientY パラメーターを 1 に置き換え
ます。TestComplete の場合、これはコントロールの左上隅をクリックすることに相当します。
OK をクリックして、変更を適用し、ダイアログを閉じます。
注意: 代わりに、クリック座標を -1、 -1 に設定することもできます。TestComplete の場合、
これはコントロールの中央をクリックすることに相当します。
4. 同様に、検索結果リストとアイテムのカラー チェック ボックス上のクリックをシミュレートす
る操作の座標を変更します。
5. テストでハードコードされた座標でクリックをシミュレートするその他の操作がある場合、必要
に応じて座標を調整します。
6. TestComplete のメインメニューから、 [File] - [Save All] を選択して、すべての変更を保存します。
9. レコーディングしたテストの実行
TestComplete がユーザー アクションをどのようにシミュレートするか、ここで簡単なテストを実行
してみましょう。
Web アプリケーションのテスト - チュートリアル
© 2018 SmartBear Software http://support.smartbear.com/
63
レコーディングしたテストを実行する前に、初期状態がレコーディングしたときと同じであること
を確認してください。たとえば、ほとんどの Web テストでは、Web ブラウザーが起動され、必要
なページが表示されている必要があります。今回の例では、ブラウザーを起動し、テストする Web
ページを開くため、テストの初めに Run Browser operation を使用します。
レコーディングしたテストを実行するためには、テスト エディターのツールバーにある [Run
Test] をクリックします。
TestComplete がテスト コマンドの実行を開始します。このチュートリアルのテストでは、レコーデ
ィングした動作が実行されます。
注意: テスト実行中は、マウスを動かしたり、キーを押したりしないでください。
TestComplete でシミュレートされる動作を妨げたり、テスト実行が正しく行われない
可能性があります。
テスト実行の終了後、TestComplete はテスト結果を表示します。次の手順では、これを解析します。
テスト実行に関するいくつかの注意:
テストの実行中、TestComplete は、画面の右上にインジケーターを表示します。
このインジケーターは、シミュレートしたテスト動作に関する通知メッセージを表示します。
TestComplete は、テストが終了するまでこのテスト コマンドを実行します。[Test Engine] ツ
ールバーまたはインジケーターの [Stop] を押すか、または TestComplete メイン メニュー
から [Test] - [Stop] を選択することで、テストの実行をいつでも停止することができます。
You can pause the test execution by clicking Pause.一時停止の間は、必要な任意の動作を実行
することが可能です。たとえば、テスト ログを表示したり、TestComplete の Watch List や
Locals パネルあるいは Evaluate ダイアログを使用してテストの変数やオブジェクトを確認
することが可能です (TestComplete ヘルプの「Debugging Tests」を参照)。
TestComplete がインストールされていないコンピューターでテストを実行するためには、
TestExecute と呼ばれるリソース フレンドリーなユーティリティを使用することができます。
TestComplete のテスト実行、実行に影響するプロジェクト設定、テスト実施に関する詳細は、
TestComplete ヘルプの「Running Tests」を参照してください。
Web アプリケーションのテスト - チュートリアル
smartbear.com TestComplete by SmartBear Software
64
10. テスト結果の解析
TestComplete は、テスト中に実行されたすべての操作の完全なログを保存します。Project Explorer は、
テストの結果を [Project Suite Logs] - [SmartStore Log] ノードの下に維持しています。これは、プ
ロジェクトおよびプロジェクト スイートのテスト履歴を表示するための場所です。各ノードは 1 つ
のテスト実行に対応します。ノードの左側のアイコンは、対応するテストの実行が成功したかどう
かを表します。
テスト実行の終了後、TestComplete は自動的に最終結果のノードを追加します。つまり、テストが
実行中のときは、結果は表示されません (テストの実行を一時停止した場合は、中間結果を表示す
ることができます)。
ここまでに実行したテストは 1 つのみなので、Project Explorer には 1 つのログ ノードだけが表示さ
れます。デフォルトで、TestComplete は、自動的にそのログを開きます。テスト ログを手動で開く
には、Project Explorer パネルで表示したログ ノードをダブルクリックします。
注意: デフォルトで、TestComplete はログ ファイルにすべてのテスト結果を格納します。
テスト実行ごとにログ ファイルぼ数が増えて、メモリ消費量が増加します。メモリ
使用量を減らすために、手動でログ ファイルを削除したり、保存するログ ファイ
ルの数を制限することができます。
Web アプリケーションのテスト - チュートリアル
© 2018 SmartBear Software http://support.smartbear.com/
65
この例では、ログは次のようになります。
ログ ウィンドウは、1 度に 1 つのテスト実行の結果を表示します。ウィンドウの左側は、実行され
たテストのツリー構造で、それぞれのテストのノードを選択してその結果を表示することができま
す。1 つのテストを実行した場合、このツリーには 1 つのノードのみ含まれます。このノードのア
イコンは、テストが成功したかどうかを示します。
テスト ログには、エラー、警告、情報および他の種類のメッセージが含まれています。左のアイコ
ンは、メッセージの種類を示します。メッセージ リストの上のチェック ボックスを使用すること
で、種類によってメッセージを表示/非表示にすることができます。
それぞれのメッセージでは、アクションが行われた時間が Time 列に表示されます。
TestComplete は、メッセージとともに追加テキストや画像を出力することがあります。これらを確
認するには、ログ内でメッセージを選択し、メッセージ リストの下にある Additional Info や Picture
ペインを参照します。
Picture パネルでは、選択したテスト コマンドを実行する前に、期待される状態と実際のアプリケー
ションの状態を示す画像が表示されます("Expected" (期待される) とはレコーディング中にそのテ
スト コマンドでキャプチャーされた画像を指し、"Actual" (実際) とはテストの実行中にキャプチャ
ーされた画像を指します)。この画像を比較するには [View Comparison Results] をクリックして、
違いを簡単に見ることができます。そのため、テストでエラーが発生した場合、簡単に見つけるこ
とができます。詳細については、TestComplete ヘルプの「Test Visualizer」を参照してください。
Call Stack ペインは、選択したメッセージをログに出力したテスト コールの階層を表示します。他
のテストを呼び出さなかったテストを 1つしか実行していないため、パネルは空です。
Web アプリケーションのテスト - チュートリアル
smartbear.com TestComplete by SmartBear Software
66
Performance Counters ペインは、テスト実行中にモニターしたパフォーマンス カウンターの値を表
示します。値はグラフ形式で表示されます。パフォーマンス カウンターを設定していなかったので、
パネルは空です。
ログにメッセージを出力したテスト操作を表示するには、ログ内でメッセージをダブルクリックし
ます。すると、エディターでキーワード テストが開き、該当する操作がハイライトされます。たと
えば、ログの "The button was clicked with the left mouse button" メッセージをダブルクリックした場
合、この動作が行われたキーワード テスト操作がハイライトされます。
テスト ログ パネル、ログへメッセージを出力、その結果の使用に関する詳細情報は、TestComplete
ヘルプの「About Test Log」を参照してください。
注意: ここで説明したログは、TestComplete キーワード テストおよびスクリプト特有のログ
です。ほかの種類のテストは異なった構造のログになります。ログに関する詳細情報
は、適当なプロジェクト項目の解説を参照するか、そのログ ページ内をクリックして、
F1 を押してください。
エラーの解決
テストが失敗することがあります。これにはいくつかの可能性があります。たとえば、開発者がア
プリケーションの振る舞いを変更したり、ウィンドウとコントロールの認識属性の変更によりテス
ト エンジンが必要なオブジェクトの検出に失敗したり、サードパーティのアプリケーションがテス
トするアプリケーションのウィンドウに重なっているためにテスト エンジンがアクションのシミ
ュレートに失敗するなどの可能性があります。
初めてのユーザーが直面するもっとも典型的なものは、テスト作成中と再生実行中でアプリケーシ
ョンの状態が異なることです。この問題を避けるには、テストを作成したときと同じ初期状態でテ
Web アプリケーションのテスト - チュートリアル
© 2018 SmartBear Software http://support.smartbear.com/
67
スト実行しているか確認してください。たとえば、レコーディングする前にテストするアプリケー
ションが実行されていた場合、テストを開始する前にアプリケーションを実行しておかなければな
りません。また、レコーディングしたときにテストする Web ページがブラウザーの 2 つめのタブ
で開かれていた場合、テストを実行するときも 2 つめのタブで開かれるようにしなければなりませ
ん。
エラーの原因を探し、典型的な問題を解決するための情報は、TestComplete ヘルプの「Handling
Playback Errors」を参照してください。
11. 複数のブラウザーでのテストの実行
レコーディングしたブラウザーでテストが正常に実行されることを確認したら、テストを変更して、
別のブラウザーで実行することができます (これは、クロスブラウザー テストと呼ばれます)。これ
により、Web アプリケーションがさまざまなブラウザーで正しく動作することを確認できます。
ここで、システムにインストールされているサポートされているすべてのブラウザでテストが実行
されるようにテストを修正します。
1. Keyword Test エディターでテストを開きます。
2. Run Browser operation を右クリックして、コンテキスト メニューから [Make Browser Loop]
を選択します。
Web アプリケーションのテスト - チュートリアル
smartbear.com TestComplete by SmartBear Software
68
3. 操作パラメーターのダイアログで、[Iterate Through All Browsers] を選択し、[Finish] をク
リックします。
Run Browser operation が Browser Loop operation に変換されます。
4. Browser Loop operation の後のすべてのテスト操作を選択し、 をクリックしてこれらの操
作をループの内側に移動します。これらの操作はループの各反復で実行されます。
変更後のテストは次のようになります。
5. TestComplete のメイン メニューから [File] - [Save] を選択してテストを保存します。
TestComplete ヘルプの「Preparing Web Browsers」の説明に従って、ほかのブラウザーの準備と設定
を行います。
変更したテストを実行します。
Web アプリケーションのテスト - チュートリアル
© 2018 SmartBear Software http://support.smartbear.com/
69
TestComplete は、ブラウザーの数だけテスト操作を繰り返します。毎回、異なるブラウザーでテス
ト アクションが実行されます。
テスト ログには、使用したブラウザーに関する情報と、各ブラウザーで実行されたテスト操作の結
果が含まれます。
TestComplete を使用したクロスブラウザー テストについての詳細は、TestComplete ヘルプの
「Cross-Browser Testing – Overview」を参照してください。
Android アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
70
Android アプリケーションのテスト
TestCompleteは、物理的な Android デバイス、仮想マシン、エミュレーター上で動作する Android モ
バイル アプリケーションをサポートしています。
このチュートリアルでは、TestComplete で Android アプリケーションをテストする方法を説明しま
す。これは、自動テストの一般原則に精通しており、TestComplete IDE についての最低限の知識を
持っていることを前提としています。
初心者の方は、上記の自動テストの紹介を読むことをお勧めします。
モバイル テスト用のテスト環境の準備、モバイル デバイスへの接続、モバイル デバイスへのテス
トするアプリケーションの展開、簡単なテストの作成と実行、結果の分析を行います。このテスト
は、モバイル アプリケーション上のユーザー アクションをエミュレートし、データを検証します。
テストするアプリケーションについて
ここでは、Orders アプリケーションを使用します。
アプリケーションを入手するには、Web サイトの https://support.smartbear.com/downloads/testcomplete
ページから TestComplete Samples インストール パッケージをダウンロードして実行してください。
サンプルは、<TestComplete Samples>\Mobile\Android\Orders\ フォルダーにインストールされまます。
このアプリケーションは、注文テーブルを管理します。新しい注文の追加、既存の注文の変更また
は削除、既存の注文リストの確認を行うことができます。
Android アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
71
後述する手順に従って、このアプリケーションをモバイル デバイスへ展開します。
1. 事前準備
このセクションでは、TestComplete で Android アプリケーション用のテスト環境を準備するために、
事前に行わなければならないことを説明します。
注意: TestComplete は、物理モバイル デバイス (スマートフォンおよびタブレット)、エミュ
レーター、Android-x86 仮想マシンで実行するアプリケーションをテストすることがで
きます。
サポートされているデバイスおよびサポートされていないデバイスのリストは、
TestComplete のドキュメント を参照してください。
ここでは、物理デバイスでテストを行う場合の準備手順を示します。Android エミュレ
ーターと Android-x86 仮想マシンでは、必要な事前準備が異なります (TestComplete ヘ
ルプの「Preparing Devices, Emulators and Virtual Machines」を参照してください)。それ
以外のテスト手順は、すべての環境で同じです。
Android アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
72
必要なソフトウェアのインストール
JDK と Android SDK のインストール
Android アプリケーションをテストするには、Java 開発キット (JDK) または Java 実行環境 (JRE) ver
6 - 8 と Android SDK をダウンロードし、テスト コンピューターにインストールする必要がありま
す。
注意:
Java 実行環境 (JRE) または Java 開発キット (JDK) ver. 9 または 10 を使用した
Android アプリケーションのテストは現在サポートされていません。
Android SDK と JDK (または JRE) が既にインストールされている場合は、SDK
Manager または次の 「Android Studio を入手するには」 および「SDK のみを入手す
るには」 セクションで記載されている sdkmanager ユーティリティを使用して、必
要なプラットフォームとツールをインストールします。
1. 次の場所から JDK をダウンロードします。
http://java.com/en/download/windows_manual.jsp
テストのためには、JRE をインストールすれば十分ですが、JDK には JRE モジュールが含
まれているため、JDK をダウンロードしてインストールしてもかまいません。
2. ダウンロードしたインストーラーを実行して、ウィザードの指示に従います。
3. 次の場所から Android SDK をダウンロードします。
https://developer.android.com/sdk/index.html
Android Studio (デフォルトのダウンロード) の一部として、ダウンロードすることも、SDK の
みをダウンロードすることもできます。
Android Studio を入手するには
Download ページで、Download Android Studio をクリックします。
ダウンロードしたインストーラーを実行して、ウィザードの指示に従います。
Studio をインストールした後、起動して、[Configure] - [SDK Manager] を選択します。
SDK Manager で、次の項目が選択されていることを確認します。
o Android SDK Platform-tools
o Android SDK Build-tools
o Google USB Driver
Android アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
73
OK をクリックして、必要に応じてパッケージをインストールします。ライセンス許
諾契約に同意して、インストールを続行します。
SDK のみを入手するには
Download ページで、Get just the command line tools セクションまでスクロールし、
sdk-tools-windows-NNN.zip パッケージをダウンロードします。
ファイルを解凍し、sdkmanager ユーティリティを見つけます。
ユーティリティを使用して、次の項目をインストールします。
o Android SDK Platform-tools
o Android SDK Build-tools
o Google USB Driver
これをするには、次のコマンドライン パラメーターを付けてけユーティリティを実
行します。
sdkmanager "platform-tools" "build-tools;NN.N.N" "extras;google;usb_driver"
NN は、ツールをインストールする API のバージョンです。
Android アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
74
デバイス USB ドライバーのインストール
前述のように、このチュートリアルでは物理デバイス上のテストを自動化します。デバイスと通信
するため、TestComplete コンピューターにデバイス USB ドライバーをインストールする必要があり
ます。手順とドライバーのダウンロード リンクについては、Android ドキュメントの「OEM USB
Drivers」を参照してください。
http://developer.android.com/tools/extras/oem-usb.html
TestComplete プラグインのインストールと設定
Android アプリケーションをテストするには、TestComplete Mobile モジュールのライセンスが必要
です。このモジュールには、必要なプラグインが含まれています。
モバイル モジュールがインストールされていない場合は、TestComplete インストール プログラム
を変更モードで実行し、インストール ウィザードで モバイル モジュールのインストールを選択し
ます。これにより、必要なプラグインがインストールされ有効になります。
TestComplete の設定
プラグインが有効になったら、TestComplete 設定で JDK と Android SDK のパスを指定する必要があ
ります。TestComplete インストール ウィザードは、自動的にコンピューター上でこれらのパスの検
出を試みます。検出できない場合は、TestComplete で手動でこれらのパスを指定する必要がありま
す。
正しいパスが指定されているか確認するには:
1. TestComplete を起動します。
2. TestComplete のメイン メニューから、[Tools] - [Options] を選択します。[Options] ダイアロ
グが表示されます。
3. ダイアログの左ペインで [Engines] - [Mobile] - [Android] カテゴリを選択します。
4. [Path to Android SDK] エディット ボックスで、コンピューター上の Android SDK のインス
トール フォルダーを指定します。
Android アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
75
5. [Path to Java Runtime] エディット ボックスで、コンピューター上の Java のインストール フ
ォルダーを指定します。
6. [Engines] - [Mobile] - [General] カテゴリを選択します。
7. [Automatically display Mobile Screen on OnScreen operation] オプションを有効にします。
8. [Automatically display Mobile Screen when recording] オプションを有効にします。
9. [OK] をクリックしてダイアログを閉じ、変更を保存します。
モバイル デバイスの準備
デスクトップ コンピューターに必要なすべてのソフトウェアをインストールしたら、モバイル デ
バイスを準備する必要があります。
デバイスで Developer options を有効にする
物理 Android デバイスでテストを実行するには、デバイスで特定の Developer options を有効にする
必要があります。
1. Developer options を表示します。[Settings] - [About phone/tablet] を選択し、[Build number] を
7 回タッチします。
注意: Developer options を表示する方法は、デバイスと Android バージョンにより異なります。
詳細は、デバイスのドキュメントを参照してください。
2. [Settings] - [Developer Options] を選択し、次のオプションを有効にします。
[USB debugging] - デバイスと Android Debug Bridge (ADB) 間の通信を有効にします。
つまり、ADB と TestComplete がデバイスにアクセスできるようにします。
[Stay awake] - デバッグ中にデバイスがスリープ モードにならないようにします。
注意: Xiaomi デバイスをお持ちの場合は、[Install via USB] オプションも有効にする必要があ
ります。 このオプションを有効にするには、アクティブな Mi アカウントが必要で、
SIM カードがデバイスにインストールされている必要があります。
Android アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
76
3. 変更を保存します。
デバイスの接続
デバイスの電源を入れ、USB ケーブルを使用してコンピューターに接続します。Android Debug
Bridge は接続を検出し、自動的にデバイスに接続します。
デバイスが接続されているかどうかの確認
モバイル デバイスが正常に接続されているかどうか確認するには:
TestComplete ツールバーで [Show Mobile Screen] ボタンをクリックします。
1 つのモバイル デバイスまたは仮想マシンが Android Debug Bridge に接続されている場合、[Mobile
Screen] ウィンドウが表示されます。
複数のデバイスまたは仮想マシンが接続されている場合、[Show Mobile Screen] をクリックすると、
接続されているデバイスのリストを含む [Select Current Device] ダイアログが表示されます。リス
トにデバイスまたは仮想マシンがあることを確認します。リストでデバイスまたは仮想マシン選択
し [OK] をクリックすると、そのデバイスまたは仮想マシンの [Mobile Screen] ウィンドウが表示さ
れます。
TestComplete Android Agent のインストール
TestComplete Android Agent は、TestComplete でテストする Android アプリケーションとデータ交換
を行うヘルパー アプリケーションです。モバイル デバイスにこの Agent をインストールする必要
があります。
Agent をインストールするには:
(まだ開いていない場合) [Mobile Screen] ウィンドウを開きます。
ウィンドウ ツールバーにある [Install Android Agent] ボタンをクリックします。
アプリケーションの準備
TestComplete で Android アプリケーション用のオブジェクトを認識できるようにするには (つまり、
"Open" アプリケーションにするには)、特別な方法でアプリケーションを準備する必要があります。
手動または自動でアプリケーションを準備する方法については、TestComplete ヘルプの
「Instrumenting Android Applications」を参照してください。
このチュートリアルで使用する Orders アプリケーションは、すでにホワイトボックス テスト用に
準備されています。そのため、この準備は必要ありません。
これで、テストに必要な TestComplete、モバイル デバイス、アプリケーションの準備が整いました。
ここからは、テスト プロジェクトの作成方法、および簡単なテストの作成と再生実行方法について
説明します。
Android アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
77
2. テストの計画
サンプルの Orders アプリケーションは、注文のリストを管理します。ここでは、アプリケーション
の Edit Order ページが正しく機能し、注文リストのデータが変更されるかどうかをテストします。
この場合、次のように定義する必要があります:
テストの目的: このテストは、Edit Order ページで変更されたデータが保存され、その変更
内容が注文リストに反映されるかどうかをチェックします。
テストの手順: テストでは、注文の詳細情報の変更、注文リスト内のデータの検証をシミュ
レートします。簡単にするために、このテストでは 1 つの注文の 1 つのプロパティのみを "
変更" します。
チェックおよびテスト結果の記録: 注文への変更が正しく保存されたのであれば、注文リス
トにその変更内容が反映されるべきです。これをチェックするために、今回のテストはリス
ト内のデータと期待される値を比較します。テストに特別な比較コマンドを追加します。こ
のコマンドは、テスト ログに比較結果を出力するので、これによって検証が成功したか失
敗したかを確認することができます。
TestComplete を使用したテストの計画についての詳細は、TestComplete ヘルプの「Planning Tests」
を参照してください。
3. テストのレコーディングについて
TestComplete では、2 通りの方法でテストを作成することができます。
テストを手動で作成する - スクリプト オブジェクトまたはキーワード テスト コマンドを使
用して、必要なすべてのコマンドとアクションを入力します。このアプローチは、強力で柔
軟なテストを作成する必要があるとき、またはテストの作成で豊富な経験がある場合、役に
立ちます。しかし、手動でテストを作成することは、多くの時間を必要とし、別の問題が生
じる可能性があります。たとえば、使用するアプリケーション オブジェクトのクラスや名
前を知っていなければなりません。
テストを記録する - テストを簡単に作成することができます。一度、テストするアプリケー
ションに対していくつかのアクションを実行すると、TestComplete は自動的にこれらのアク
ションを認識し、それらをスクリプトまたはキーワード テスト操作に変換します。テスト
をビジュアルに作成し、実行したアクションをスクリプトまたはキーワード テストに記録
できます。これは、非常に役に立つアプローチであり、テストの作成であまり経験を必要と
しません。
このチュートリアルでは、TestComplete でテストを記録する方法を説明します。
レコーディングは次の 3 つの手順を含みます。
1. レコーディングを開始します。TestComplete のメイン メニューあるいは [Test Engine] ツール
バーから [Test] - [Record] - [Record Keyword Test] または、[Test] - [Record] - [Record Script]
Android アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
78
を選択してレコーディングを開始します。スタートページの Record Test をクリックして、
レコーディングを開始することもできます。
さまざまな種類のテスト (キーワード テスト、スクリプト、低レベルのプロシージャー) を
レコーディングすることができます。レコーディングの開始に使用するメニュー項目によっ
て、メインのレコーディングするテスト (キーワード テストまたはスクリプト コード) が定
義されます。そのほかのテストはそのレコーディングが開始された後でレコーディングされ
ます。メインのレコーディングするテストには、これらのテストを実行する特別なコマンド
が含まれます。
TestComplete は、レコーディング モードに切り替わり、画面上に [Recording] ツールバーが
表示されます。デフォルトでは、ツールバーは折りたたまれ、レコーディング中に必要とな
るよく利用されるコマンドだけが g表示されます。
[Recording] ツールバーを展開するには、 矢印ボタンをクリックします。すると、すべて
のボタンが表示されます。
このツールバーを使用して、レコーディング中に追加の動作を実行したり、レコーディング
の一時停止や停止、レコーディングするテスト タイプ (キーワード テスト、スクリプト コ
ード、低レベルのプロシージャー) を変更することができます。
2. レコーディング開始後、必要なテスト動作を実行します。テストするアプリケーションを起
動し (必要な場合)、コマンド ボタンをクリックしたり、メニュー項目を選択したり、テキ
ストを入力するなどして使用します。
3. すべてのテスト動作が終了した後、[Recording] ツールバーから [Stop] を選択し、レコー
ディングを停止します。
テストのレコーディングに関する詳細は、TestComplete ヘルプの「Recording in TestComplete」を参
照してください。
最初のテストのレコーディング方法は、次の「4. テストのレコーディング開始」を参照してくださ
い。
Android アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
79
4. テストのレコーディング開始
1. TestComplete でプロジェクトあるいはプロジェクト スイートを開いている場合は、閉じて
ください。これをするには、[File] - [Close] を TestComplete メインメニューかた選択します。
2. TestComplete スタート ページにに切り替えます。このページが隠れている場合、
TestComplete の [Help] メニューから [Start Page] を選択します。
3. スタートページで、 Record Test をクリックします。TestComplete は、 [Record Test] ウィ
ザードを表示します。
4. ウィザードの最初のページで、プロジェクトの名前、場所、テスト タイプを指定します。
Project name テキストボックスに Orders と入力します。
Location テキストボックスはデフォルトの値のままにします。
テスト タイプを選択します。キーワードテストまたは JavaScript、Python スクリプト テスト
のいずれかを作成することができます。
キーワードテストは、マウスのクリック、テキストの入力など、ユーザーの操作を
定義する一連のキーワードです。視覚的にキーワード テストを作成します。スクリ
プトの知識は必要ではありません。
JavaScript と Python テストは、ユーザー アクションをシミュレートする命令を含む
スクリプト関数です。
Android アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
80
このチュートリアルでは、キーワード テストの作成方法を示します。[Keyword] をクリッ
クします。
5. [Next] をクリックして続行します。
ウィザードを使って、テストするアプリケーションをプロジェクトに追加するため、ウィザー
ドで作業を続行します。
5. テストするアプリケーションの定義
各 TestComplete プロジェクトには、テストするアプリケーションのリストが含まれます。これによ
り、プロジェクトで使用するアプリケーションとそのテスト設定を追跡できます。
プロジェクトにアプリケーションを追加する方法はいくつかあります。
プロジェクトの作成中にこれを行うことができます。
これは、後で Project Explorer でいつでも行うことができます。
(モバイル アプリケーションではサポートされていません) テストのレコーディング中に自
動的に追加することができます。レコーダーはコマンドライン、エクスプローラーなどから
のアプリケーションの開始を検出することが可能です。
テストする Orders アプリケーションをプロジェクトに追加してみましょう。
1. ウィザードでは、テストするアプリケーションを選択できる 2 番目のページが表示されま
す:
Android アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
81
2. Orders アプリケーションは、.apk ファイルとして出荷される Android アプリケーションなの
で、Mobile アプリケーションのカテゴリに該当します。
Mobile をクリックします。
3. [Device] ドロップダウン リストからテストをレコーディングするモバイル デバイスを選択
します。デバイスは、上記の「事前準備」 で説明したように、TestComplete に接続する必
要があります。
デバイスがリストにない場合、TestComplete がデバイスに接続できない問題を解決するには、
「Start troubleshooting」 リンクをクリックします。
4. Application ボックスで、 [...] ボタンをクリックします。表示される [Select Tested
Application] ダイアログで、Android Orders パッケージ ファイルの場所を見つけます。以下
のパスにあります:
C:\Users\Public\Public Documents\TestComplete 12 Samples\Mobile\Android\Orders\Orders Application\bin\Orders.apk
注意: ファイル マネージャーによっては、Public Documents フォルダーを
Documents として表示するものがあります。
5. [Deploy to the device on start] チェックボックスをオンにして、選択したデバイスにアプリケ
ーションをインストールします。
6. TestComplete は、アプリケーションが インスツルメント されている (テスト用に準備されて
いる場合) のみ、Android アプリケーションの内部オブジェクト、メソッド、プロパティに
アクセスすることができます。このチュートリアルで使用する Orders アプリケーションは、
すでにインスツルメントされています。
ただし、テスト用の準備されていないアプリケーションを使用すると、TestComplete はアプ
リケーションを自動的にインスツルメントし、それを作成したオブジェクトに追加します。
表示されるダイアログでアプリケーションに署名するための証明書データを指定するため
に をクリックするだけです。
7. [Record] をクリックし、プロジェクトの作成を完了し、レコーディングを開始します。
6. テストのレコーディング
注意: レコーディング中に TestComplete ヘルプに切り替えないでください。レコーディン
グ エンジンはすべてのユーザー アクションをトレースし、レコーディングします。
つまり、レコーディングしたテストに、この "切り替え" をシミュレートするコマ
ンドが含まれてしまいます。
操作手順は、レコーディングを開始する前に印刷しておくことができます。あるい
は、2 つのモニターがある場合、TestComplete ヘルプをもう一方のモニターへ移動
しておくことができます。
Android アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
82
1. TestComplete は、テストのレコーディングを開始し、レコーディング モードに切り替わり、
画面上に [Recording] ツールバーが表示されます。
2. TestComplete は、接続されたデバイスの画面で [Mobile Screen] ウィンドウを表示します。
TestComplete は、このウィンドウで実行されたモバイル アプリケーションのアクションの
みをレコーディングし、デバイス、エミュレーター、または仮想マシンで実行されたアクシ
ョンは無視します。
3. TestComplete は自動的に Orders アプリケーションをモバイル デバイスに展開して、起動し
ます。アプリケーションが起動しない場合は、[Recording] ツールバーの [Run App] メニュ
ーからアプリケーションを選択して手動で起動できます。
TestComplete は、特別なアプリケーションの起動テスト コマンドを使用して、アプリケー
ションの開始を記録します。後でレコーディングしたテストを分析するときに、このコマン
ドを参照します。
4. モバイル デバイスに Android Orders アプリケーションがインストールされるのを待ってか
ら、起動します。[Mobile Screen] ウィンドウにアプリケーションの初期ウィンドウが表示さ
れます。
Android アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
83
5. [Mobile Screen] ウィンドウで Samuel Clemens の注文をクリックします。
6. Orders アプリケーションの [Edit] ボタンをクリックします。[Edit Order] ページが表示されま
す。
7. 注文の詳細情報で顧客名を変更してみましょう。
Samuel Clemens を消去して、代わりに Mark Twain と入力します。デスクトップのキーボー
ドを使用して、[Mobile Screen] ウィンドウでテキストを入力します。
Android アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
84
8. [Edit Order] ページをスクロール ダウンして、[OK] をクリックします。これにより、注文の
変更が保存され、注文リストに戻ります。
9. テストに比較コマンドを挿入しましょう。この比較コマンドは、アプリケーションの顧客リ
ストに変更した名前 (Mark Twain) が表示されることを検証します。
比較コマンドをチェックポイントと呼びます。TestComplete には、異なる種類のデータの検
証に適したさまざまな種類のチェックポイントが用意されています (TestComplete ヘルプの
「Checkpoints」を参照)。最もよく使用されるチェックポイントの 1 つは、プロパティ チェ
ックポイントです。アプリケーションのコントロールのデータのチェックに使用されます。
このチュートリアルでは、このプロパティ チェックポイントを使用します。
[Recording] ツールバーの [Add Check] をクリックします。
[Checkpoint] ウィザードが呼び出されます。このウィザードを利用して、チェック
ポイントを作成します。
Android アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
85
ウィザードの最初のページで、[Object property] をクリックします。
ウィザードの次のページで、ターゲット アイコン ( ) をマウスの左ボタンでクリッ
クし、そのままおしたままにします。
ウィザードが最小化されるまで待ってから、そのアイコンを Orders アプリケーショ
ンの注文リストにドラッグします。ドラッグしている間、マウス カーソル下のコン
トロールとウィンドウが赤いフレームでハイライトされます。
[ターゲット アイコン] を Mark Twain の注文の上に移動し、その項目全体が赤いフレ
ームでハイライトされたら、マウスのボタンを離します。
Android アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
86
マウスのボタンを離すと、ウィザードに戻り、選択したオブジェクトの名前が
[Object] ボックスに表示され、その下にオブジェクトの画像が表示されます。
[Next] をクリックして続行します。
Android アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
87
ウィザードの次のページには、チェックのための提案されたプロパティのリストが
表示されます。
このリストには、テストするアプリケーションによって定義されたプロパティと
TestComplete によって提供されるプロパティが含まれます。使用可能なすべてのプ
ロパティを表示するには、[More Properties] をクリックします。
Android アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
88
テーブルで、ControlText プロパティが選択されていることを確認します。
[Condition] カラムで [Equals (case-sensitive)] 条件が選択されていることを確認しま
す。
[Finish] をクリックしてチェックポイント作成を完了します。レコーディングしたテ
ストにチェックポイント コマンドが追加されます。
10. [Recording] ツールバーの [Stop] を押して、レコーディングを停止します。レコーデ
ィングしたテスト コマンドが処理され、テストに保存されます。
Android アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
89
7. レコーディングしたテストの解析
レコーディング終了後、TestComplete はレコーディングしたキーワード テストを編集用に開き、
Keyword Test エディターにテストの内容を表示します。
レコーディングしたテストは上記の画像に示すテストのようになります。実行環境によってはこれ
とは異なることがあります。たとえば、不要なタッチ操作が含まれていることがあります。
このテストには、レコーディング中に Orders アプリケーション上で実行した動作に対応するコマン
ドが含まれています。このテスト コマンドを operation と呼びます。
コマンドの下に Test Visualizer パネルがあり、TestComplete によってテストのレコーディング中に
operation でキャプチャーされた画像が表示されます。
これらの画像は、レコーディングした operation を表し、operation が実行する動作を理解するのに役
立ちます。TestComplete は、ユーザー アクション (タッチ、ドラッグ、テキスト入力など) に対応し
た operation の画像のみをキャプチャーします。
Android アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
90
エディター内でこの操作を選ぶと、Test Visualizer は自動的に適切な画像をハイライトするため、
operation が実行される前にアプリケーションの状態を簡単に見ることができます。画像の作業につ
いての詳細は、TestComplete ヘルプの「Test Visualizer」を参照してください。
このテストの最初の operation は、Select Device です。これは、テストに使用するモバイル デバイ
スを指定します。以降のテスト操作はすべてこのデバイスに関するものです。
2 つめの operation は Run TestedApp です。これは、テストするアプリケーション (今回の場合、
Orders アプリケーション) を、キーワード テストから起動するのに使用します。TestComplete は、
自動的にアプリケーションを起動するときに、あるいは [Recording] ツールバーからアプリケーショ
ンが起動されたことを検出すると、自動的にこの操作を記録します。
その後、アプリケーションでのユーザー アクションをシミュレートする operation が続きます。こ
れらの operation は、注文リストから項目を選択し、[Edit] ボタンをクリックして、テキスト フィー
ルドの値を変更し、[OK] ボタンをクリックします。
タッチ イベント、テキスト入力、その他のユーザー アクションのシミュレートについての詳細は、
TestComplete ヘルプの「Simulating User Actions Over Android Devices」を参照してください。
Android アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
91
最後に、テスト レコーディング中に追加した比較動作です。
TestComplete は、自動的に operation を使用したモバイル デバイスやプロセスに対応するグループ
にまとめます。グループ化することで、テスト構造を簡単に理解できるようにし、さらにアプリケ
ーションのオブジェクト階層の情報を提供しています。
ここでは、1 つのモバイル デバイスで 1 つのプロセスのユーザー アクションをレコーディングしま
した。そのため、グループ ノードは 2 つです。"device" ノードには、同じデバイスで起動されたプ
ロセスがまとめられます。"process" ノードには、プロセス ウィンドウおよびコントロールでシミュ
レートしたすべての動作が含まれています。
テストするプロセスやそのウィンドウ、およびコントロールの名前が、Object Browser パネルに表
示される名前と異なることにお気付きかもしれません。たとえば、Object Browser では、テストす
るプロセスは Process("smartbear.example.orders") という名前であるのに対し、テスト内では
Process_example_orders と呼ばれます。また Object Browser で、[Edit] ボタンは Button("editButton") と
呼ばれるのに対し、テストでは Button_Edit という名前です。
これには、論理的な理由があります。デフォルトでは、TestComplete は、テスト レコーディング中
に使用したオブジェクトに対して自動的にカスタム ネームを生成し、使用します。カスタム ネー
ムの生成および割り当ては、名前のマッピングと呼ばれます。デフォルトの名前は理解しにくいこ
とがあるので、TestComplete では名前のマッピングを行っています。デフォルトの名前では、名前
に対応するウィンドウやコントロールがどれなのかの判断が難しいことがあります。マッピングし
た名前はテストをよりわかりやすく、安定したものにします。名前のマッピングに加えて、
TestComplete はマップされたオブジェクトのイメージを Name Mapping リポジトリに格納します。
これは、1 つまたは別のマップされたオブジェクトが一致するウィンドウまたはコントロールを理
解するのに役立ちます。名前のマッピングに関する詳細情報は、TestComplete ヘルプの「Name
Mapping」を参照してください。
Android アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
92
8. テストの実行
TestComplete がユーザー アクションをどのようにシミュレートするか、ここで簡単なテストを実行
してみましょう。
テストを実行する前に、テスト作成時と同じ初期状態でテストが開始されることを確認してくださ
い。たとえば、モバイル アプリケーション用のテスト デザインでは、どのモバイル デバイスを使
用するか選択する必要があります。そのため、テストの開始時に [Select Device] キーワード操作が
あります。さらに、ほとんどの場合、テストするアプリケーションをデバイスへ展開し起動する必
要があります。ここでは、テストするアプリケーションを展開し起動するため、Run TestedApp キ
ーワード操作を使用し、テストするアプリケーションの Deploy to the device on start パラメーターを
有効にしています。
レコーディングしたテストを実行するためには、テスト エディターのツールバーにある [Run
Test] をクリックします。
TestComplete がテスト コマンドの実行を開始します。このチューリアルのテストでは、注文を表示
し、顧客名を Samuel Clemens から Mark Twain に変更して、名前が変更されたかどうか確認します。
注意: テスト実行中は、マウスを動かしたり、キーを押したりしないでください。
TestComplete でシミュレートされる動作を妨げたり、テスト実行が正しく行われない
可能性があります。
テスト実行の終了後、TestComplete はテスト結果を表示します。次の手順では、これを解析します。
テスト実行に関するいくつかの注意:
テストの実行中、TestComplete は、画面の右上にインジケーターを表示します。
このインジケーターは、シミュレートしたテスト動作に関する通知をするためのメッセージ
を表示します。
TestComplete は、テストが終了するまでこのテスト コマンドを実行します。[Test Engine] ツ
ールバーまたはインジケーターの [Stop] を押すか、または TestComplete メイン メニュー
から [Test] - [Stop] を選択することで、テストの実行をいつでも停止することができます。
Android アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
93
[Pause] をクリックすることでテスト実行を一時停止することができます。一時停止の間
は、必要な任意の動作を実行することが可能です。たとえば、テスト ログを表示したり、
TestComplete の Watch List や Locals パネルあるいは [Evaluate] ダイアログを使用してテスト
の変数やオブジェクトを確認することが可能です (TestComplete ヘルプの「Debugging Tests」
を参照)。
TestComplete のテスト実行、実行に影響するプロジェクト設定、テスト実施に関する詳細は、
TestComplete ヘルプの「Running Tests」を参照してください。
9. テスト結果の解析
TestComplete は、テスト中に実行されたすべての操作の完全なログを保存します。テスト結果への
リンクは、Project Explorer パネルの [Project Suite Logs] - [AndroidOrders Log] ノードに表示され
ます。これは、プロジェクトおよびプロジェクト スイートのテスト履歴を調べるための主なワーク
スペースです。各ノードは 1 つのテスト実行に対応します。ノードの左の画像は、対応するテスト
の実行が成功したかどうかを表しています。
テスト実行の終了後、TestComplete は自動的に最終結果のノードを追加します。つまり、テストが
実行中のときは、結果は表示されません (テストの実行を一時停止した場合は、中間結果を表示す
ることができます)。
ここまでに実行したテストは 1 つのみなので、Project Explorer には 1 つのログ ノードだけが表示さ
れます。デフォルトでは、Workspace パネルにこのノードの内容が自動的に表示されます。このロ
Android アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
94
グは、いつでも確認することができます。ログを見るには、Project Explorer パネルで表示したい結
果を右クリックし、コンテキスト メニューから [Open] を選択します。
注意: デフォルトで、TestComplete はログ ファイルにすべてのテスト結果を格納します。
テスト実行ごとにログ ファイルぼ数が増えて、メモリ消費量が増加します。メモリ
使用量を減らすために、手動でログ ファイルを削除したり、保存するログ ファイ
ルの数を制限することができます。
この例では、ログは次のようになります。
ログ ウィンドウは、1 度に 1 つのテスト実行の結果を表示します。ウィンドウの左側は、実行され
たテストのツリー構造で、それぞれのテストのノードを選択してその結果を表示することができま
す。たとえば、今回の例のように 1 つのテストを実行した場合、このツリーには 1 つのノードのみ
含まれます。このノードのアイコンは、テストが成功したかどうかを示します。
テスト ログには、エラー、警告、情報および他の種類のメッセージが含まれています。左のアイコ
ンは、メッセージの種類を示します。メッセージ リストの上のチェック ボックスを使用すること
で、種類によってメッセージを表示/非表示にすることができます。
それぞれのメッセージでは、アクションが行われた時間が Time 列に表示されます。
TestComplete は、メッセージとともに追加テキストや画像を出力することがあります。これらを確
認するには、ログ内でメッセージを選択し、メッセージ リストの下にある Additional Info や Picture
ペインを参照します。
Android アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
95
Picture パネルでは、選択したテスト コマンドを実行する前に、期待される状態と実際のアプリケー
ションの状態を示す画像が表示されます"Expected" (期待される) とはレコーディング中にそのテス
ト コマンドでキャプチャーされた画像を指し、"Actual" (実際) とはテストの実行中にキャプチャー
された画像を指します)。テスト ログには、画像を比較し、簡単に差異を見ることができる特別な
ボタンがあります。そのため、テストでエラーが発生した場合、簡単に見つけることができます。
詳細については、TestComplete ヘルプの「Test Visualizer」を参照してください。
Call Stack ペインは、選択したメッセージをログに出力したテスト コールの階層を表示します。
Performance Counters ペインは、テスト実行中にモニターしたパフォーマンス カウンターの値を表
示します。値はグラフ形式で表示されます。
ログにメッセージを出力したテスト操作を表示するには、ログ内でメッセージをダブルクリックし
ます。すると、エディターでキーワード テストが開き、該当する操作がハイライトされます。たと
えば、ログの "The button was touched" メッセージをダブルクリックした場合、この動作が行われた
キーワード テスト操作がハイライトされます。
テスト ログ パネル、ログへメッセージを出力、その結果の使用に関する詳細情報は、TestComplete
ヘルプの「About Test Log」を参照してください。
注意: ここで説明したログは、TestComplete キーワード テストおよびスクリプト特有のログ
です。ほかの種類のテストは異なった構造のログになります。ログに関する詳細情報
は、適当なプロジェクト項目の解説を参照するか、そのログ ページ内をクリックして、
F1 を押してください。
エラーの解決
テストが失敗することがあります。これにはいくつかの可能性があります。たとえば、開発者がア
プリケーションの振る舞いを変更したり、ウィンドウとコントロールの認識属性の変更によりテス
ト エンジンが必要なオブジェクトの検出に失敗したり、サードパーティのアプリケーションがテス
トするアプリケーションのウィンドウに重なっているためにテスト エンジンがアクションのシミ
ュレートに失敗するなどの可能性があります。
Android アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
96
初めてのユーザーが直面するもっとも典型的なものは、テスト作成中と再生実行中でアプリケーシ
ョンの状態が異なることです。この問題を避けるには、テストを作成したときと同じ初期状態でテ
スト実行しているか確認してください。たとえば、テストするアプリケーションがテストを記録す
る前に実行されていた場合、テストを開始する前に実行しておかなければなりません。また、テス
ト動作がアプリケーションの特定の画面上で実行された場合は、テストを実行するときにその画面
が開かれるようにする必要があります。
テストの実行時にエラーが発生した場合は、テストが正常に実行されるようにそれらを確認して修
正します。
エラーの原因を探し、典型的な問題を解決するための情報は、TestComplete ヘルプの「Handling
Playback Errors」を参照してください。
10. 複数のデバイスでのテスト実行
1 つのモバイル デバイスでテストが正常に実行されることを確認したら、そのテストを変更して複
数のモバイル デバイスで実行することができます。そうすることで、モバイル アプリケーション
が異なる種類のモバイル デバイス (スマートフォン、タブレットなど) で正しく動作することを確
認できます。
テストを変更して、異なるモバイル デバイス上で実行できるようにする必要があります。
Keyword Test エディターでテストを開きます。
Operations パネルの Mobile カテゴリから Test Area へ Device Loop operation をドラッグし、
テストの始め (ほかのすべての operation の上) にドロップします。これにより、この operation
がテストに追加されます。
操作パラメーターのダイアログで、[Iterate Through All Connected Devices] を選択し、[Finish] をク
リックします。
Android アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
97
テストから Select Device operation を削除/無効にします。Device Loop operation によりモバイ
ル デバイスの切り替えが行われるため、Select Device operation は不要です。
Device Loop operation の後のすべてのテスト操作を選択し、 をクリックしてこれらの操作
をループの内側に移動します。これらの操作はループの各反復で実行されます。
変更後のテストは次のようになります。
TestComplete のメイン メニューから [File] - [Save] を選択してテストを保存します。
「事前準備」の「モバイル デバイスの準備」で説明したようにほかのモバイル デバイスの準備と
接続を行います。
変更したテストを実行します。
TestComplete は、ブラウザーの数だけテスト操作を繰り返します。毎回、異なるモバイル デバイス
でテスト アクションが実行されます。
テスト ログには、使用したモバイル デバイスに関する情報と、各デバイスで実行されたテスト操
作の結果が含まれます。
iOS アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
98
iOS アプリケーションのテスト
このチュートリアルでは、TestComplete で iOS アプリケーションをテストする方法を説明します。
これは、自動テストの一般原則に精通しており、TestComplete IDE についての最低限の知識を持っ
ていることを前提としています。
初心者の方は、上記の自動テストの紹介を読むことをお勧めします。
モバイル テスト用のテスト環境の準備、モバイル デバイスへの接続、モバイル デバイスへのテス
トするアプリケーションの展開、簡単なテストの作成と実行、結果の分析を行います。このテスト
は、モバイル アプリケーション上のユーザー アクションをエミュレートし、データを検証します。
システム要件
このチュートリアルを実行するには、次のものが必要です。
次のソフトウェアを搭載した Windows コンピューター:
Mobile モジュール用の有効なライセンスを持つ TestComplete。
Apple iTunes。 TestComplete が iOS デバイスに接続するために使用する USB ドライ
バが含まれているため iTunes が必要です。最新バージョンの iTunes を使用すること
を推奨します。
iOS 9.x、10.0 - 10.3.2、11.0 - 11.4 を実行するサポートされているデバイス。
サンプル Orders アプリケーションをコンパイルし、証明書ファイルを取得するための、
Xcode、iOS SDK、および iOS 開発ライセンスを備えた Mac コンピューター。
iOS アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
99
テストするアプリケーションについて
この説明では、Orders アプリケーションの iOS バージョンを使用します。
アプリケーションを入手するには、Web サイトの
https://support.smartbear.com/downloads/testcomplete/samples/ ページから TestComplete Samples インス
トール パッケージをダウンロードし実行してください。サンプルは、<TestComplete
Samples>\Mobile\iOS\Orders\ フォルダーにインストールされます。
このアプリケーションは、注文テーブルを管理します。新しい注文の追加、既存の注文の変更また
は削除、既存の注文リストの確認を行うことができます。
このチュートリアルで説明する手順に従って、アプリケーションを Mac 上でコンパイルし、モバイ
ル デバイスへ展開します。
iOS アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
100
1. iOS デバイスの準備
TestComplete で iOS アプリケーションをテストする前に、次の操作を行う必要があります。
アプリケーション プロビジョニング プロファイルへのテスト デバイスの追加.
TestComplete へのデバイスの接続.
アプリケーション プロビジョニング プロファイルへのテスト デバイスの追
加
iOS Developer Program に登録されている場合は、テストする iOS アプリケーションのプロビジョニ
ング プロファイルにテスト デバイスを追加して、デバイスにアプリケーションをインストールで
きるようにする必要があります。テスト デバイスは、Apple の Member Center Web サイトで登録で
きます。
デバイス ID (UDID) を取得します。iTunes を起動し、iOS デバイスを選択して、[Summary]
タブで [Serial Number] をクリックします。シリアル番号の代わりに UDID が表示されます。
Member Center の Devices セクションを開きます。
http://developer.apple.com/ios/manage/devices/index.action
右上にある ボタンをクリックします。
[Register Device] ラジオ ボタンをオンにします。
iOS アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
101
デバイス名と UDID を入力します。
[Continue]、そして [Register] をクリックします。
これで、テスト用にデバイスが登録されました。次に、アプリケーションのプロビジョニング プロ
ファイルにデバイスを追加します。
左側のメニューから [Provisioning Profiles] を選択します。
デバイスを追加するプロファイルを選択し、[Edit] をクリックします。
[Devices] リストで、アプリケーションのテストに使用するデバイスをすべて選択します。
[Generate] をクリックして変更を保存します。
iOS アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
102
TestComplete へのデバイスの接続
USB ケーブルを使用して iOS デバイスを TestComplete コンピューターに接続します。
このコンピューターを信頼するかどうか確認を求めるダイアログが表示されたら、[Trust] をタップ
します。
また、デバイスの次の設定を変更することを推奨します。
[Settings] - [General] を選択します。
[Auto-Lock] をタップします。
[Never]. を選択します。
[Settings] - [Wallpapers&Brightness] を選択します。
明るさを最小値に設定します。
これにより、テストの実行中に画面がロックされるのを防ぎ、接続されているデバイスのバッテリ
ーの使用率を軽減します。
TestComplete が接続されているデバイスを "認識" できるように、Object Browser に切り替えます。
Mobile オブジェクト以下に Device("your_device_name") オブジェクトが表示されていることを確
認します。
次のステップでは、このテストで使用するサンプルの Orders アプリケーションを準備します。
2. iOS Certificate (証明書) ファイルの準備
TestComplete で iOS アプリケーションをテストするには、TestComplete ライブラリを使用して準備
する必要があります。TestComplete で iOS アプリケーションをインストルメントする場合、Mac 上
のユーザー証明書ファイルが必要になります。ユーザー証明書ファイルは、アプリケーションが特
定の開発者により作成されたものであり、特定のデバイスで実行できることを証明します。ここで
説明する操作は一度だけ行います。この操作を行うと、ユーザー証明書ファイルを使用して、すべ
ての iOS アプリケーションをインストルメントできるようになります。
Xcode で直接アプリケーションをインストルメントすることができます。これを行うには、
TestComplete 静的ライブラリをプロジェクトに追加し、アプリケーションをビルドします。
iOS アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
103
1.Apple WWDR 証明書の取得
Apple Worldwide Developer Relations (WWDR) 証明書は、開発証明書を Apple と関連付けます。次の
場所からダウンロードできます。
http://developer.apple.com/certificationauthority/AppleWWDRCA.cer
2.証明書ファイルの取得
iOS アプリケーションをインスツルメントするには、いくつかの証明書ファイルも必要です。
開発者証明書。
PEM ファイル。
プロビジョニング プロファイル。
これらの 3 つのファイルを入手するには、TestComplete に同梱される Certificate Exporter ユーティ
リティを使用することができます。このユーティリティは、次の場所にあります :
<TestComplete>/Bin/Extension/iOS/CertificateExporter.zip.
注意: これらのファイルを手動で入手する方法については、 TestComplete ヘルプの
「Getting Certificate Files」 トピックを参照してください。
ユーティリティを使用してファイルを入手するには:
1. Mac コンピューター上でアーカイブを解凍します。
Windows マシン上でユーティリティを解凍しないでください。ユーティリティが破損しま
す。
2. CertificateExporter.app を実行します。利用可能なプロビジョニング プロファイルのリストが
表示されます。
3. リストからプロファイルを選択します。ユーティリティは、割り当てられた証明書を以下の
リストに表示します。
4. エクスポートする証明書を選択し、[Export] をクリックして目的のディレクトリを指定しま
す。
iOS アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
104
5. ユーティリティがキーチェーンへアクセスを許可するダイアログを表示したら、[Allow] を
クリックします。
3. テストの計画
サンプルの iOS Orders アプリケーションは、注文のリストを管理します。ここでは、アプリケーシ
ョンの Edit Order ページが正しく機能し、注文リストのデータが変更されるかどうかをテストしま
す。この場合、次のように指定する必要があります:
テストの目的: このテストは、Edit Order ページで変更されたデータが保存され、その変更
内容が注文リストに反映されるかどうかをチェックします。
テストの手順: テストでは、注文の詳細情報の変更、注文リスト内のデータの検証をシミュ
レートします。簡単にするために、このテストでは 1 つの注文の 1 つのプロパティのみを "
変更" します。
チェックおよびテスト結果の記録: 注文への変更が正しく保存されたのであれば、注文リス
トにその変更内容が反映されるべきです。これをチェックするために、今回のテストはリス
ト内のデータと期待される値を比較します。テストに特別な比較コマンドを追加します。こ
のコマンドは、テスト ログに比較結果を出力するので、これによって検証が成功したか失
敗したかを確認することができます。
TestComplete を使用したテストの計画についての詳細は、TestComplete ヘルプの「Planning Tests」
を参照してください。
iOS アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
105
4. レコーディングについて
TestComplete では、2 通りの方法でテストを作成することができます。
テストを手動で作成する - スクリプト オブジェクトまたはキーワード テスト コマンドを使
用して、必要なすべてのコマンドとアクションを入力します。このアプローチは、強力で柔
軟なテストを作成する必要があるとき、またはテストの作成で豊富な経験がある場合、役に
立ちます。しかし、手動でテストを作成することは、多くの時間を必要とし、別の問題が生
じる可能性があります。たとえば、使用するアプリケーション オブジェクトのクラスや名
前を知っていなければなりません。
テストを記録する - テストを簡単に作成することができます。一度、テストするアプリケー
ションに対していくつかのアクションを実行すると、TestComplete は自動的にこれらのアク
ションを認識し、それらをスクリプトまたはキーワード テスト操作に変換します。テスト
をビジュアルに作成し、実行したアクションをスクリプトまたはキーワード テストに記録
できます。これは、非常に役に立つアプローチであり、テストの作成であまり経験を必要と
しません。
このチュートリアルでは、TestComplete でテストを記録する方法を説明します。
レコーディングは次の 3 つの手順を含みます。
1. レコーディングを開始します。TestComplete のメイン メニューあるいは [Test Engine] ツール
バーから [Test] - [Record] - [Record Keyword Test] または、[Test] - [Record] - [Record Script]
を選択してレコーディングを開始します。スタートページの Record Test をクリックして、
レコーディングを開始することもできます。
さまざまな種類のテスト (キーワード テスト、スクリプト、低レベルのプロシージャー) を
レコーディングすることができます。レコーディングの開始に使用するメニュー項目によっ
て、メインのレコーディングするテスト (キーワード テストまたはスクリプト コード) が定
義されます。そのほかのテストはそのレコーディングが開始された後でレコーディングされ
ます。メインのレコーディングするテストには、これらのテストを実行する特別なコマンド
が含まれます。
TestComplete は、レコーディング モードに切り替わり、画面上に [Recording] ツールバーが
表示されます。デフォルトでは、ツールバーは折りたたまれ、レコーディング中に必要とな
るよく利用されるコマンドだけが g表示されます。
[Recording] ツールバーを展開するには、 矢印ボタンをクリックします。すると、すべて
のボタンが表示されます。
iOS アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
106
このツールバーを使用して、レコーディング中に追加の動作を実行したり、レコーディング
の一時停止や停止、レコーディングするテスト タイプ (キーワード テスト、スクリプト コ
ード、低レベルのプロシージャー) を変更することができます。
2. レコーディング開始後、必要なテスト動作を実行します。テストするアプリケーションを起
動し (必要な場合)、コマンド ボタンをクリックしたり、メニュー項目を選択したり、テキ
ストを入力するなどして使用します。
3. すべてのテスト動作が終了した後、[Recording] ツールバーから [Stop] を選択し、レコー
ディングを停止します。
テストのレコーディングに関する詳細は、TestComplete ヘルプの「Recording in TestComplete」を参
照してください。
5. テストのレコーディング開始
1. TestComplete でプロジェクトあるいはプロジェクト スイートを開いている場合は、閉じてく
ださい。これをするには、[File] - [Close] を TestComplete メインメニューかた選択します。
2. TestComplete スタート ページにに切り替えます。このページが隠れている場合、
TestComplete の [Help] メニューから [Start Page] を選択します。
3. スタートページで、 Record Test をクリックします。TestComplete は、 [Record Test] ウィ
ザードを表示します。
iOS アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
107
4. ウィザードの最初のページで、プロジェクトの名前、場所、テスト タイプを指定します。
Project name テキストボックスに Orders と入力します。
Location テキストボックスはデフォルトの値のままにします。
テスト タイプを選択します。キーワードテストまたは JavaScript、Python スクリプト テスト
のいずれかを作成することができます。
キーワードテストは、マウスのクリック、テキストの入力など、ユーザーの操作を定義
する一連のキーワードです。視覚的にキーワード テストを作成します。スクリプトの
知識は必要ではありません。
JavaScript と Python テストは、ユーザー アクションをシミュレートする命令を含むスク
リプト関数です。
このチュートリアルでは、キーワード テストの作成方法を示します。[Keyword] をクリック
します。
5. [Next] をクリックして続行します。
ウィザードを使って、テストするアプリケーションをプロジェクトに追加するため、ウィザ
ードで作業を続行します。
iOS アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
108
6. テストするアプリケーションの定義
各 TestComplete プロジェクトには、テストするアプリケーションのリストが含まれます。これによ
り、プロジェクトで使用するアプリケーションとそのテスト設定を追跡できます。
プロジェクトにアプリケーションを追加する方法はいくつかあります。
プロジェクトの作成中にこれを行うことができます。
これは、後で Project Explorer でいつでも行うことができます。
(モバイル アプリケーションではサポートされていません) テストのレコーディング中に自
動的に追加することができます。レコーダーはコマンドライン、エクスプローラーなどから
のアプリケーションの開始を検出することが可能です。
テストする Orders アプリケーションをプロジェクトに追加します:
1. ウィザードでは、テストするアプリケーションを選択できる 2 番目のページが表示され
ます:
2. Orders アプリケーションは、.ipa ファイルとして出荷される iOS アプリケーションなので、
Mobile アプリケーションのカテゴリに該当します。
Mobile をクリックします。
3. [Device] ドロップダウン リストからテストをレコーディングするモバイル デバイスを選択
します。デバイスは、上記で説明したように、TestComplete に接続する必要があります。
iOS アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
109
デバイスがリストにない場合、TestComplete がデバイスに接続できない問題を解決するには、
「Start troubleshooting」 リンクをクリックします。
4. Application ボックスで、 [...] ボタンをクリックします。表示される [Select Tested
Application] ダイアログで、Orders.ipa ファイルの場所を見つけます。以下のパスにあります:
C:\Users\Public\Public Documents\TestComplete 12 Samples\Mobile\iOS\Orders\Orders Application\bin\Orders.ipa
注意: ファイル マネージャーによっては、Public Documents フォルダーを
Documents として表示するものがあります。
5. [Deploy to the device on start] チェックボックスをオンにして、選択したデバイスにアプリケ
ーションをインストールします。
6. TestComplete は、アプリケーションが インスツルメント されている (テスト用に準備されて
いる場合) のみ、Android アプリケーションの内部オブジェクト、メソッド、プロパティに
アクセスすることができます。TestComplete は、作成したプロジェクトに TestComplete を追
加すると自動的にアプリケーションをインスツルメントします。表示されたダイアログで、
クリックして、アプリケーションに署名するための証明書データを保持するファイルを指
定するだけです。
これらは、上記の 2.iOS Certificate (証明書) ファイルの準備 ステップで入手した証明書ファ
イルです。
7. [Record] をクリックし、プロジェクトの作成を完了し、レコーディングを開始します。
7. テストのレコーディング
テストのレコーディング中に TestComplete ヘルプに切り替えないでください。レコーディ
ング エンジンはすべてのユーザー アクションをトレースし、レコーディングするため、レ
iOS アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
110
コーディングしたテストにこの動作が含まれてしまいます。
操作手順は、レコーディングを開始する前に印刷しておくことができます。あるいは、モ
ニターが 2 つある場合は、TestComplete ヘルプをもう一方のモニターへ移動しておくこと
ができます。
1. TestComplete は、テストのレコーディングを開始し、レコーディング モードに切り替わり、
画面上に [Recording] ツールバーが表示されます。
2. TestComplete は、接続されたデバイスの画面で [Mobile Screen] ウィンドウを表示します。
TestComplete は、このウィンドウで実行されたモバイル アプリケーションのアクションの
みをレコーディングし、デバイス、エミュレーター、または仮想マシンで実行されたアクシ
ョンは無視します。
3. TestComplete は自動的に Orders アプリケーションをモバイル デバイスに展開して、起動し
ます。アプリケーションが起動しない場合は、[Recording] ツールバーの [Run App] メニュ
ーからアプリケーションを選択して手動で起動できます。
TestComplete は、特別なアプリケーションの起動テスト コマンドを使用して、アプリケー
ションの開始を記録します。後でレコーディングしたテストを分析するときに、このコマン
ドを参照します。
4. モバイル デバイスに iOS Orders アプリケーションがインストールされるのを待ってから、
起動します。[Mobile Screen] ウィンドウにアプリケーションの初期ウィンドウが表示されま
す。
iOS アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
111
5. [Mobile Screen] ウィンドウで [Edit] ボタンをクリックします。
iOS アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
112
Orders アプリケーションが編集モードに切り替わります。
6. リストの 2 つめにある Samuel Clemens の注文をクリックします。[Edit Order] パネルが表示
されます。
7. 注文の詳細情報で顧客名を変更してみましょう。
[CUSTOMER INFO] セクションで、Samuel Clemens を消去してして、代わりに Mark Twain と
入力し、[Enter] をクリックします。デスクトップのキーボードを使用して、[Mobile Screen]
ウィンドウでテキストを入力します。
8. [Edit Order] パネルの [Save] ボタンをクリックし、変更を確定します。
9. iPhone または iPod タッチ デバイス (一度に 1 つのパネルしか表示されない) でレコーディン
グする場合は、ナビゲーション バーにある Orders ボタンをタッチすると、[Orders List] パネ
ルが表示されます。
iPad デバイスは両方のパネルを同時に表示できるため、このアクションは必要ありません。
iOS アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
113
10. [Done] ボタンをクリックして編集モードを終了します。
注文リストが通常モードに戻ります。
11. テストに比較コマンドを挿入します。この比較コマンドは、アプリケーションの顧客リスト
に変更した名前 (Mark Twain) が表示されることを検証します。
比較コマンドをチェックポイントと呼びます。TestComplete には、異なる種類のデータの検
証に適したさまざまな種類のチェックポイントが用意されています (TestComplete ヘルプの
「Checkpoints」を参照)。最もよく使用されるチェックポイントの 1 つは、プロパティ チェ
ックポイントです。アプリケーションのコントロールのデータのチェックに使用されます。
このチュートリアルでは、このプロパティ チェックポイントを使用します。
[Recording] ツールバーの [Add Check] をクリックします。
iOS アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
114
[Checkpoint] ウィザードが呼び出されます。このウィザードを利用して、チェックポイ
ントを作成します。
ウィザードの最初のページで、[Object property] をクリックします。
ターゲット アイコン ( ) をマウスの左ボタンでクリックし、そのまま押したままにし
ます。
ウィザードが最小化されるまで待ってから、そのアイコンを Orders アプリケーションの
注文リストにドラッグします。ドラッグしている間、マウス カーソル下のコントロール
とウィンドウが赤いフレームでハイライトされます。
[ターゲット アイコン] を注文リストの上に移動し、リスト全体が赤いフレームでハイラ
イトされたら、マウスのボタンを離します。
iOS アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
115
マウスのボタンを離すと、ウィザードに戻り、選択したオブジェクトの名前が [Object]
ボックスに表示され、その下にオブジェクトの画像が表示されます。
iOS アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
116
[Next] をクリックして続行します。
iOS アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
117
ウィザードの次のページには、チェックのための提案されたプロパティのリストが表示
されます。
このリストには、テストするアプリケーションによって定義されたプロパティと
TestComplete によって提供されるプロパティが含まれます。利用可能なすべてのプロパ
ティを表示するには、[More Properties] をクリックします。
デフォルトで選択されているプロパティの [Selected] チェックボックスをオフにします。
データの検証には、 親の TableView オブジェクトの wItem プロパティを使用します。
このプロパティは、選択したテーブル ビューの指定した項目のテキストにアクセスでき
るようにします。
iOS アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
118
テーブル内の wItem プロパティを見つけ、 [PAR] ボタンをクリックします。1 を [Index]
カラムに、0 を [Section] カラムに入力します。ウィザードは、確認するデータを取得し
ます。wItem プロパティの [Selected] チェックボックスを選択します。
[Finish] をクリックしてチェックポイント作成を完了します。レコーディングしたテス
トにチェックポイント コマンドが追加されます。
12. [Recording] ツールバーの [Stop] を押して、レコーディングを停止します。レコーディン
グしたテスト コマンドが処理され、キーワード テストに保存されます。
8. レコーディングしたテストの解析
レコーディング終了後、TestComplete はレコーディングしたキーワード テストを編集用に開き、
Keyword Test エディターにテストの内容を表示します。
iOS アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
119
レコーディングしたテストは上記の画像に示すテストのようになります。実行環境によってはこれ
とは異なることがあります。たとえば、不要なタッチ操作が含まれていることがあります。
このテストには、レコーディング中に Orders アプリケーション上で実行した動作に対応するコマン
ドが含まれています。このテスト コマンドを operation と呼びます。
コマンドの下に Test Visualizer パネルがあり、TestComplete によってテストのレコーディング中に
operation でキャプチャーされた画像が表示されます。
これらの画像は、レコーディングした operation を表し、operation が実行する動作を理解するのに役
立ちます。TestComplete は、ユーザー アクション (タッチ、ドラッグ、テキスト入力など) に対応し
た operation の画像のみをキャプチャーします。
iOS アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
120
エディター内でこの操作を選ぶと、Test Visualizer は自動的に適切な画像をハイライトするため、
operation が実行される前にアプリケーションの状態を簡単に見ることができます。画像の作業につ
いての詳細は、TestComplete ヘルプの 「Test Visualizer」 セクションを参照してください。
このテストの最初の operation は、Select Device です。これは、テストに使用するモバイル デバイ
スを指定します。以降のテスト操作はすべてこのデバイスに関するものです。
2 つめの operation は Run TestedApp です。これは、テストするアプリケーション (今回の場合、
Orders アプリケーション) を、キーワード テストから起動するのに使用します。TestComplete は、
自動的にアプリケーションを起動するときに、あるいは [Recording] ツールバーからアプリケーシ
ョンが起動されたことを検出すると、自動的にこの操作を記録します。
その後、アプリケーションでのユーザー アクションをシミュレートする operation が続きます。こ
れらの operation は、[Edit] ボタンをクリックし、注文リストから項目を選択し、テキスト フィール
ドの値を変更し、変更を保存して [Done] ボタンをクリックします。
iOS アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
121
タッチ イベント、テキスト入力、その他のユーザー アクションのシミュレートについての詳細は、
TestComplete ヘルプの「Simulating User Actions on iOS Applications」および「Working With iOS Controls」
を参照してください。
最後に、テスト レコーディング中に追加した比較動作です。
TestComplete は、自動的に operation を使用したモバイル デバイスやプロセスに対応するグループ
にまとめます。グループ化することで、テスト構造を簡単に理解できるようにし、さらにアプリケ
ーションのオブジェクト階層の情報を提供しています。
ここでは、1 つのモバイル デバイスで 1 つのプロセスのユーザー アクションをレコーディングしま
した。そのため、グループ ノードは 2 つです。"device" ノードには、同じデバイスで起動されたプ
ロセスがまとめられます。"process" ノードには、プロセス ウィンドウおよびコントロールでシミュ
レートしたすべての動作が含まれています。
iOS アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
122
テストするプロセスやそのウィンドウ、およびコントロールの名前が、Object Browser パネルに表
示される名前と異なることにお気付きかもしれません。たとえば、Object Browser では、テストす
るプロセスは Process("Orders") という名前であるのに対し、テスト内では ProcessOrders と呼ばれ
ます。また Object Browser で、ナビゲーション バーは NavigationBar(1) と呼ばれるのに対し、テス
トでは navigationbar1 という名前です。
これには、論理的な理由があります。デフォルトでは、TestComplete は、テスト レコーディング中
に使用したオブジェクトに対して自動的にカスタム ネームを生成し、使用します。カスタム ネー
ムの生成および割り当ては、名前のマッピングと呼ばれます。デフォルトの名前は理解しにくいこ
とがあるので、TestComplete では名前のマッピングを行っています。デフォルトの名前では、名前
に対応するウィンドウやコントロールがどれなのかの判断が難しいことがあります。マッピングし
た名前はテストをよりわかりやすく、安定したものにします。名前のマッピングに加えて、
TestComplete はマップされたオブジェクトのイメージを Name Mapping リポジトリに格納します。
これは、1 つまたは別のマップされたオブジェクトが一致するウィンドウまたはコントロールを理
解するのに役立ちます。名前のマッピングに関する詳細情報は、TestComplete ヘルプの「Name
Mapping」を参照してください。
9. レコーディングしたテストの実行
テストを実行してその動作を検証してみましょう。
テストの実行
テストを実行するには、テスト エディターのツールバーにある [Run Test] をクリックします。
TestComplete は、デバイスで Orders アプリケーションを起動して、テスト動作を実行します。Samuel
Clemens の注文を開き、顧客名を Mark Twain に変更します。
テスト結果
テストの終了後、テスト結果が表示され、テストが成功したか、失敗したかを確認できます。テス
ト結果については、このチュートリアルの次のステップで詳しく説明します。
テスト実行に関する注意
重要: テスト実行中は、テスト動作の妨げとならないように、デバイスの画面に触れないで
ください。
iOS アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
123
テスト実行中、コンピューター画面の右上隅にある TestComplete インジケーターは、実行
されたテスト操作に関する情報を表示します。
このインジケーターは、シミュレートしたテスト動作に関する通知をするためのメッセージ
を表示します。
[Test Engine] ツールバーまたはインジケーターの [Stop] を押すか、または TestComplete メ
イン メニューから [Test] - [Stop] を選択することで、テストの実行をいつでも停止すること
ができます。
インジケーターの [Pause] を苦ルックすることでテスト実行を一時停止することができま
す。一時停止の間は、必要な任意の動作を実行することが可能です。たとえば、テスト ロ
グを表示したり、TestComplete の Watch List や Locals パネルあるいは [Evaluate] ダイアログ
を使用してテストの変数やオブジェクトを確認することが可能です (TestComplete ヘルプの
「Debugging Tests」を参照)。
詳細に関する情報は、TestComplete ヘルプの 「Running Tests」 を参照してください。
10. テスト結果の解析
テスト終了後、すべてのテスト操作の結果を含むテスト ログが表示されます。
この例では、ログは次のようになります。
iOS アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
124
ログには、アクション、イベント、チェックポイントなどに関するさまざまなメッセージが含まれ
ています。メッセージ リストの上のツールバーを使用してメッセージをフィルタリングできます。
ログ メッセージをダブルクリックすると、そのメッセージを出力したテスト操作が表示されます。
これは、エラーの原因となった操作を把握するのに便利です。
Picture パネルでは、選択したテスト コマンドを実行する前に、期待される状態と実際のアプリケ
ーションの状態を示す画像が表示されます("期待される" とはレコーディング中にそのテスト コマ
ンドでキャプチャーされた画像を指し、"実際" とはテストの実行中にキャプチャーされた画像を指
します)。[Actual Image] ツールバーには、2 つの画像の差異をハイライトする特別なボタンがあり
ます。これらの画像は、テスト実行中のアプリケーションの動作を理解し、差異を確認して、エラ
ーを迅速に見つけるのに役立ちます。画像のキャプチャーについての詳細は、TestComplete ヘルプ
の「Test Visualizer」を参照してください。
[Additional Info] ペインには、実行された操作の詳細が表示されます。たとえば、プロパティ チェ
ックポイントの [Additional Info] には、チェック タイプ (equals, contains, matches a regular expression
など) およびその他の詳細が含まれます。
ログの下には、このほかにも 2 つのペインがあります。
iOS アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
125
Call Stack は、互いを呼び出すテストのデバッグに役立ちます。現在の操作またはエラーの
テスト コールのシーケンスが分かります。
Performance Counters は、テスト実行中のローカルまたはリモート コンピューターに関す
る情報 (CPU 負荷、メモリ使用など) を表示します。このチュートリアルでは使用しません
が、クライアント サーバー型の iOS アプリケーションでは、パフォーマンス カウンターを
利用してサーバーに関する情報を追跡できます。
すべてのログが Project Explorer の [Project Suite Logs] - [ProjectName Logs] にあるため、以前のログ
を見ることもできます。
注意: デフォルトで、TestComplete はログ ファイルにすべてのテスト結果を格納します。
テスト実行ごとにログ ファイルぼ数が増えて、メモリ消費量が増加します。メモリ
使用量を減らすために、手動でログ ファイルを削除したり、保存するログ ファイ
ルの数を制限することができます。
エラーの解決
テストが失敗することがあります。これにはいくつかの可能性があります。たとえば、開発者がア
プリケーションの振る舞いを変更したり、ウィンドウとコントロールの認識属性の変更によりテス
ト エンジンが必要なオブジェクトの検出に失敗したり、サードパーティのアプリケーションがテス
トするアプリケーションのウィンドウに重なっているためにテスト エンジンがアクションのシミ
ュレートに失敗するなどの可能性があります。
iOS アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
126
初めてのユーザーが直面するもっとも典型的なものは、テスト作成中と再生実行中でアプリケーシ
ョンの状態が異なることです。この問題を避けるには、テストを作成したときと同じ初期状態でテ
スト実行しているか確認してください。たとえば:
テストするアプリケーションがテストを記録する前に実行されていた場合は、テストを実行
する前に実行している必要があります。
テストアクションがアプリケーションの特定の画面で実行された場合は、テストを実行する
ときにもその画面を開く必要があります。
アプリケーション内のデータを編集して保存した場合は、テスト実行が正常に終了するよう
に変更を元に戻す必要があります。
特定のアプリケーションの応答を待つ必要があるため、テスト エンジンがアプリケーション オブ
ジェクトを検出できないことがあります。この問題を解決するには、Delay コマンドを挿入し、テ
キストの実行を一時停止する時間を指定します。
キーワード テストでは、指定した Delay Time (遅延時間) パラメーターで Delay オペレーシ
ョンを使用します。
スクリプトでは、ループ本体に aqUtils.Delay メソッドを使用します。
エラーの特定と修正の詳細については、TestComplete ヘルプの「Handling Playback Errors」と
「Debugging Tests」を参照してください。
11. 複数のデバイスで実行するためテストを設定する
1 つのモバイル デバイスでテストが正常に実行されることを確認したら、そのテストを変更して複
数のモバイル デバイスで実行することができます。
複数の iOS デバイスで実行されるテストは、次のことを処理できなければなりません。
タブレットとスマートフォンで異なるアプリケーション レイアウト: アプリケーションの
ユーザー インターフェースは、小さい画面のデバイス (iPhones または iPods) で実行するか、
大きい画面のデバイス (iPads) で実行するかに応じて変わることがあります。小さい画面で
は、UI 要素がいくつかのレイアウト (パネル、ページ、ビュー、タブなど) に分割されるこ
とがあり、タブレットとスマートフォンでは、同じコントロールにアクセスするのに、異な
るアクションを実行しなければならないことがあります。そのため、iPad で作成されたテス
トは、ほかの iPads でも動作しますが、iPhones や iPod タッチ デバイスでは動作しない可能
性があります。逆も同様で、iPhone で作成されたテストは、ほかの iPhones と iPod タッチ デ
バイスでは動作しますが、iPad デバイスでは動作しない可能性があります。
これに対応する方法はいくつかあります。最も簡単な方法は、タブレット用とスマートフォ
ン用の 2 つのバージョンのテストを作成することです。より複雑な方法は、テストを両方の
種類のデバイスに対応させることです。この場合、条件付きテスト構造を作成し、オブジェ
クト認識の条件を調整する必要があるでしょう。
iOS アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
127
iOS バージョンごとに異なるオブジェクト階層: iOS バージョンごとにオブジェクト階層が
異なる可能性があります。そのため、別の iOS バージョンでは、テストが必要なオブジェク
トを見つけられないことがあります。この問題を解決するには、Name Mapping プロジェク
ト項目 (オブジェクト レポジトリ) で不一致オブジェクトの識別プロパティを修正する必要
があります。
このチュートリアルで使用する Orders アプリケーションも、タブレットで実行する場合とスマート
フォンで実行する場合ではレイアウトが変わります。チュートリアルでは、簡潔にするため、テス
トを両方の種類のデバイスに対応させることはしません。テストを実行する場合は、同じ種類のデ
バイス (iPhones または iPads) を使用してください。
テストの一貫性を保持するため、textfield0 オブジェクトに拡張検索条件を適用できます。階層内の
オブジェクトを上に移動するとき、間違った認識を避けるために条件を見つけることを明確にする
必要があります。ここでは、残りの TextField オブジェクトと目的のオブジェクトを区別するた
めに text プロパティを追加する必要があります。
TestComplete がこのオブジェクトを見つけることを確実にするため、 [Mobile Screen] ウィン
ドウ切り替えて、次の操作をします。
Orders アプリケーションで [Edit] ボタンをクリックします。
リストの Mark Twain 注文を選択します。Customer name エディターを含む [Edit Order]
パネルが表示されます。
Mark Twain を Samuel Clemens に名前を変更して戻します。
編集モードを閉じないでください。
Project Explorer で NameMapping 項目をダブルクリックして、Name Mapping エディターを
開きます。このエディターで、マッピングしたオブジェクトの識別プロパティを確認および
編集できます。
[Mapped Objects] ペインを開きます。
オブジェクト ツリーを展開して、textfield0 オブジェクトを見つけます。
Textfield0 オブジェクトをダブルクリックします。
表示されるダイアログで、右側のリストでテキスト プロパティを選択し、 をクリック
します。
左の Selected プロパティは、次のようになります。
iOS アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
128
[OK] をクリックして、[Edit Name Mapping Item] ダイアログを閉じます。
Mapped Objects ペインで、textfield0 オブジェクトをドラッグして、tableviewcell6 オブジェク
トの直下の子にします。
textfield0 オブジェクトの [Extended Find] チェックボックスをオンにします。
確認ダイアログが表示された場合は、[Yes] をクリックします。
[Aliases] ツリーで、textfield0 オブジェクトのエイリアスを (Mapped Objects ツリーで行
った操作と同様に) tableviewcell6 エイリアスにドラッグします。
不要な scrollview0 オブジェクトを Mapped Objects と Aliases ツリーから削除します。オ
ブジェクトを削除するには、オブジェクトを右クリックして、コンテキスト メニューから
[Delete] を選択します。
キーワード テストのオブジェクト名を更新します。
Keyword エディターで Test1 を開きます。
顧客名の変更に使用される operation をダブルクリックします。
以下のオブジェクト名を変更します。(変更前)
Aliases.Device.processOrders.window0.tableview0.scrollview0.Ta
bleViewCell3_0.textfield0
(変更後)
Aliases.Device.processOrders.window0.tableview0.tableviewcell6
.textfield0
[Finish] をクリックします。
[Mobile Screen] ウィンドウで、Orders アプリケーションを初期状態に戻します。注文を変更
した場合はそれらを破棄し、[Edit Order] パネルを閉じて、[Done] をクリックします。
これで、複数のデバイスで実行できます。
iOS アプリケーションのテスト
© 2018 SmartBear Software http://support.smartbear.com/
129
12. 複数のデバイスでのテスト実行
テストを変更して、異なるモバイル デバイスで実行してみましょう。
[Mobile] カテゴリから Device Loop operation を追加します。テストの始めに配置します。
操作パラメーターのダイアログで、[Iterate Through All Connected Devices] を選択し、
[Finish] をクリックします。
テストから Select Device operation を削除/無効にします。Device Loop operation によりモバイ
ル デバイスの切り替えが行われるため、Select Device operation は不要です。
Device Loop operation の後のすべてのテスト操作を選択し、 をクリックしてこれらの操作
をループの内側に移動します。これらの操作はループの各反復で実行されます。
変更後のテストは次のようになります。
TestComplete のメイン メニューから [File] - [Save] を選択してテストを保存します。
iOS アプリケーションのテスト
smartbear.com TestComplete by SmartBear Software
130
「iOS デバイスの準備」で説明したようにほかのモバイル デバイスの準備と接続を行います。テス
トに使用するデバイスの種類は、テストの作成に使用したデバイスの種類と同じでなければなりま
せん (iPhones または iPads のいずれか)。
変更したテストを実行します。
TestComplete は、ブラウザーの数だけテスト操作を繰り返します。毎回、異なるモバイル デバイス
でテスト アクションが実行されます。
テスト ログには、使用したモバイル デバイスに関する情報と、各デバイスで実行されたテスト操
作の結果が含まれます。
次のステップ
© 2018 SmartBear Software http://support.smartbear.com/
131
次のステップ
スタート ガイド チュートリアルはこれで終了です。このスタート ガイドが TestComplete の理解に
役立つことを願っています。他のアプリケーション タイプのテストを作成する方法を習得したり、
高度な機能を習得し独自のテストを作成してみてください。TestComplete とその機能についての詳
細情報は、TestComplete ヘルプを参照してください。いくつかのヘルプ トピックを次に示します。
共通トピック
TestComplete によるレコーディング (Recording in TestComplete)
このセクションには、TestComplete によるテストのレコーディングに関する情報があります。
チェックポイント (Checkpoints)
このセクションは、テスト エンジンによって提供されるさまざまなチェックポイントの種
類と、テストのレコーディング中およびデザイン時にチェックポイントを作成する方法を説
明します。
テストの実行 (Running Tests)
このセクションには、テスト実行の方法、バッチ実行 (テストのグループを実行) の設定方
法、テスト実行の予定の立て方などの情報があります。
テスト ログ (Test Log)
TestComplete によるテスト結果の記録方法とテスト ログ パネルについて説明します。この
セクションでは、メッセージ、画像、ファイルをログに投稿する方法についても説明します。
再生実行エラーの対応 (Handling Playback Errors)
テスト実行中に発生したエラーの対応方法を説明します。
TestComplete の使用 (Working With TestComplete)
TestComplete プロジェクトをチーム メンバーと共有する方法、TestComplete テストをビルド、
開発、品質保証プロセスに統合する方法がわかります。
デスクトップ アプリケーションに関するトピック
オブジェクトの命名方法 (Naming Objects)
このセクションには、TestComplete によるプロセス、ウィンドウ、コントロールの名前の付
け方に関する情報があります。
ユーザー アクションのシミュレーション (Simulating User Actions)
このセクションは、TestComplete を用いたマウス クリック、キーストローク、メニュー項
目の選択のシミュレートについて説明します。
次のステップ
smartbear.com TestComplete by SmartBear Software
132
アプリケーションのオブジェクトとコントロールの使用 (Working With Applications’ Object
and Controls)
このセクションは、テスト オブジェクトに対する特定のアクションの実行方法と、そこか
らデータを取り込む方法を説明します。
詳細なタスク (Advanced Tasks)
テストの拡張に役立つさまざまな TestComplete 機能に関する情報が得られます (イベントの
処理方法、ActiveX オブジェクト、ファイル、データベースの使用方法など)。
Web アプリケーションに関するトピック
Web アプリケーションのテスト (Testing Web Applications)
TestComplete によるモバイル アプリケーションのテストに関する基本情報があります。
Web テストの作成とレコーディング (Creating and Recording Web Tests)
Web アプリケーションの自動テストの作成とレコーディングに関する基本情報を説明しま
す。
Web テストの共通タスク (Common Tasks for Web Testing)
Web ページ要素を検出するさまざまな方法を説明します。
TestComplete でクロスブラウザー テスト (Cross-Browser Testing in TestComplete)
TestComplete でブラウザーに依存しないテストを作成する方法を示します。
エキュレーターを使用したモバイル Web アプリケーションののテスト (Testing Mobile Web
Applications Using Emulator – Tutorial)
サンプルのクロスブラウザー モバイル Web テストを作成するためのステップ バイ ステッ
プのチュートリアル
モバイル アプリケーションに関するトピック
Android アプリケーション
Android アプリケーションのテスト (Testing Android Applications)
TestComplete による Android アプリケーションのテストに関する基本情報があります。
Android Open アプリケーション用のテストの作成 (Creating Tests for Android Open Applications)
TestComplete 用に準備された Android アプリケーションのテストに関する詳しい情報を提供
します。
Android デバイスでのユーザー アクションのシミュレーション (Simulating User Actions Over
Android Devices)
次のステップ
© 2018 SmartBear Software http://support.smartbear.com/
133
Android デバイスで、タッチ、スワイプなどのさまざまなユーザー アクションをシミュレー
トする方法を説明します。
iOS アプリケーション
iOS アプリケーションのテスト (Testing iOS Applications)
TestComplete による iOS アプリケーションのテストに関する基本情報があります。
iOS テスト用のアプリケーション、デバイス、テスト コンピューターの準備 (Preparing
Applications, Devices and Test Computers for iOS Testing)
テスト用に iOS アプリケーション、デバイス、テスト コンピューター、TestComplete を準
備する方法を説明します。
iOS アプリケーションでのユーザー アクションのシミュレート (Simulating User Actions on iOS
Applications)
iOS アプリケーションでタッチやキーストロークなどのユーザー アクションをシミュレー
トする方法を説明します。
テクニカル サポートとリソース
smartbear.com TestComplete by SmartBear Software
134
テクニカル サポートとリソース
TestComplete に関する質問、問題、その他のお問い合わせについては、下記のフォームからサポー
ト チームまでご連絡ください。
http://support.smartbear.com/message/?prod=TestComplete
サポート チームから電子メールで回答を送付します。また、以後の連絡は電子メールで行われます。
ただし、会話を開始するには、お問い合わせフォームをご利用ください。
さらに、フォーラムで回答を探したり、意見を交換することもできます。また、よくある質問で質
問に対する回答を見つけたり、ビデオ チュートリアル、Web セミナー、ブログ を見たり、テクニ
カル ペーパーを参照したり、SmartBear 社による TestComplete トレーニング セミナーに参加するこ
とも可能です。
サポート サービスの詳細については、次の Web サイトをご覧ください。
http://support.smartbear.com/.
索引
© 2018 SmartBear Software http://support.smartbear.com/
135
索引
A
Android アプリケーションのテスト ........................... 70
I
iOS アプリケーションのテスト .................................. 98
M
Mobile Screen ............................................................ 82
N
NameMapping ......................................................... 126
識別プロパティの修正 .......................................... 126
Naming オブジェクト .................................................. 9
O
Object Browser パネル ................................................. 8
Open アプリケーション ............................................. 11
P
Project Explorer パネル ............................................... 8
S
Stores ......................................................................... 12
T
Testing
Test types ................................................................ 5
Tests
Test types ................................................................ 5
U
UI テスト ...................................................................... 5
W
Web アプリケーションのテスト ................................. 38
お
オブジェクト naming ................................................... 9
オブジェクト モデル .................................................... 9
オブジェクト名のマッピング................................30, 58
き
キーワード テスト ....................................................... 5
機能テスト ................................................................... 5
さ
サポートとリソース ..................................................134
し
自動テスト ................................................................... 5
準備
Android アプリケーション .....................................76
Android デバイス ...................................................75
iOS アプリケーション ..........................................102
iOS デバイス ........................................................100
す
スクリプト ................................................................... 5
ち
チェックポイント .......................................................12
チェックポイント (Checkpoints) ..........................22, 84
作成 ..................................................................22, 84
て
テクニカル サポートとリソース ...............................134
デスクトップ アプリケーションのテスト ...................13
テスト
レコーディング .................................................19, 45
レコーディングしたテストの解析 ...... 27, 55, 89, 118
結果の解析 .......................................... 34, 64, 93, 123
作成 .............................................. 19, 45, 80, 81, 109
実行 .................................................... 31, 62, 92, 122
調整 ........................................................................60
テスト
自動テストについて ................................................ 5
テスト オブジェクト モデル ........................................ 9
テスト プロジェクト .................................................... 6
Web プロジェクトの作成 .......................................38
デスクトップ プロジェクトの作成 .........................16
索引
smartbear.com TestComplete by SmartBear Software
136
モバイル プロジェクトの作成 (Android) ............... 79
モバイル プロジェクトの作成 (iOS) .............. 98, 106
テスト ログ
Web ........................................................................ 64
ソースにジャンプ ....................................... 36, 66, 95
デスクトップ .......................................................... 34
テストするアプリケーション
デスクトップ .......................................................... 17
モバイル ......................................................... 79, 106
テストのレコーディング
Web ........................................................................ 45
デスクトップ .......................................................... 19
テストの作成
Web ........................................................................ 45
デスクトップ .......................................................... 19
モバイル (Android) .................................. 80, 81, 109
テストの実行
Web ........................................................................ 62
デスクトップ .......................................................... 31
バッチ実行 .............................................................. 32
モバイル ......................................................... 92, 122
異なるブラウザー ................................................... 67
一時停止 ............................................. 32, 63, 93, 123
初期条件 ..................................................... 31, 63, 92
停止 .................................................... 32, 63, 92, 123
複数のデバイス .............................................. 96, 129
テスト結果
Web ........................................................................ 64
エラーの解決 ...................................... 37, 66, 95, 125
ソースにジャンプ ....................................... 36, 66, 95
デスクトップ .......................................................... 34
モバイル (Android) ................................................ 93
モバイル (iOS) ...................................................... 123
テスト結果の解析
Web ........................................................................ 64
デスクトップ .......................................................... 34
モバイル ......................................................... 93, 123
ね
ネーム マッピング ................................................ 30, 58
は
パネル .......................................................................... 8
ふ
ブラックボックス アプリケーション ..........................10
プロジェクト................................................................ 6
Web ........................................................................38
デスクトップ ..........................................................16
モバイル (Android) .................................................70
モバイル (iOS) ........................................................98
プロジェクト スイート ................................................ 6
プロジェクト項目 ........................................................ 6
ほ
ホワイトボックス アプリケーション ..........................11
も
モバイル アプリケーションのテスト ....................70, 98
モバイル テストの準備 ....................................... 71, 100
ゆ
ユーザー インターフェース概要 .................................. 8
れ
レコーディングしたテストの解析
Android ..................................................................89
Web ........................................................................55
デスクトップ ..........................................................27
モバイル ...............................................................118
ろ
ログ
Web ........................................................................64
ソースにジャンプ ....................................... 36, 66, 95
デスクトップ ..........................................................34