セレンテストを実行するためにグリッドマシンへのリモート接続を使用しています。エラーが発生した場合、バグの分析は困難です。エラーが発生したときにいくつかの写真があるとよいでしょう。
3 に答える
ここで解決すべき問題が 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
、テストの結果をリッスンし、失敗したときにスクリーンショットを取得するインスタンスを作成できます。
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 でスクリーンショットを撮る
適合しない場合は、追加の要件を説明してください。
スクリーンショットを撮る
- リンク
- java の link2。それはかなり簡単です。このリンクからコードをコピーして貼り付けると、おそらく機能します。
そして、データベースのSQLサーバー情報にブロブとして保存できます