2011-07-26 8 views
3

私たちは、JenkinsがWindows(XPおよび/またはWindows 7)VMでSeleniumテストのテストスイートを実行しているCI環境を持っています。 RDP経由でこれらのテストを実行しているVMに物理的にログインしていない場合は、黒い(空白の)PNGしか表示されません。私は、複数のSelenium RC 2ishリリース(例:2.0b2、2.0rc3、2.0.0、2.1.0)のために利用可能な「キャプチャ」メソッド(Base64エンコードとファイルベースの両方)を試しました。私が試したすべて。他の誰かがWindows CIデプロイメントでSeleniumを実行していて、スクリーンをキャプチャできますか?または、誰かがWindows上で画面をキャプチャする方法を明らかにして、物理的にボックスにいなくてもSelenium APIを使用できますか? "WindowsのJenkinsでSeleniumテストを実行しているときに、実際にマシンにログインしていないときのスクリーンショットをキャプチャする方法は?

+0

を使用していますか?蟻?またはMaven? –

+0

テストが失敗した場合にのみ、画面キャプチャが実行されますか。特定のビルドシステム(Gradle/Maven/ANT)を使用し、Xvfb:xx仮想フレームバッファの背後にあるテストフレームワークとしてSeleniumを使用して、自動テストが実行しているすべてのページ/クリックのスクリーンショットを取得するにはどうすればよいですか? –

答えて

3

ボックスにログオンしていないか、閉じているか最小化しているRDP接続が、そこにはデスクトップがなく、画面キャプチャが空白になります。あなたがする必要がある

何問題のマシン/ VMが見えるデスクトップセッションを持つように、VNCサーバ/ビューアを使用している。

+2

+1また、ウィンドウのロック画面の機能を無効にする必要があります。 –

+1

さらに、ユーザーとしてではなく、サービスとしてSeleniumサーバーを実行してください。 –

+2

あなたがしようとしていることによっては、サービスとして動作することができない場合があります。あなたはサービスを実行しているアカウントの種類によってトレードオフがあります。 Seサービスがローカルシステムアカウントとして実行されている場合は、サービスがデスクトップと対話できるようにするオプションをオンにすることができます。ただし、Seテスト/フレームワークでネットワークにアクセスする必要があり、Seサービスをドメインユーザーとして実行するように設定している場合、「サービスとデスクトップとの対話を許可する」オプションは利用できません。 –

0

我々はJava Service Launcherを使用して、WindowsサービスとしてSelenium RCサーバを実行するWindows Server 2003で実行されている、代わりにジェンキンスのJetBrainsのチームシティーを使用している。我々はそれをやっている、それが私たちのために動作します。

+0

OK、使用しているRCのバージョンは?したがって、このボックスは、これらの画像をキャプチャしているときに「ヘッドレス」ブラウザセッションを実行します。どのブラウザのために?もう少し情報をいただければ幸いです。 – Dave

+0

私たちはSelenium RC 1.0.1を使用していますが、Selenium 2.xはまったく同じように動作するはずです。 あなたはセレンが必要であることをSnapsIE拡張子(https://github.com/nirvdrum/SnapsIE)をインストールする場合、これはFirefox用、およびIEのために動作します。セッションは実際には「ヘッドレス」ではありません。なぜなら、Windowsは常に頭があると思っているからですが、EC2ベースのビルドエージェントを使用しているので、スクリーンはありません.-) –

+0

これを複数の設定で試しました。 Selenium2.xでは動作しませんでした。私は、 "デスクトップとの対話"を行っているシステムアカウントと自分のドメインアカウントの両方で試してみました。あなたはJSLのために使ったiniファイルを投稿できますか? –

2

我々はまた、非常に似た何かをやっています。 HudsonとSelenium Gridを実行しているWindows VMのセットアップがあります。
テストケースが失敗すると、ブラウザのスクリーンショットがキャプチャされるので、テストケースが失敗した理由の詳細が表示されます。
私たちはあなたのテストスイートを作るために何を使用している#captureEntirePageScreenshotToString方法

+0

よろしくお願いします。あなたの環境についてもっと詳しく教えてください。 (例えば、Windozeの風味、Seleniumサーバーのバージョン、Seleniumサーバーの起動方法(HudsonによるAnt経由、サービス、その他?)私たちはグリッドを実行していないので、キャプチャしているビジュアルコンテキストはRCを配備した場所です。私はいくつのRCについて聞いて、そしてそれらのクライアントが何を実行しているのか興味があります.... thx! – Dave

+0

WINTEL 2003ボックスでSelenium Grid 1.0.8を実行しています。 Antコマンドを使用してコマンドラインから起動する4つのSeleniumサーバーでグリッドを実行しています。 グリッドを開始したユーザーは常にログインしているので、スクリーンショットをキャプチャするデスクトップ環境が常に存在します。 TestNGでテストが設定されています –

+0

私はcaptureScreenshotを使用していました。 captureEntirePageScreenshotに切り替えて問題を修正しました。だから私はあなたがこのソリューションを "captureEntirePageScreenshotを使う"ように改良すれば、それが最良の答えになると思います。 –

関連する問題