2014-02-11 8 views
0

Я запускаю кодированное тестирование пользовательского интерфейса, которое должно выполнять 6 фаз. Каждый этап запускается нажатием соответствующей кнопки. Я запускаю приложение, в котором я запускаю кодированный пользовательский интерфейс, используя: System.Diagnostics.Process.Start();Тестирование кодированного пользовательского интерфейса VS2012 - Как получить код выхода из работающего процесса?

TestMethod, на котором Coded Test UI запускается:

/// </summary> 
     [TestMethod] 
     public void CodedUITestMethod1() 
     { 
       System.Diagnostics.Process.Start(<Path of the application>); 
       `enter code here` 
     } 

В TestMethod, я хочу, чтобы поймать коды возврата или исключения из процесса, запущенного из-за , если один из 6 фаз не удался, я хотите остановить этот тест автоматизации.

Как я могу это сделать?

Evh671.

ответ

1
System.Diagnostics.Process p = new System.Diagnostics.Process(); 
p.StartInfo.FileName = <Path of the application>; 
p.Start(); 

//or 
//var p = System.Diagnostics.Process.Start(<Path of the application>); 

...Do UI testing here... 

p.WaitForExit(); 
if (p.ExitCode != 0) 
{ 
    throw new System.Exception("Something something"); 
} 

p.ErrorDataReceived событие может работать для исключения исключений. У меня нет опыта с этим.

void p_ErrorDataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e) 
{ 
    if (Playback.IsSessionStarted) 
    { 
     Playback.StopSession(); 
    } 
    throw new System.Exception("Something something"); 
} 
Смежные вопросы