MSBuild タスクを使用すると、バッチでのテストの実行が容易になります。この処理は
RunTests タスクで実行できます。
注: このタスクを単独で使用する代わりに、GeneXus のインストールのルートフォルダにある GXtest.msbuild ファイルを使用し、必要に応じて変更することをお勧めします。「GXtest のターゲットを使用した MSBuild の実行」でサンプルをご覧いただけます。
このタスクでは、特定の
ナレッジベースでタイプ (ユニット、UI、またはその両方) ごとにすべてのテストを実行するか、テストを行う対象のリストを TestObjects パラメーターを使って指定できます。
Type:
{All, Unit, Web, UI, SD}
実行するテストのタイプを指定します。設定は次のとおりです。
All: 最初にすべての有効なユニットテストを実行し、次に有効な Web UI テストを実行し、最後にすべての有効な SD UI テストを実行します。
既定値です。
Unit: すべての有効なユニットテストを実行します。
Web: すべての有効な Web UI テストを実行します。
SD: すべての有効な SD テストを実行します。
UI: Web と SD のすべての有効な UI テストを実行します。
TestObjects: セミコロン (;) で区切ったテストオブジェクト名の一覧です: ユニットテスト、UI テスト、テストスイート
実行前にビルドするテストを指定します。
注: Jenkins で MSBuild ステップから使用する場合は、セミコロン (;) をエスケープして、Jenkins から MSBuild に正しく渡されるようにする必要があります。次の 2 つのオプションがあります。
1 - パラメーターを一重引用符で囲みます。次に例を示します:
'/p:TestObjects="Test1;Test2;Test3"'
2 -「;」の代わりに「%3B」を使用します。次に例を示します:
/p:TestObjects="Test1%3BTest2%3BTest3"
Build (オプション):
bool
テストオブジェクトを実行する前にビルドするかどうかを設定するブール値のパラメーターです。
true の場合、選択されたテストの実行前にビルド操作が行われます。
既定値です。
false の場合、テストはビルドされずに直接実行されます。このオプションは、事前に「すべてビルド」操作が実行され、テストのバイナリが生成済みである場合に使用します。
DetailedResults (オプション):
bool
コンソールの出力でのテスト結果の詳細度を設定するブール値のパラメーターです。
True の場合、コンソールの出力に結果の詳細が表示されます。
既定値です。
False の場合は要約だけが表示されます。
LogLevel (オプション):
string
Web UI テストの実行時におけるログの情報量を指定します。
既定値は、選択した環境の
[ Log Level ] プロパティに設定されている値です。
Browser (オプション):
{Chrome, IE, Firefox, Edge }
Web UI テストを実行するブラウザーの名前を指定します。
既定値は、選択したナレッジベースの [ Default Browser ] プロパティに設定されている値です。
FullPageScreenshot (オプション):
boolean
既定のスクリーンショットコマンドの動作を指定します。
既定値は、選択した環境の
[ Full Page Screenshot ] プロパティに設定されている値です。
VerifyStopsExecution (オプション):
boolean
検証チェックが失敗したときにテストの実行を停止するかどうかを指定します。
既定値は、選択した環境の
[ Verify Stops Execution ] プロパティに設定されている値です。
BaseURL (オプション):
string
完全な URL が指定されている場合を除いて、Go コマンドで Web UI テストを実行するベース URL 名を指定します。
既定値は、選択した環境の
[ Base URL ] プロパティに設定されている値です。
FileUploadBasePath (オプション):
string
FileUploadBy コマンドで Web UI テスト用のファイルを検索するベース ディレクトリー パスを指定します。
既定値は、選択した環境の
[ File Upload Base Path ] プロパティに設定されている値です。
Arguments (オプション):
string
ブラウザーを開いた瞬間にプロパティを設定するのに役立ちます。ブラウザーにはそれぞれ独自のプロパティが定義されていますが、大半のブラウザーに共通する引数もいくつかあります: たとえば、--headless と指定すると、インターフェースを表示せずにテストを実行できます。
既定値は、選択した環境の
[ Arguments ] プロパティに設定されている値です。
ScreenshotMode (オプション):
string
Web UI テストの実行中にスクリーンショットを取得して保存するタイミングを指定します。
既定値は、選択した環境の
[ Screenshot saving mode ] プロパティに設定されている値です。
HtmlMode (オプション):
string
Web UI テストの実行中にページの HTML を保存するタイミングを指定します。
既定値は、選択した環境の
[ Html saving mode ] プロパティに設定されている値です。
ExecutedCount (output): numeric
実行されたテストの総数が格納されます。
SuccessCount (output): numeric
成功したテストの総数 (WarningCount を含む) が格納されます。
WarningCount (output): numeric
警告されたテストの総数が格納されます。
SkippedCount (output): numeric
スキップされたテストの総数が格納されます。
ErrorCount (output): numeric
失敗したテスト (例外とエラー結果) の総数が格納されます。
ResultsFile (input/output) (オプション): string
GXtest の結果の XML ファイルを保存する場所のパスです。出力には XML ファイルのパスが含まれます。
ServerUserName:
string
サーバーのユーザー名を指定します (local\username または gxtechnical\username)。
ServerPassword:
string
サーバーのパスワードを指定します。
AllowFailedTests:
boolean
true: 失敗したテストがあってもタスクは成功とします。
false: 失敗したテストがある場合、タスクは失敗と設定されます。
既定値です。
MSBuild ファイルでの使用例を次に示します:
<RunTests Type="All" Browser="Chrome" BaseURL="http://mytestingenvironment/myApp/" Build="false" FileUploadBasePath="/testingDir/" ServerUserName="gxtechnical\username" ServerPassword="password"/>
<RunTests Type="Unit" DetailedResults="true" ServerUserName="local\admin" ServerPassword="password"/>
<RunTests Type="UI" Browser="Firefox" BaseURL="http://mytestingenvironment/myApp/" ServerUserName="gxtechnical\username" ServerPassword="password" AllowFailedTests="true"/>
<RunTests TestObjects="BasicTestsSuite;SmokeTestsHomePage;LooseTest2" Browser="Firefox" Arguments="--headless" AllowFailedTests="true">
<Output TaskParameter="ExecutedCount" PropertyName="ExecutedCount"/>
<Output TaskParameter="SuccessCount" PropertyName="SuccessCount"/>
<Output TaskParameter="ErrorCount" PropertyName="ErrorCount"/>
<Output TaskParameter="WarningCount" PropertyName="WarningCount"/>
<Output TaskParameter="SkippedCount" PropertyName="SkippedCount"/>
<Output TaskParameter="ResultsFile" PropertyName="ResultsFile"/>
</RunTests>
モッキングは、テストに使用するデータ (SQL と結果) を記録しながら動作します。この情報は (モックデータとして) 保存され、さまざまな環境でその後のすべてのテストの実行に使用されます。
パラメーター:
TestName:
string
モックデータを記録するテストの名前を指定します。
MockDataFilePath (output):
string
モック データ ファイルが保存されている場所の絶対パスです。
ServerUserName:
string
サーバーのユーザー名を指定します (local または gxtechnical)。
ServerPassword:
string
サーバーのパスワードを指定します。
MSBuild ファイルでの使用例を次に示します:
<RecordMockingData TestName="testExample" ServerUserName="gxtechnical\username" ServerPassword="password">
<Output TaskParameter="MockDataFilePath" PropertyName="MockPath"/>
</RecordMockingData>
<RecordMockingData TestName="testExample" ServerUserName="local\admin" ServerPassword="password">
<Output TaskParameter="MockDataFilePath" PropertyName="MockPath"/>
</RecordMockingData>
最終のテストの実行結果を JUnit 形式に変換します。
パラメーター:
SourceResultsFile:
string (オプション)
JUnit XML 形式に変換する、GXtest の元の結果 XML ファイルです。
JUnitTestFilePath (input/output):
string (オプション)
JUnit ファイルが保存されるディレクトリーの絶対パスです。JUnit ファイルの絶対パスに出力が保存されます。
ディレクトリーパスが存在しない場合、GXtest はディレクトリーを作成しようとします。
ファイルの絶対パスを渡して、そこにテスト結果をエクスポートすることができます。
ServerUserName:
string
サーバーのユーザー名を指定します (local または gxtechnical)。
ServerPassword:
string
サーバーのパスワードを指定します。
MSBuild ファイルでの使用例を次に示します:
<JUnitExportTests JUnitTestFilePath="C:/path" ServerUserName="gxtechnical\username" ServerPassword="password">
<Output TaskParameter="JUnitTestFilePath" PropertyName="JUnitTestFilePathOutput"/>
</JUnitExportTests>
<JUnitExportTests JUnitTestFilePath="C:/non-existingPath" ServerUserName="local\admin" ServerPassword="password">
<Output TaskParameter="JUnitTestFilePath" PropertyName="JUnitTestFilePathOutput"/>
</JUnitExportTests>
<JUnitExportTests JUnitTestFilePath="C:/path/customName.xml" ServerUserName="local\admin" ServerPassword="password">
<Output TaskParameter="JUnitTestFilePath" PropertyName="JUnitTestFilePathOutput"/>
</JUnitExportTests>
最終のテストの実行結果をカスタムの GXtest HTML 形式に変換します。
パラメーター:
HTMLFilePath (input/output):
string
HTML ファイルが保存されるディレクトリーの絶対パスです。HTML ファイルの絶対パスに出力が保存されます。
ディレクトリーパスが存在しない場合、GXtest はディレクトリーを作成しようとします。
ファイルの絶対パスを渡して、そこにテスト結果をエクスポートすることができます。
空にすると、ナレッジベースパス内にあるフォルダ「TestResults」がターゲットディレクトリーとして使用されます。
ExportType: string
All: すべてのテストがエクスポートされます。
Failed: 失敗したテスト結果 (エラーまたは例外) のみがエクスポートされます。
Passed: 成功したテスト結果 (OK または警告) のみがエクスポートされます。
空にすると、すべてのテスト結果がエクスポートされます。
ServerUserName:
string
サーバーのユーザー名を指定します (local または gxtechnical)。
ServerPassword:
string
サーバーのパスワードを指定します。
MSBuild ファイルでの使用例を次に示します:
<ExportResultsToHTML ExportType="All" HTMLFilePath="C:\folder\" >
<Output TaskParameter="HTMLFilePath" PropertyName="HTMLFilePath" />
</ExportResultsToHTML>
<ExportResultsToHTML HTMLFilePath="myPath\" >
<Output TaskParameter="HTMLFilePath" PropertyName="HTMLFilePath" />
</ExportResultsToHTML>
<ExportResultsToHTML ExportType="Failed" HTMLFilePath="$(FilePath)" >
<Output TaskParameter="HTMLFilePath" PropertyName="HTMLFilePath" />
</ExportResultsToHTML>
GXtest の実行結果を
Allure 形式に変換します。目的は、成功したステップや UI コマンドのスクリーンショットなど、実行結果を確認するためのツールと統合することです。
パラメーター:
SourceFile:
string (オプション)
Allure 形式に変換する GXtest 形式のソース結果ファイルです。既定値は、現在開いているナレッジベースのパスです。
TargetDir (input/output):
string (オプション)
Allure ファイルが保存されるディレクトリーの絶対パスです。
空にすると、SourceFile パラメーターの値と同じディレクトリーがターゲットディレクトリーとして使用されます。
ディレクトリーパスが存在しない場合、GXtest はディレクトリーを作成しようとします。
Allure では UUID ベースのファイル名が必要であるため、テスト結果がエクスポートされる絶対ファイルパスを渡すことはできません。
注: このディレクトリーは結果をエクスポートする前にクリーンアップされるため、Allure レポートレベルですべてが正常に機能します。削除されるファイルは、末尾に「
-testsuite.xml」が付くファイルまたは「
-attachment」を含むファイルです。
Properties:
string (オプション)
Allure レポートに環境変数として表示されるプロパティです。一般的な値としては、ナレッジベースパス、ナレッジベースバージョン、環境名などがあります。
この形式は、
Properties="var1=value1;var2=value2;var3=value3" になります。
注: Jenkins で MSBuild ステップから使用する場合は、セミコロン (;) をエスケープして、Jenkins から MSBuild に正しく渡されるようにする必要があります。次の 2 つのオプションがあります。
1 - パラメーターを一重引用符で囲みます。次に例を示します:
'/p:OtherVariables="var1=value1;var2=value2;var3=value3"'
2 -「;」の代わりに「%3B」を使用します。次に例を示します:
/p:OtherVariables="var1=value1%3Bvar2=value2%3Bvar3=value3"
ServerUserName:
string
サーバーのユーザー名を指定します (local または gxtechnical)。
ServerPassword:
string
サーバーのパスワードを指定します。
MSBuild ファイルでの使用例を次に示します:
<ExportResultsToAllure Properties="KB=$(KBPath);Environment=$(EnvironmentName);CustomFixedVar=customValue;$(OtherVariables)" >
<Output TaskParameter="OutputFile" PropertyName="OutputFile" />
</ExportResultsToAllure>
<ExportResultsToAllure SourceFile="customPath/myFile.xml" >
<Output TaskParameter="OutputFile" PropertyName="OutputFile" />
</ExportResultsToAllure>
// Jenkins の例: /p:AllureResultsPath="$WORKSPACE\allure-results" として呼び出されます
<ExportResultsAllure TargetDir="$(AllureResultsPath)" Properties="KB=$(KBPath);Environment=$(EnvironmentName);CustomFixedVar=customValue;$(OtherVariables)" >
<Output TaskParameter="OutputFile" PropertyName="OutputFile" />
</ExportResultsToAllure>