可以将报告发送到 ReportPortal for .net (Specflow) 中的一次启动
Possibility to send reports to one launch in ReportPortal for .net (Specflow)
我需要将来自不同 OS 的报告和测试运行发送到报告门户中的同一个启动。
如何做到这一点?
以下是我的项目是如何完成的:
- CI 服务器创建 RP 启动并将启动 ID 保存到测试二进制文件的 app.config。
- 测试二进制文件被复制到虚拟机并运行在那里。
当测试开始时,他们看到 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;
}
}
当所有测试都运行时,CI服务器关闭RP启动。
我需要将来自不同 OS 的报告和测试运行发送到报告门户中的同一个启动。 如何做到这一点?
以下是我的项目是如何完成的:
- CI 服务器创建 RP 启动并将启动 ID 保存到测试二进制文件的 app.config。
- 测试二进制文件被复制到虚拟机并运行在那里。
当测试开始时,他们看到 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; } }
当所有测试都运行时,CI服务器关闭RP启动。