public override MessageBase GetHeartBeatMessage() { // 发送生成结束的消息 TestGenMessage testGenOverMessage = new TestGenMessage(MessageNames.TestGenName, Context.SessionId, CommonConst.PlatformSession, GenerationStatus.InProgress) { Index = Context.MsgIndex }; return(testGenOverMessage); }
public override void TaskAbortAction() { TestGenMessage testGenMessage = new TestGenMessage(MessageNames.TestGenName, Context.SessionId, CommonConst.PlatformLogSession, GenerationStatus.Failed) { Index = Context.MsgIndex }; Context.UplinkMsgProcessor.SendMessage(testGenMessage, true); base.TaskAbortAction(); }
public bool HandleTestGenMessage(TestGenMessage message) { GenerationStatus generationState = message.State; _generationInfo.Status = generationState; foreach (int sequenceIndex in _generationInfo.SequenceStatus.Keys) { _generationInfo.SequenceStatus[sequenceIndex] = generationState; } FlipHeatBeatIndex(); return(true); }
public bool HandleTestGenMessage(TestGenMessage message) { GenerationStatus generationState = message.State; _generationInfo.Status = generationState; ICollection <int> sequenceIndexes = new List <int>(_generationInfo.SequenceStatus.Keys); foreach (int sequenceIndex in sequenceIndexes) { _generationInfo.SequenceStatus[sequenceIndex] = generationState; } return(true); }
protected override void TaskErrorAction(Exception ex) { Context.LogSession.Print(LogLevel.Error, CommonConst.PlatformLogSession, "Test Generation failed."); TestGenMessage testGenFailMessage = new TestGenMessage(MessageNames.TestGenName, Context.SessionId, CommonConst.PlatformSession, GenerationStatus.Failed) { Index = Context.MsgIndex }; Context.UplinkMsgProcessor.SendMessage(testGenFailMessage, true); // 发送远程运行器生成失败的消息 RmtGenMessage rmtGenMessage = new RmtGenMessage(MessageNames.UpRmtGenMsgName, Context.SessionId, RunnerType.SequenceGroup); rmtGenMessage.Params.Add("MsgType", "Failed"); FailedInfo failedInfo = new FailedInfo(ex, FailedType.TestGenFailed); rmtGenMessage.Params.Add("FailedInfo", failedInfo.ToString()); Context.UplinkMsgProcessor.SendMessage(rmtGenMessage, true); }
public override void TaskAbortAction() { TestGenMessage testGenMessage = new TestGenMessage(MessageNames.TestGenName, Context.SessionId, CommonConst.PlatformLogSession, GenerationStatus.Failed) { Index = Context.MsgIndex }; Context.UplinkMsgProcessor.SendMessage(testGenMessage, true); // 发送远程运行器生成失败的消息 RmtGenMessage rmtGenMessage = new RmtGenMessage(MessageNames.UpRmtGenMsgName, Context.SessionId, RunnerType.SequenceGroup); rmtGenMessage.Params.Add("MsgType", "Failed"); FailedInfo failedInfo = new FailedInfo(Context.I18N.GetStr("OperationAborted"), FailedType.Abort); rmtGenMessage.Params.Add("FailedInfo", failedInfo.ToString()); Context.UplinkMsgProcessor.SendMessage(rmtGenMessage, true); base.TaskAbortAction(); }
/// <summary> /// <localize> ///<zh-CHS>中文</zh-CHS> ///<en>English</en> ///</localize> /// </summary> protected override void FlowTaskAction() { Context.State = RuntimeState.TestGen; // 发送测试开始消息 TestGenMessage testGenStartMessage = new TestGenMessage(MessageNames.TestGenName, Context.SessionId, CommonConst.PlatformSession, GenerationStatus.InProgress) { Index = Context.MsgIndex }; Context.UplinkMsgProcessor.SendMessage(testGenStartMessage, false); // 打印状态日志 Context.LogSession.Print(LogLevel.Info, Context.SessionId, "Test generation started."); // 打印状态日志 Context.LogSession.Print(LogLevel.Debug, Context.SessionId, "Construct variable mapper start."); // 打印状态日志 Context.LogSession.Print(LogLevel.Debug, Context.SessionId, "Construct AssemblyInvoker start."); switch (Context.SequenceType) { case RunnerType.TestProject: ITestProject testProject = (ITestProject)Context.Sequence; Context.TypeInvoker = new AssemblyInvoker(Context, testProject.Assemblies, testProject.TypeDatas); break; case RunnerType.SequenceGroup: ISequenceGroup sequenceGroup = (ISequenceGroup)Context.Sequence; Context.TypeInvoker = new AssemblyInvoker(Context, sequenceGroup.Assemblies, sequenceGroup.TypeDatas); break; default: throw new InvalidOperationException(); } // 打印状态日志 Context.LogSession.Print(LogLevel.Debug, Context.SessionId, "Load assemblies."); // 加载用到的程序集 Context.TypeInvoker.LoadAssemblyAndType(); // 构造变量映射器 Context.VariableMapper = new VariableMapper(Context); // 打印状态日志 Context.LogSession.Print(LogLevel.Debug, Context.SessionId, "Create session task entity start."); // 创建序列执行实体 Context.SessionTaskEntity = new SessionTaskEntity(Context); // 生成执行实体的调用对象 Context.SessionTaskEntity.Generate(Context.ExecutionModel); // 发送生成结束的消息 TestGenMessage testGenOverMessage = new TestGenMessage(MessageNames.TestGenName, Context.SessionId, CommonConst.PlatformSession, GenerationStatus.Success) { Index = Context.MsgIndex }; Context.UplinkMsgProcessor.SendMessage(testGenOverMessage, true); // 发送远程运行器生成结束的消息 RmtGenMessage rmtGenMessage = new RmtGenMessage(MessageNames.UpRmtGenMsgName, Context.SessionId, RunnerType.SequenceGroup); rmtGenMessage.Params.Add("MsgType", "Success"); Context.UplinkMsgProcessor.SendMessage(rmtGenMessage, true); // 打印状态日志 Context.LogSession.Print(LogLevel.Info, Context.SessionId, "Test generation over."); this.Next = new CtrlStartProcessFlowTask(Context); }