Qmonus Documents /
FrontTester /4.試験パラメータ

試験パラメータ

各試験ファイル、index.jsonで記述するパラメータについて説明します。

Scenario API

提供する関数

下記例のような形で、export [async functionとして宣言してください]


module.exports = async ( { params , root , page , frame , browser , actions , http , cdpsession , expect , context} )=>{ params // 実行中テストのパラメータ root // playwrightのpageまたはframeインスタンス page // playwrightのpageインスタンス frame // playwrightのframeインスタンス browser // playwrightのbrowserインスタンス actions // ユーティリティ関数 http // axiosのhttpモジュール cdpsession // playwrightのCDPセッションインスタンス(chromiumのみ) context // playwrightのcontextインスタンス expect // playwright(jest)のexpectモジュール

ユーティリティ関数’actions’の機能

actionsで提供する機能になります。


[async] actions.screenshot( msg|String , pageIndex|Number) ・・・ スクリーンショット取得 [async] actions.saveResults( key|String , value|Object,String,Number,Null ) ・・・ テストインスタンス(一時データ)の保存 [async] actions.logger( msg|String , [logLevel|String]) ・・・ ログ出力 [sync] actions.getResults( key|String ) ・・・ テストインスタンス(一時データ)の読込 [async] actions.getFilePath() ・・・ 実行中テストシナリオファイルパスの取得 [async] actions.getRoot( sec|Number ) ・・・ Pageインスタンスの取得。frameSelectorオプションを指定している場合、Frameインスタンスを取得 [sync] actions.getEvidenceDir() ・・・ エビデンスディレクトリパスの取得 [async] actions.setViewport( { width , height } ) ・・・ ウィンドウのViewportサイズ設定



'index.json’の設定パラメータ

index.jsonで記述する試験実行に必要なパラメータについて記述します。

Test scenario

シナリオ名を記述してください。
シナリオ名はindex.jsonが格納されているディレクトリ名と一致させてください。

Test description

Test実行時のメモに使用。

Test params

実際の試験で使用するパラメータを記述してください。
下記に例を示します。


"params": { "url": "[URL_ApiFront]", "Username": "your_test_account_name", "password": "your_test_account_password", "query": {}, "dummy_user_1": { "create": [ { "expect_successed": false, "expect_gui_validation": true, "Name": { "value": "John", "id": "1" }, "Age":{ "value": "30", "id": "1" } }, ..... ], .... } }

Test Options

オプションを選択することで試験実行方式を変更することが可能です。

パラメータ 設定例 概要 備考
headless TRUE ヘッドレスフラグ trueでの使用を推奨
devtools FALSE Chrome Developer tool Panel有効化フラグ ※Chromeのみ有効
client “chrome” 起動ブラウザ 他 firefox, webkit
lang “ja-JP” 言語
viewport/width 1366 画面サイズ(横幅)
viewport/height 768 画面サイズ(高さ)
slowMo 10 実行遅延速度
browserTimeout 0 ブラウザタイムアウト時間
autoSnapshot FALSE 自動スナップショット
disableSnapshot FALSE 削除スナップショット
frameSelector “casval-content-main” フレームセレクター 試験対象のフレーム名定義。対象環境にframeの設定がある場合、rootにframeを渡す。
reuseCount -1 playwrightリソース再利用数 playwright実行時のリソース(Browser, page等)の再利用数を設定。
-1または未指定:初回動時のリソースを使用し続ける。
回数指定:指定した回数分試験を実行した後に、Playwrightリソースの開放、再作成を実施する。
試験が長くなる場合、こちらの利用を推奨(詳細はこちらで)
initTests: [] _login.js 初回試験ファイル名(再帰用) playwright実行時の初回実行E2E試験ファイル名を設定。
Playwrightリソースの開放、再作成時にログイン操作やURL遷移等のE2E試験実行時に必要な初期処理(依存関係等)を実施するための定義。
reuseCountで再利用数を指定した場合はE2E試験実行継続で必要となる。
空または未定義:試験対象の先頭ファイルを初回実行E2E試験ファイルとして利用。
ファイル指定:指定された対象ファイルを初回実行E2E試験ファイルとして利用。

パラメータ例:


"defaultOptions": { "lang": "en-US", "viewport": { "width": 1366, "height": 768, }, "headless": false, "devtools": false, "autoSnapshot": false, "snapshotQuality": 10, "frameSelector": "casval-content-main" }

Execute Options

FrontTesterで追加された実行オプションです。

パラメータ 設定例 概要 備考
setup Object 試験setupパラメータ
setup.path ./_setup.js setupで起動するjsファイルのpath指定 pathは起動シナリオからの相対pathとしてください。
setup.params Object setupで起動するパラメータ setup.jsファイル起動の際に必要なパラメータがあれば記述してください
duplicateScenarios Array 試験ファイル複製用パラメータ
duplicateScenarios > Obj.scenario 000_test.js 複製したい試験ファイル名 pathは起動シナリオからの相対pathとしてください。
duplicateScenarios > Obj.count 1 複製数 defalutは0(1回のみ実行)です。0回(スキップ)は設定できません。

executeOptionsパラメータ例:


"executeOptions":{ "setup":{ "path":"your/setup/path/from/_scenariodir.js", "params":{ "pattern":"create_single_Object_1" "error":false } }, "duplicateScenarios":[ { "scenario":"00_first.js", "count": 1 } ] }

setup

setupは試験ファイルソート後に起動され、試験実行前にTest params , Test optionsを上書きする機能です。
そのため下記の2点を実装することで、試験条件変更の都度index.jsonを書き換える必要がなく、setup.paramsの変更のみで試験条件の変更が可能になります。

  • setup.paramsに試験条件/起動したいパラメータを用意
  • setup.pathに指定したファイルで、setup.paramsに応じたパラメータ成形をするコード記述
💡 Tips 試験ファイルの変更とスキップについて

実行試験ファイル自体の変更やスキップ処理を追加することはできません。
試験ファイルのスキップは各ファイルの先頭に試験パラメータの有無等によってスキップするなどの処理を入れることを推奨します。


setup.pathで指定するファイルについて

ファイルはjsで記述し、引数はsetup.paramsで値のみ、returnは{params,options}で渡してください。
なお、returnを指定しない場合は実行時に引き渡した起動パラメータとなります。


module.exports = async function custom_setup(setup_params) { let params = { // overwrite params } let options = { // overwrite options } /* return で実行パラメータ、起動オプションを上書き可能 null、空オプジェクトを返却した場合は、上書きは実施しません */ return {params ,options} };

duplicateScenarios

同一試験ファイルを複数回連続で実行可能になります。
試験パラメータの変更等は不可となります。

5.API
3.ディレクトリ構成