В тесте CodedUI я использую System.Diagnostics.Process
(Process.Start(exePath);
) для выполнения .exe-файла. Теперь моя проблема: после выполнения теста мое приложение закрывается (front-end WPF). Мой вопрос: как я получу процесс, который я только начал независимым от потока, в котором выполняется Process.Start()
, так что, как только я запускаю тест, exe продолжает работать. Я хочу, чтобы он продолжал работать, потому что есть другие тесты пользовательского интерфейса, которым нужен Front End Running. (Запуск exe в начале каждого теста слишком дорогостоящий и медленный) Надеюсь, это достаточно ясно.Как отсоединить exe от Process.Start
Это мой код:
//[TestInitialize()] has already started the exe, so I have my front end open.
[TestMethod]
[TestCategory("Default Layout")]
static void Move_StartTimer_Button_To_The_Top_Right_Corner_Keeps_Keeps_Button_Even_After_App_Restarts()
{
Process myExe = Process.GetProcesses().FirstOrDefault(process => process.ProcessName == "MyAppName");
var fileName = myExe?.MainModule.FileName;
UIMap.Click_Close_Application();
Assert.IsTrue(Application_Closed_Sucessfully);
Process.Start(fileName);
Assert.IsTrue(Application_Layout_Has_Button_On_The_Top_Right_Corner);
}
Когда Move_StartTimer_Button_To_The_Top_Right_Corner_Keeps_Keeps_Button_Even_After_App_Restarts()
выполнил и завершил, мое приложение закрывается, а также. Как я могу сохранить переднюю часть даже после выполнения? ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: это код CodedUI Test, поэтому после выполнения «после выполнения» я имею в виду, что после того, как тест прошел (он может пройти или сбой, это не имеет значения до тех пор, пока он не закрывает передний конец).
'Process.Start()' просто запускает процесс - он никогда не останавливает процесс. –
просто запустите 'cmd' с аргументом'/C path/to/firefox.exe' –
Ваш код - * is is * - не будет компилироваться. Вам не хватает ')' после 'Contains (« firefox »)'. Более того, ваш вопрос все еще не ясен. Что вы подразумеваете под «* Где-то между ними я закрываю firefox перед вызовом« Process.Start() «*»? –