2017-05-01 2 views
0

Ich bin neu in Coded UI. Ich habe einen einfachen Code geschrieben, wie unten eine .bat Datei von einem CodedUITestMethod1() auszuführen:Wie führt man eine .bat oder exe Datei von CodedUI Skript mit Process.Start()?

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();

Problemstellung: Wenn ich das Skript debuggen, wird sie ausgeführt, aber die Batchdatei führt nicht rennen. Ich habe versucht, iexplorer.exe auszuführen, und dasselbe Problem beobachtet. Das Skript wird mit pass ausgeführt, aber der IE-Browser startet nicht.

Wenn ich jedoch den gleichen Code von anderen Konsolenanwendung oder Unit Test Projektmethode ausführen, wird es erfolgreich ausgeführt.

Kann jemand vorschlagen, was ist der Grund dafür? und wie können wir das in CodedUI beheben?

Vielen Dank im Voraus.

+0

Wie Sie bestimmen, ob der Prozess begonnen hat oder nicht? Haben Sie Ihre .bat-Datei angemeldet? Sie sollten den Rückgabewert von ".Start" überprüfen, um zu sehen, ob der Prozess wirklich gestartet wurde oder fehlgeschlagen ist. – Subbu

Antwort

0

würde dies scheint echt:

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

danke für deinen Kommentar. Ich habe überprüft, aber der Pfad ist korrekt und es führt immer noch nicht die .bat-Datei nach der Verwendung von: ("C: \\ BVTBatch \\ PlayBack.bat"); – Vish

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