有可能将报告发送到.NET(SpecFlow)的ReportPortal的一个启动



我需要将不同OS的报告和测试运行发送到报告门户的同一启动。如何完成?

这是我项目上的完成方式:

  1. CI服务器创建RP启动,并将启动ID保存到App.config。
  2. 测试二进制文件被复制到VM并在那里运行。
  3. 测试启动时,他们会看到app.config中有启动ID,并且不要创建新的启动 - 他们重复使用现有的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启动。

最新更新