2017-07-19 12 views
0

私の製品のスクリーンショットのベースラインをテストするためにセレンを使って のtsc 2013ビルド内で自動テストを実行しようとしましたが、私はテストを最初に実行しました私はVSからウェブサイトを実行する必要があるので、iisがホストし、テストが正常に実行されるよりセレンでunitestsからWebアプリケーションを実行しています

私は[デフォルトのWebサイトの子である] Webアプリケーションを実行するC#コードを検索しています。 ?

+0

でサイトのアプリケーションを実行した答えを見つけました。ジェンキンスやチームシップなど、ビルドやデプロイに使用するツールを使用すると、どこかでwebappが起動し、デプロイメントが完了した後にテストが起動されます。これらをローカルで実行している場合は、c#のテストコードではなく単純なスクリプトを作成してwebappをlocalhostにデプロイし、それに対してテストを実行できます。 – mrfreester

答えて

0

私は実際に自分が は、レジストリからIISパスを取得するには、このコードを使用して、私はこれらの責任を分けるだろう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)); 

      } 
     } 
関連する問題