エントリー
TeamCityを使用して、Selenium IDEベンチマークを継続的な統合プロセスに統合することを検討してください。 QAがテストを作成する(多くの場合、クリッカーがプロジェクトを単に「クリック」してレポートを作成するときに発生する)多くの場所でそれを見て、定期的にそれらを実行します。 私にとっては、これは体系的なアプローチではなく、プロセスを完全に自動化する100万のソリューションによって解決されています(現在は2014年)。
さて、継続的インテグレーションは非常に人気のあるプラクティスであるため、機能テストを継続的インテグレーションのプロセスに導入し、テスターの負担を軽減し、製品全体の品質レベルを上げてください。
何が欲しいのか、何が欲しいのか
何がありますか?
- プロジェクトを構築および展開するためのCIサーバー(TeamCity)
- Selenium IDEで作成された一連のテストによるQA
- 熱意
何が必要ですか?
- Selenium IDEテストを継続的インテグレーションプロセスに追加する
最初のビルドをインストール、構成、作成する方法は、必要以上にオープンスペースにビルドするため、説明しません。これについては説明しません。
猫をお願いします。
エージェントビルドの準備と構成
ビルドエージェントのビートとして、Windowsマシンがインストールされ、TeamCityエージェントがTeamCityサーバーにインストールされてピックアップされました。
実行用に設定するには、次の手順を実行します。
すべての操作は「C:\ Selenium」で行われます。これは、同じ名前のディレクトリをそこに作成するためです。
このマシンでは、Seleniumサーバーのスタンドアロンを上げる必要があります。手動呼び出しは完全に機能しているわけではないため、Windowsにサービスとしてインストールすると便利です。 これは、 nssmユーティリティ(「非吸引サービスマネージャー」)を使用して実行できます。
ダウンロードして解凍し、「C:\ Selenium」に入れます。
selenium-server-standaloneをダウンロードして、そこに配置します(執筆時の後者はこちらからダウンロードできます )。
サービスとしてのSelenium Serverのインストール
C:\Selenium\nssm-2.16\win64\nssm.exe install Selenium-Server "C:\Program Files (x86)\Java\jre7\bin\java.exe" "-jar C:\Selenium\selenium-server-standalone-2.42.2.jar"
NUnitをビルドステップの「エグゼキューター」として使用します(テストをSelenium IDEから.csにエクスポートし、次にdllライブラリにコンパイルします)。したがって、.NET Framework 4もマシンにインストールします(インストールされていない場合は、 ここから取得できます )。
インストール後、次の場所にあるcsc.exeへのパスを探します。
"C:\Windows\Microsoft.NET\Framework\v4.0.< >"
グローバルコールの可能性を考慮して、変数に書き込みます。
接続の設定で使用されるMozilla Firefoxをインストールします。
cscがテストのエクスポートをコンパイルできるようにするには、一定数の追加ライブラリをダウンロードして配置し、「C:\ Selenium」に配置する必要があります(コンパイルプロセスはこのディレクトリから自動的に行われます)。 ここでそれらを取ることができます。
「C:\ Selenium」にダウンロードして解凍します。
これでエージェントのビルドの準備が完了しました。ビルド構成に進んでテストを実行できます。
TeamCityの構成
TimCity管理エリアに移動し、クリックしてプロジェクトを作成し、名前、ID、説明、および「作成」を入力します

新しいプロジェクトのセットアップページに移動し、[ビルド構成の作成]をクリックして、使い慣れた3つのフィールドに入力し、青いボタンをもう一度入力します。

構成ビルドを作成した後、既存のリポジトリを選択するための画面が表示されます。接続されたリポジトリがないため、新しいリポジトリを作成するために、この場合と同様に。 リポジトリの変更を監視し、コードの変更をトリガーする(継続的な統合)ために、ライブプロジェクトでリポジトリを「ピックアップ」して(テストを行ってからコンパイルして実行する)ことをお勧めしますが、ここではデモを示しています、「左」のリポジトリを接続し、チェックアウトしません。 私たちの目標は、テストを実行してレポートを取得することです。
リポジトリを接続し(github / bitbucketでリポジトリを開くオプションとして)、接続をテストし、再度「作成」します。

