web-dev-qa-db-ja.com

TeamCity Continuous IntegrationサーバーでのSeleniumテストの自動化

Seleniumテストを含むテストプロジェクトを含むVisual Studioソリューションがあります。

(私はすでにバージョン管理チェックイン(Mercurial)によってトリガーされたコンパイルビルドを持っています)

しかし、私は、理想的にはMSTestでSeleniumテストを実行する個別の(毎晩)ビルド構成を作成したいと考えています。

これにはSelenium Serverが必要だと思いますか?もしそうなら、テストを実行する前にそれを起動する最良の方法は何ですか? MSBuildスクリプトからこれを実行する必要がありますか、それともTeam City自体のビルドステップを使用する必要がありますか?最初にCassini\WebDev.WebServerを起動する必要がありますか?

Selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://localhost:49192/");

TeamCity 6.5.1がインストールされたビルドサーバーがあります。 VS2010がインストールされています。

きっと誰かがこれをやった!ここの男たちに助けを求めて必死。もし誰かが例を提供できれば、それはありがたいです。

30
Wrongun

TeamCityサーバーでSeleniumテストをセットアップしようとしていますが、まだグーグルです。これらは私が興味深いと思ったページです(StackOverflowの質問は別として):

TeamCity、Selenium、およびJUnitを使用したWebアプリケーションの回帰テスト

TeamCityからのSeleniumブラウザのUnitTesting

したがって、Selenium IDE to Java= TeamCityのJUnitで実行するために記録されたHTMLファイルを変換する1つのソリューションがあり、もう1つのアプローチはテストスクリプトを作成することです。 C#で。

そして、このトピック "Teamcityを介したSeleniumテストの実行、それは可能ですか?" ビルドエージェントをサービスとして実行中の問題について説明しています...エージェントをサービスとして引き続き実行できることを願っています。

16
Örjan Jämte

私たちは、会社の外部Webサイトの夜間テストにSeleniumを使用しています。これには、Selenium RCと動的に作成されたテストスイートを使用します。

ロスよりも複雑に見える私たちのプロセスは次のとおりです:

  1. TeamCityサーバーに Selenium RC をインストールします
  2. Firefox IDE plugin を使用してテストを作成します
  3. 特定のWebアクセス可能なフォルダー(例:http://www.mysite.com/Selenium/generateTests.aspx)内のすべてのテストへのリンクを含むテストスイートhtmlファイルを生成するWebページを作成します
  4. TeamCityでPowershellビルドステップを作成し、スイートと対応するテストをビルドサーバーにダウンロードするスクリプトを実行します
  5. 「XMLレポート処理」ビルド機能を追加して、テスト結果をスキャンします。これにより、TeamCityはテスト結果について通知できます。

PowerShellスクリプト:

  1. ダウンロードしたテストスイートをターゲットとする入力と、ベースURLとなるURLを使用してSelenium RCランタイムを実行します。 [* 1]
  2. XSLTを使用して出力をNUnit形式に変換します[* 2]

[* 1] Java -jar C:\Selenium\selenium-remote-control-1.0.3\Selenium-server-1.0.3\Selenium-server.jar -log C:\Selenium\www.mysite.com\Selenium-log.log -userExtensions 'user-extensions.js' -firefoxProfileTemplate 'Selenium FireFox Profile' -htmlSuite *firefox http://www.mysite.com C:\Selenium\www.mysite.com\generated\GeneratedSuite.htm C:\Selenium\www.mysite.com\TestResults.html

[* 2] nxslt3 $seleniumXmlTestReportPath nunit.xslt -o $nunitReportPath baseUrl=$testBaseUrl

7
Niklas Wulff

TeamCityを使用して、C#ベースのWebアプリケーションを構築およびテストします。 Selenium Serverは常に起動し、 Javaサービスランチャー を使用して起動します。テストは、質問で示したように、localhostに接続します。

TeamCityの「NAnt Runner」を使用してテストジョブを開始し、NAntの<nunit2>タスクを使用してNUnitの制御下でテストを実行します。そのため、NUnitは[Test]属性で注釈が付けられたパブリックメソッドを見つけて実行します。これは非常にシンプルで非常に強力なツールです。

この設定は私たちにとって非常にうまく機能します。

6
Ross Patterson

NUnitまたは他のテストランナーと統合します。

1