private NewMessageArgs ParseMsgToNewMessageArgs(string msg) { //结构如下 //消息类型,(Event类型Command),参数1,参数2,参数N var newMessageArgs = new NewMessageArgs(); var datas = msg.Split(','); newMessageArgs.Msg = msg; //获取指令 switch (datas[0]) { case "Info": newMessageArgs.Type = MessageType.Info; break; case "Warning": newMessageArgs.Type = MessageType.Warning; break; case "Debug": newMessageArgs.Type = MessageType.Debug; break; case "Error": newMessageArgs.Type = MessageType.Error; break; case "AssertSuccess": newMessageArgs.Type = MessageType.AssertSuccess; break; case "AssertFailed": newMessageArgs.Type = MessageType.AssertFailed; break; case "AssertError": newMessageArgs.Type = MessageType.AssertError; break; case "Event": newMessageArgs.Type = MessageType.Event; break; } if (datas[0] != "Event") { newMessageArgs.MessageArgs = new string[datas.Length - 1]; Array.Copy(datas, 1, newMessageArgs.MessageArgs, 0, datas.Length - 1); } else { newMessageArgs.MessageArgs = new string[datas.Length - 2]; newMessageArgs.EventCommand = datas[1]; Array.Copy(datas, 2, newMessageArgs.MessageArgs, 0, datas.Length - 2); } return(newMessageArgs); }
public void EventMessageProcess(NewMessageArgs args) { switch (args.EventCommand) { case "SetTestCauseCount": lb_TestCauseCount.Text = "共计测试数量:" + args.MessageArgs[0]; break; case "SetPlatformCount": lb_TestPlatformCount.Text = "需测试平台:" + args.MessageArgs[0]; break; case "SetRunningTestCauseName": lb_NowTestCauseName.Text = "当前测试用例:" + args.MessageArgs[0]; break; case "TestComplete": btn_Run.Enabled = true; btn_Stop.Enabled = false; break; } }
private void LogManger(NewMessageArgs args) { StringBuilder sb = new StringBuilder(); sb.Append("[" + DateTime.Now.ToString()); sb.Append(" " + args.Type.ToString()); sb.Append("]:"); if (args.MessageArgs == null) { sb.Append(args.Msg); } else { sb.Append(args.MessageArgs[0]); } tb_Log.AppendText(sb.ToString() + "\r\n"); }
public void SetTestResultContent(NewMessageArgs args) { //设置测试结果框中的内容 if (args.Type == MessageType.AssertError) { lv_TestResult.Items.Add(new ListViewItem(new string[] { args.MessageArgs[0], args.MessageArgs[1], "系统错误" })); lv_TestResult.Items[lv_TestResult.Items.Count - 1].ForeColor = Color.Orange; } else if (args.Type == MessageType.AssertSuccess) { lv_TestResult.Items.Add(new ListViewItem(new string[] { args.MessageArgs[0], args.MessageArgs[1], "成功", "", "", args.MessageArgs[2] })); lv_TestResult.Items[lv_TestResult.Items.Count - 1].ForeColor = Color.LightGreen; } else if (args.Type == MessageType.AssertFailed) { lv_TestResult.Items.Add(new ListViewItem(new string[] { args.MessageArgs[0], args.MessageArgs[1], "失败", args.MessageArgs.Length > 3 ? args.MessageArgs[3] : "", args.MessageArgs.Length > 3 ? args.MessageArgs[4] : "", args.MessageArgs[2] })); lv_TestResult.Items[lv_TestResult.Items.Count - 1].ForeColor = Color.Red; } }
void TcpClient_NewMessageEvent(object e, NewMessageArgs args) { this.Invoke(new InvokeDelegate(() => { switch (args.Type) { case MessageType.AssertError: SetTestResultContent(args); break; case MessageType.AssertFailed: SetTestResultContent(args); break; case MessageType.AssertSuccess: SetTestResultContent(args); break; case MessageType.Event: EventMessageProcess(args); break; case MessageType.Debug: LogManger(args); break; case MessageType.Info: LogManger(args); break; case MessageType.Error: LogManger(args); break; case MessageType.Warning: LogManger(args); break; } })); }