From 99df058a665ea04065a23e729ec79a2f23f79881 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期二, 20 五月 2025 16:59:43 +0800
Subject: [PATCH] 优化
---
HMI.UnitTest/MainWindow.xaml.cs | 173 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 157 insertions(+), 16 deletions(-)
diff --git a/HMI.UnitTest/MainWindow.xaml.cs b/HMI.UnitTest/MainWindow.xaml.cs
index d6a2c49..2de0f1d 100644
--- a/HMI.UnitTest/MainWindow.xaml.cs
+++ b/HMI.UnitTest/MainWindow.xaml.cs
@@ -1,31 +1,172 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
+锘縰sing ConnectionUtil;
+using HMI.Core.Api;
+using HMI.Core.Util;
+using log4net;
+using Panuon.WPF.UI;
+using Plugin.DataBoard;
+using Plugin.TestBuilder;
+using Plugin.TestResult_WPF;
+using Plugin.TsExecution;
+using System;
+using System.Threading;
using System.Threading.Tasks;
using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using HMI.SettingControl;
namespace UnitTest
{
/// <summary>
/// MainWindow.xaml 鐨勪氦浜掗�昏緫
/// </summary>
- public partial class MainWindow : Window
+ public partial class MainWindow : WindowX
{
+ private ILog log = LogManager.GetLogger("UnitTest");
public MainWindow()
{
+ LangUtil.Load();
InitializeComponent();
- page.Children.Clear();
- //page.Children.Add(new SettingControl());
+ //page.Children.Add(new UserControl1());
+ }
+
+ TcpClientWrapper tcpClient;
+
+ PipeClient2 client;
+
+ private void Button_Click(object sender, RoutedEventArgs e)
+ {
+ Task.Run(() =>
+ {
+ for (int j = 0; j < 1000; j++)
+ {
+ string status = (j % 2 == 0) ? "Passed" : "Failed";
+ tsExecution.AddTestData(0, $"{j},2,3,4,5,6,{status}");
+ }
+ });
+
+ tsExecution.UpdatePositionStatus(0, "Passed");
+ tsExecution.UpdatePositionProcessValue(0, 12);
+ tsExecution.PausePosition(0);
+ tsExecution.SetPositionBarcode(0, "123456789");
+
+
+ //tsExecution.UpdatePositionStatus(1, "Failed");
+ //tsExecution.UpdatePositionStatus(2, "Ready");
+ //tsExecution.UpdatePositionStatus(3, "Testing");
+ //tsExecution.UpdatePositionProcessValue(1, 50);
+ //tsExecution.UpdatePositionProcessValue(2, 100);
+ //tsExecution.UpdatePositionProcessValue(3, 99);
+
+
+ //client = new PipeClient2("DAService");
+ ////client.OnData += Client_OnData1;
+ //client.Connect();
+
+ //tcpClient = new TcpClientWrapper("127.0.0.1", 5555);
+ //tcpClient.Connect();
+
+ //viewControl.View.GetDataTable(0).GetSingleCell(0).SetStatus("testing");
+
+ //new Thread(new ThreadStart(PipeServerMessage)).Start();
+ //new Thread(new ThreadStart(PipeClientMessage)).Start();
+ }
+
+ private void Client_OnData1(object sender, PipeDataEventArgs e)
+ {
+ Console.WriteLine($"{e.Data}");
+ }
+
+ private void Client_OnData(object sender, PipeDataEventArgs e)
+ {
+ Dispatcher.Invoke(() =>
+ {
+ console.Text += e.Data;
+ });
+ }
+
+ private void Button_Click2(object sender, RoutedEventArgs e)
+ {
+ var allStart = DateTime.Now;
+ for (int i = 0; i < 100; i++)
+ {
+ var start = DateTime.Now;
+ if (client.SendMessage("ping", out string res))
+ {
+ var interval = (DateTime.Now - start).TotalMilliseconds;
+ Console.WriteLine($"{interval}: {res}");
+ }
+ }
+ Console.WriteLine($"Total: {(DateTime.Now - allStart).TotalMilliseconds}");
+ }
+
+ private void Button_Click3(object sender, RoutedEventArgs e)
+ {
+ try
+ {
+ var allStart = DateTime.Now;
+ for (int i = 0; i < 500; i++)
+ {
+ var start = DateTime.Now;
+ string data = input.Text;
+ string str = $"{{\"command\":5,\"value\":{data},\"id\":\"DITag0\"}}\r\n";
+ string res = tcpClient.SendMessage(str);
+ var interval = (DateTime.Now - start).TotalMilliseconds;
+ Console.WriteLine($"{interval}: {res}");
+ }
+ Console.WriteLine($"Total: {(DateTime.Now - allStart).TotalMilliseconds}");
+ }
+ catch (Exception ex)
+ {
+
+ }
+ }
+
+ private void Button_Click4(object sender, RoutedEventArgs e)
+ {
+ try
+ {
+ var allStart = DateTime.Now;
+ for (int i = 0; i < 500; i++)
+ {
+ var start = DateTime.Now;
+ string data = input.Text;
+ string str = $"{{\"command\":5,\"value\":{data},\"id\":\"DITag0\"}}";
+ client.SendMessage(str, out string res);
+ var interval = (DateTime.Now - start).TotalMilliseconds;
+ Console.WriteLine($"{interval}: {res}");
+ }
+ Console.WriteLine($"Total: {(DateTime.Now - allStart).TotalMilliseconds}");
+
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine(ex.StackTrace);
+ }
+ }
+
+ private void HandlePlugin(object obj)
+ {
+ if (obj is IPlugin plugin)
+ {
+ plugin.SetBaseFolder("C:\\Workspace\\VisualStudio\\WPFProject\\WPFProject\\bin\\x64\\Debug\\Config\\TsExecution");
+ plugin.SetLogger(log);
+ plugin.InitFinish();
+ }
+
+ }
+
+ private ViewControl viewControl;
+
+ private TsExecution tsExecution;
+
+ private TestBuilder testBuilder;
+ private DataBoard dataBoard;
+
+ private void Window_Loaded(object sender, RoutedEventArgs e)
+ {
+ var plugin = new TsExecution();
+ HandlePlugin(plugin);
+ border.Child = plugin;
+ tsExecution = plugin;
+ this.Loaded -= Window_Loaded;
}
}
}
--
Gitblit v1.9.1