ビルドリポジトリの設定ウィンドウが表示されます(VCSチェックアウトモードを設定します。不要なリポジトリを監視しないように、ファイルを自動的にチェックアウトしないでください)。

楽しい部分に到達します。 ここでは、2つのステップを実行します。1つ目は、ソース(.cs)からNUnitのライブラリへのテストのコンパイルを実行し、2つ目は、すでにNUnitでテストを実行します。
ビルドステップビルド設定の次のタブに移動し、[ビルドステップの追加]ボタンを使用して最初のステップを完了し、ランナータイプリストでコマンドラインを探して選択します。 ステップの名前を入力し、スクリプトフィールドに次を挿入します。
csc /t:library /r:WebDriver.Support.dll /r:WebDriver.dll /r:ThoughtWorks.Selenium.Core.dll /r:Selenium.WebDriverBackedSelenium.dll /r:nunit.framework.dll /r:System.Data.dll /r:System.Data.Services.Client.dll /out:"C:\Selenium\compiled_test.dll" "C:\Selenium\reg.cs"
[保存]をクリックします
スクリプトはコンパイラを起動し、パス「C:\ Selenium \ reg.cs」に沿ってあるSelenium IDEでエクスポートされたテストのコンパイルを開始し、コンパイルされたライブラリをファイル「C:\ Selenium \ compile_test.dll」に入れます。次のステップでNUnitに渡します'y。

既にNUnitを選択しているランナーとしてのみ、もう1つのビルドステップを追加します。
スクリーンショットとRunテストの両方を入力します:コンパイル済みテストが最初のステップ(この場合は「C:\ Selenium \ compiled_test.dll」)を配置するパスを登録し、保存します。
その結果、次の結果が得られます。

おめでとう、最小限の設定は完了です。最初のテストを記述して実行するだけです。
最初のテストを作成する
QAに、Selenium IDEで簡単なテストを実行して、「C#/ NUnit / Remote Control」にエクスポートするよう依頼します。

修正する必要があるのは、Webブラウザーに接続するための設定だけでした。
テストの例を挙げます。
using System; using System.Text; using System.Text.RegularExpressions; using System.Threading; using NUnit.Framework; using OpenQA.Selenium; using OpenQA.Selenium.Firefox; using Selenium; namespace SeleniumTests { [TestFixture] public class open_page { private IWebDriver driver; private ISelenium selenium; private StringBuilder verificationErrors; [SetUp] public void SetupTest() { verificationErrors = new StringBuilder(); //driver = new FirefoxDriver(); - driver = new FirefoxDriver(new FirefoxBinary(@"C:\Program Files (x86)\Mozilla Firefox\firefox.exe"), new FirefoxProfile(), TimeSpan.FromMinutes(10)); // firefox selenium = new WebDriverBackedSelenium(driver, "http://habrahabr.ru/"); selenium.Start(); } [TearDown] public void TeardownTest() { try { driver.Close(); } catch (Exception) { // Ignore errors if unable to close the browser } Assert.AreEqual(string.Empty, verificationErrors.ToString()); } [Test] public void TheOpen_pageTest() { selenium.Open("/"); selenium.Click("link= "); selenium.WaitForPageToLoad("30000"); } } }
結果を見る
TimCityに移動し、ビルドの反対側で[実行]をクリックし、テストが完了するのを待って、結果を楽しみます。 ビルドグリーン、1つのテストに合格。

PS前述したように、テストを作成し、プロジェクトリポジトリに配置し、コミットごとにプロジェクトアセンブリをトリガーします。ビルド後にテストを実行し、コンパイルして実行し、成功した場合はポストコミットフックをリポジトリにプッシュし、場合によってはステージング環境にデプロイします。 そして、これらはすべて完全に自動化されています。