编码 UI 测试 VS2012 - 如何从正在运行的进程中获取退出代码?

Posted

技术标签:

【中文标题】编码 UI 测试 VS2012 - 如何从正在运行的进程中获取退出代码?【英文标题】:Coded UI Testing VS2012 - How to get an exit code from a running process? 【发布时间】:2014-02-11 09:52:19 【问题描述】:

我正在运行一个需要执行 6 个阶段的编码 UI 测试。 通过按下兼容按钮运行每个阶段。 我正在启动运行 Coded UI Test 的应用程序,使用: System.Diagnostics.Process.Start();

运行编码 UI 测试的 TestMethod:

/// </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");

【讨论】:

以上是关于编码 UI 测试 VS2012 - 如何从正在运行的进程中获取退出代码?的主要内容,如果未能解决你的问题,请参考以下文章

Linux / Mono上的VS编码UI测试

使用编码的 UI 脚本进行负载测试:如何在负载测试中为多个用户运行编码的 UI 脚本

编码的 UI 测试生成器无法启动,因为文件 '' 是只读的

如何限制编码的 UI 测试控件搜索

从VSTS运行编码UI测试时出错

Visual Studio测试运行:从测试中心的测试计划运行编码的UI自动化测试