環境の構築と設定 ==================== ------------------------- インストールと基本設定 ------------------------- パッケージの構成 ------------------------- 以下のファイルもしくはフォルダを、インストールするフォルダに配置します。 * WebTestTemplate_*.xlsm Web画面のためのテスト仕様書のひな型です。このファイルに組み込まれたスクリプトはテスト仕様書作成を支援します。 * CntrlDictionary_*.xlsm コントロール辞書のサンプルです。HTMLの標準的なコントロールに対応しています。 これを元に、各プロジェクトの特性(画面標準部品)に応じて辞書をカスタマイズしてください。 * ImageCompareAssist.xlsm キャプチャーした画像の新旧を比較するための簡易ツールです。 * ftesting_*.jar テストをデータベースに格納し、テストを実行するためのエンジンです。 * ftesting_*_libフォルダ + createtable.sql : テーブル生成用SQL 環境設定ダイアログにて、FTに必要なテーブルを生成するためのものです。 + holidays_xxxx.txt : 休日リスト 日付入力を行う際に、休日判定を行うためのものです。 * JavaTestTemplate_*.xlsm Javaメソッドのためのテスト仕様書のひな型です。 * ObjectDictionary.xlsm Javaメソッドのテストのための辞書です。 動作環境について ------------------------- * Java:Java8以上が必要です。 * Excelは2013以上が必要です。 * PostgreSQLについてはjdbcでアクセスできる必要があります。 Excelからデータベースに登録するために必要です。画面項目仕様書やWebページを読み込んだりして、テスト仕様書を作成する段階では、必ずしも必要な環境ではありません。 実行環境のJavaの版数により、使用可能なSeleniumの版数が制限されます。 テスト対象のブラウザの版数により、Seleniumとの接続に使うドライバの版数が制限されます。 Chromeなどのブラウザは設定により、自動更新されますので、知らない間に、テストが動かなくなることがあります。 従って、ブラウザの版数を決め、外部と遮断するか、あるいは自動更新を止められるブラウザを選択するなどの対策が必要です。 必須ライブラリやオプションのexeの配置 --------------------------------------- 以下、ftesting*_libフォルダを「ライブラリフォルダ」と呼びます。 * jdbcドライバ(必須) ライブラリフォルダにPostgreSQLのjdbcドライバを格納します。 * Selenium Java版(Webテスト用) SeleniumのJava版をダウンロードし、全てのjarライブラリをライブラリフォルダ(ftesting_*_libフォルダ)に格納します。 * SeleniumBasic(Webテスト用) Excelのテスト仕様書の初期データを、テスト対象のWebページを解析して作成するために必要です。ダウンロードし、インストール後、ドライバを最新化してください。 操作テストに使用する、ブラウザに対応するブラウザ連携用ドライバをライブラリフォルダに格納します。 * ブラウザ連携用ドライバ(Webテスト用) - InternetExplorer Driver:ドライバは32ビット版の方が無難と思われます。 保護オプションのチェックを入れる。フォントサイズは100%にしておくこと。 必要に応じて、レジストリを編集しておく。適切な編集方法は、Webで検索すること。 - Chrome Driver * キャプチャ画像編集ツール(Webテスト用) キャプチャする画像のexif領域に、情報を埋め込む場合には、ダウンロードし、ライブラリフォルダに置く。 * Javassist(必須) Javaアプリケーションでクラス情報の取得やスタブを自動で作成するためにJavassistを使用しています。 javassist.jarをコミュニティからダウンロードして、ライブラリフォルダにjavassist.jarを格納します。 FTの実行環境設定 ----------------------------------------- ExcelからFTの機能を使用する事前準備として、 * FTで使用するExcelファイルを、実行環境フォルダ(ftesting_*.jarとライブラリフォルダがあるフォルダ)に配置します。 * -daemon オプション付きでFTのjarを実行しておく必要があります。 +--------------------------------+ |java -jar FTのjarfile -daemon | +--------------------------------+ コンソールで、起動中であることを確認してください。 ※ このデモンはおよそ12時間で自動終了します。 テスト仕様書のExcelにクイックアクセスツールバーがあります。そのメニューにある「環境を設定する」を選択すると次のダイアログが起動します。 ※ コマンドだけでテスト実行する場合、Excelで以下の方法に従ってtclenv.jsonを作成し、テスト実行するフォルダのライブラリフォルダに配置してください。 .. image:: ./img/envmotion.png :scale: 40% :align: center 環境設定の初期画面です。ログファイルのパスを指定します。Excelの設定で指定する場合には、設定する必要はありません。 障害調査のために、FTが出力できる情報を取得する場合には、デバッグにチェックを入れます。 .. image:: ./img/envplugin.png :scale: 40% :align: center Web画面のテストを行う場合には、「com.ftinc.si.assist.test.web.WebDriverPlugin」をセットします。 .. image:: ./img/envpluginedit.png :scale: 40% :align: center WebDriverPluginを選択し、編集ボタンを押下すると、Web画面のテスト実行時のシステムプロパティを設定できます。 * webtest.browser 一つの動作環境でデフォルトのブラウザ名を指定します。chrome, firefox, safari, ie, edgeのいずれかを指定します。それ以外のブラウザーを使用する場合、これを設定せず、コントロール辞書において、BROWSER_INFOで設定します。 * webdriver.ブラウザ名.driver ブラウザ名に対応するドライバのexeを指定します。 * webtest.timeout ブラウザの更新完了を待つ時間を秒で指定します。この秒数を越えて操作できないもしくは状態が確認できない場合には例外を発行します。 * webtest.exiftool 必要であれば画像ファイルにメッセージを埋め込むためのexeを指定します。 * webtest.proxy 必要に応じて、プロキシのIPアドレスを指定します。 * webtest.proxy.user_id 必要に応じて、プロキシのユーザIDを指定します。Basic認証のみ有効な機能です。 * webtest.proxy.password 必要に応じて、プロキシのパスワードを指定します。 .. image:: ./img/envdb.png :scale: 40% :align: center テストのためのデータベースにアクセスするための情報を指定します。 テーブルを未作成の場合には「テーブル作成」ボタンを押すことにより、必要なテーブル定義を行うことができます。 .. image:: ./img/envprofile.png :scale: 40% :align: center プロファイルタブでは、グループと版数を設定することができます。 但し、あらかじめ設定ファイルにこれらがセットされている場合には、変更できません。 プロジェクトの管理者は、必要に応じて、これらをセットして、各グループに配付することができます。 特にグループや版数を指定する必要のない場合、空白のままで構いません。 テスト実行時の版数については、コマンドオプション「-v:版数」により指定することができます。 また、このタブにて、URL、IPアドレス、サーバ名など環境に関わる「別名」を設定することができます。これは、テストする動作環境の変更、例えばチームのテスト環境からプロジェクト全体のテスト環境への変更をを行いやすくするためのものです。 書式は 別名のシンボル=実体名 です。例えば、 HogeDrive=d: とすると、テスト実行時にアクセスするpathに含まれる$HogeDriveが「d:」に変換されます。(埋め込む際には、シンボル名の前に$を付けることに注意) 複数個の別名を設定する場合、上記の書式を改行でつなげます。 ※ 各項目の設定値欄には、別名は使用できません。 テスト仕様書Excelの設定 ----------------------------------------- Settingシートに以下を記述する必要があります。 * Language : 言語を設定できるのは、Settingの一行目だけです。1列目に「Language」、2列目に「en」(英語)もしくは「jp」(日本語を指定します) ※ 指定がない場合、日本語表示になります。 ※ コントロール辞書は、それぞれの言語ごとにファイルを作成する必要があります。 ※ Javaについては、環境に応じて英語と日本語を自動的に切り替えます。 ※ プロジェクト固有の多言語化はLiteralDicシートを拡張することで可能です。 * DictFileName:プロジェクトのコントロール辞書を指定します。同じフォルダにある必要があります。未指定であれば、このファイルを開く際に指定することができます。クイックアクセスツールバーからコントロール辞書を指定し直すこともできます。 * LOG_FOLDER:テスト実行時のログフォルダを指定します。