1

セレンテストを実行するためにグリッドマシンへのリモート接続を使用しています。エラーが発生した場合、バグの分析は困難です。エラーが発生したときにいくつかの写真があるとよいでしょう。

4

3 に答える 3

5

ここで解決すべき問題が 2 つあります。まず、スクリーンショットを撮るコードが必要です。次に、テストが失敗したときにそのコードを実行する必要があります。

インターフェイスを使用してTakesScreenshot、Selenium でスクリーンショットを撮るのは非常に簡単です。したがって、次のようなものが必要になります。

TakesScreenshot ts = (TakesScreenshot)driver;
byte[] image = ts.getScreenshotAs(OutputType.BYTES);

try {
  File screenshot = new File("/some/path/myscreenshot.png");
  FileOutputStream fos = new FileOutputStream(screenshot);
  fos.write(image);
  fos.close();
} catch (IOException ex) {
  fail("Failed to write screenshot");
}

使用しているドライバーによっては、Augmenterクラスも使用する必要がある場合があります。

テストが失敗したときにコードを実行することは、Selenium ではなく、使用するテスト フレームワークに依存します。たとえば、TestNG を使用している場合はITestListener、テストの結果をリッスンし、失敗したときにスクリーンショットを取得するインスタンスを作成できます。

于 2012-10-19T08:51:47.537 に答える
0

Google によると、いくつかの方法が考えられます。

http://blogs.steeplesoft.com/2012/01/grabbing-screenshots-of-failed-selenium-tests/

https://addons.mozilla.org/en-us/firefox/addon/screenshot-on-fail-selenium/

Selenium WebDriver でスクリーンショットを撮る

適合しない場合は、追加の要件を説明してください。

于 2012-10-19T08:24:22.917 に答える
0

スクリーンショットを撮る

  1. リンク
  2. java の link2。それはかなり簡単です。このリンクからコードをコピーして貼り付けると、おそらく機能します。

そして、データベースのSQLサーバー情報にブロブとして保存できます

于 2012-10-19T08:38:34.510 に答える