UI テストを実行するには、ナレッジベースのタスクの処理に OpenKB、BuildAll、RebuildAll などの GeneXus のタスクを使用したり、
GXserver の処理にチーム開発のタスクを使用したりするのと同じように、追加のタスクやステップを呼び出す必要があります。詳しくは、
これらのタスクのドキュメントを参照してください。
GXtest.msbuild: UI テストの実行用に作成する MSBuild ファイルの名前です。
まず、使用予定の事前定義済みタスクを含む 2 つの MSBuild プロジェクトをファイルにインポートします。これらのプロジェクトは、GeneXus.Tasks.targets と GXtest.targets です。
次に MSBuild ファイルの例を示します:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(GX_PROGRAM_DIR)\GeneXus.Tasks.targets"/>
<Import Project="$(GX_PROGRAM_DIR)\GXtest.targets"/>
<Target Name="RunAllTests">
<OpenKnowledgeBase Directory="$(KBPath)"/>
<SetActiveEnvironment EnvironmentName="$(EnvironmentName)"/>
<RunTests Type="$(TestType)" ServerUserName="$(GXUser)" ServerPassword="$(GXPass)"/>
<CloseKnowledgeBase/>
</Target>
</Project>
ファイルを適切に設定したら、次のコマンドを使用してすべての UI テストを実行できます:
MSBuild.exe /t:RunAllTests /p:KBPath="C:\Models\KbTests" /p:EnvironmentName="CSharpWeb" /p:TestType="UI" /p:GXUser="local\admin" /p:GXPass="password" $env:GX_PROGRAM_DIR"\GXtest.msbuild"
[ すべてのテストを実行 ] タスクと同様に、MSBuild ファイルを次のように設定します:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(GX_PROGRAM_DIR)\GeneXus.Tasks.targets"/>
<Import Project="$(GX_PROGRAM_DIR)\GXtest.targets"/>
<Target Name="RunSuite">
<OpenKnowledgeBase Directory="$(KBPath)"/>
<SetActiveEnvironment EnvironmentName="$(EnvironmentName)"/>
<RunTests TestObjects="$(TestObjects)" ServerUserName="$(GXUser)" ServerPassword="$(GXPass)"/>
<CloseKnowledgeBase/>
</Target>
</Project>
ファイルを適切に設定したら、次のコマンドを使用して特定のテストスイートを実行できます:
MSBuild.exe /t:RunSuite
/p:KBPath="C:\Models\KbTests"
/p:EnvironmentName="CSharpWeb"
/p:TestObjects="TestSuite1"
/p:GXUser="local\admin" /p:GXPass="password"
$env:GX_PROGRAM_DIR"\GXtest.msbuild"
セミコロン区切りで指定することで、任意の数のテストオブジェクトを実行できます:
/p:TestObjects="UnitTest1;WebUITest1;WebUITest2;TestSuite1;TestSuite2"
UI テストを適切に実行するには、CI サーバーがブラウザーの GUI を開くことができる必要があります。たとえば、Jenkins の場合、Windows サービスではなく war としてコマンドラインから実行する必要がある可能性があります。