0

Web アプリケーションを自動化するために Selenium Web ドライバーを使用しています。java.awt.robotクラスを使用してスクリーンショットを撮っています。テストを実行すると、ブラウザーが開き、必要に応じて実行され、デスクトップ画面のフロント ウィンドウのスクリーンショットが取得されます。

実際の必要性:

セレンによって開かれ、いくつかのアプリケーションで他のアクションを実行しているブラウザウィンドウの画面を最小化しました。その場合、テスト ケースは完全に実行されますが、スクリーンショットはブラウザ ウィンドウではなく、開いたアプリケーションです。

私の必要性は、ブラウザ ウィンドウが最小化されたときのスクリーンショットも撮ることです。

を使用して行うことは可能Robotですか? ロボット クラスだけを使用してスクリーンショットが必要だと言っているわけではありません。他の方法も教えてください。

TakesScreenshotセレンAPIのクラスを使用せずにスクリーンショットが必要だと考えてください。

4

2 に答える 2

1

私の知る限り、画面上で何か他のことをしている場合、Robot クラスを使用してブラウザ ウィンドウのスナップショットを取得することはできません。現在アクティブな PC 画面で何が起こっているかをキャプチャすることです。ありがとう

于 2013-01-30T06:17:57.823 に答える
0

これを試して:

File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
    try {
        FileUtils.copyFile(scrFile, new      File(System.getProperty("user.dir")+"\\screenshots\\"+fileName+".jpg"));
    } catch (IOException e) {
        e.printStackTrace();
    }      

于 2013-02-15T12:30:25.970 に答える