3

我需要将来自不同操作系统的报告和测试运行发送到报告门户中的同一启动。如何做到这一点?

4

1 回答 1

4

以下是它在我的项目中的完成方式:

  1. CI 服务器创建一个 RP 启动并将启动 ID 保存到测试二进制文件的 app.config 中。
  2. 测试二进制文件被复制到虚拟机并在那里运行。
  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 回答