2017-07-19 2 views
0

Im Selen verwenden, um Baselines von Screenshots meines Produkts zu testen und zu versuchen, eine automatisierte Tests innerhalb tfs 2013 Build zu starten, die ich auf einer anderen Maschine installiert, aber für mich, die Tests zuerst auszuführen Ich muss die Website von VS laufen, so dass die Iis es hosten wird und dann die Tests korrekt ausgeführt werdenläuft eine Web-Anwendung von Unitest mit Selen

Ich bin auf der Suche nach einem C# -Code für die Ausführung der Webanwendung [die ein Kind der Standard-Website ist] jemand eine Idee ?

+0

ich diese Aufgaben trennen würde. Haben Jenkins oder Teamcity oder was auch immer Werkzeuge, die Sie bauen verwenden und einsetzen Sachen die Webapp irgendwo beginnen und dann auslösen Ihre Tests auszuführen, nachdem die deploy abgeschlossen ist. Wenn Sie diese lokal ausführen, können Sie ein einfaches Skript (nicht in Ihrem C# -Testcode) erstellen, um die Webanwendung für localhost bereitzustellen und Ihre Tests dagegen auszuführen. – mrfreester

Antwort

0

Ich fand eine Antwort mich diesen Code verwendet, aus der Registry lief den IIS-Pfad zu bekommen und dann die Website-Anwendung mit den IIS

 RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Wow6432Node\\Microsoft\\IISExpress\\10.0"); 
     Object o = null; 
     if (key != null) 
     { 
      o = key.GetValue("InstallPath"); 
     } 
     Process cmd = new Process(); 

     cmd.StartInfo.FileName = "cmd.exe"; 
     cmd.StartInfo.RedirectStandardInput = true; 
     cmd.StartInfo.UseShellExecute = false; 

     cmd.Start(); 

     using (StreamWriter sw = cmd.StandardInput) 
     { 
      if (sw.BaseStream.CanWrite && o != null) 
      { 
       sw.WriteLine(@"cd {0}", o); 
       sw.WriteLine(@"iisexpress /path:{0}\mysit /port:whateverport", GetRootDirectory(context)); 

      } 
     } 
Verwandte Themen