如何使用Process.Start()从CodedUI脚本执行.bat或exe文件?

时间:2017-05-01 19:36:14

标签: coded-ui-tests

我是Coded UI的新手。我编写了一个简单的代码来执行CodedUITestMethod1()中的.bat文件,如下所示:

  thisProcess.StartInfo.CreateNoWindow = true;
  thisProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
  thisProcess.StartInfo.FileName = @"C:\BVTBatch\PlayBack.bat";
  thisProcess.StartInfo.UseShellExecute = false;
  thisProcess.StartInfo.RedirectStandardOutput = true;
                            
  thisProcess.Start();
  thisProcess.WaitForExit();
  strException = thisProcess.StandardOutput.ReadToEnd();

问题陈述:当我调试脚本时,它会被执行但批处理文件不会运行。我尝试执行iexplorer.exe,并观察到同样的问题。脚本通过传递执行,但IE浏览器无法启动。

但是,如果我从其他控制台应用程序或单元测试项目方法执行相同的代码,它将成功执行。

有人可以说明这背后的原因是什么?我们如何在CodedUI中解决这个问题?

提前致谢。

2 个答案:

答案 0 :(得分:0)

这似乎是合法的:

 thisProcess.StartInfo.FileName = ("C:\BVTBatch\PlayBack.bat");

答案 1 :(得分:0)

Process p = new Process();
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.StartInfo = new ProcessStartInfo ("C:\BVTBatch\PlayBack.bat");
p.Start();