3

異なる OS とテスト実行からレポートをレポート ポータルの同じ起動に送信する必要があります。これはどのように行うことができますか?

4

1 に答える 1

4

これが私のプロジェクトでどのように達成されるかです:

  1. CI サーバーは RP 起動を作成し、起動 ID をテスト バイナリの app.config に保存します。
  2. テスト バイナリは VM にコピーされ、そこで実行されます。
  3. テストが開始されると、app.config に起動 ID があることがわかり、新しい起動を作成せず、既存のものを再利用します。また、完了したらローンチを閉じません。

    [BeforeTestRun(Order = -30000)]
    public static void BeforeTestRunPart()
    {
        ReportPortalAddin.BeforeRunStarted += ReportPortalAddin_BeforeRunStarted;
        ReportPortalAddin.BeforeRunFinished += ReportPortalAddin_BeforeRunFinished;
    }
    
    public static void ReportPortalAddin_BeforeRunStarted(object sender, RunStartedEventArgs e)
    {
        var launchId = SettingsManager.CommonSettings.ReportPortalLaunchId;
        if (launchId.IsNullOrEmpty() == false)
        {
            e.Canceled = true;
            Bridge.Context.LaunchId = launchId;
        }
    }
    
    public static void ReportPortalAddin_BeforeRunFinished(object sender, RunFinishedEventArgs e)
    {
        var launchId = SettingsManager.CommonSettings.ReportPortalLaunchId;
        if (launchId.IsNullOrEmpty() == false)
        {
            e.Canceled = true;
        }
    }
    
  4. すべてのテストが実行されると、CI サーバーは RP の起動を閉じます。

于 2017-06-06T17:23:49.597 に答える