私はSelenideとPhantomjsを使ってWebアプリケーションをテストしています。次のようにスクリーンショットを撮る イム:入力要素のためセレン化物とFirefoxは欠陥のあるスクリーンショットを記録します
byte[] bytes = ((TakesScreenshot)webDriver).getScreenshotAs(OutputType.BYTES);
ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
returnImage = ImageIO.read(bis);
が、しかし、スクリーンショットは、次のようになります。faulty screenshot
それは実際にこのようになります(クロムを使用した場合/ Firefoxの) how it's supposed to look
面白いのは、SelenideをPhantomjs(Configuration.Browser = "phantomjs")を使用するように設定すると、スクリーンショットが正しく取得されるということです。 この種の要素でのみ発生します。ボタンなどがうまく録音されています。何か案は?
PS:この投稿に添付されているスクリーンショットは切り取られています。ここでのコードはページ全体のスクリーンショットです。私のコードでは、スクリーンショットを目的の要素にのみトリミングしますが、スクリーン全体を表示するスクリーンショットでも、要素は正しく記録されません。
これは私の質問に対する答えではないのですか?私はスクリーンショットを撮ることに問題はありません。その要素は正しく表示されません。 – user3479176
ああ、あなたのドライバーは呼び出されたときに自らが適切な要素を示していないのですか? –
スクリーンショットは要素を正しく示していません。それは今働くいくつかのreasingのために、私は理由を知りません。とにかく、ありがとう ! – user3479176