Jenkinsで撮影したスクリーンショットは、次の例のように空白または無効です。
たぶん誰かがそれでどんな種類の問題がありえるか知っていますか?ローカルですべてが正常に動作します
WebDriver.ChromeDriver.win32バージョン-2.30.0
Selenium.WebDriverバージョン-3.4.0
コード:
try
{
var screenshotFileName = _filePath + ".png";
((ITakesScreenshot) Extensions.Driver).GetScreenshot().SaveAsFile(screenshotFileName, ScreenshotImageFormat.Png);
Log.Error("Screenshot has been taken: " + screenshotFileName);
}
catch (Exception ex)
{
Log.Warning("TakeScreenshot failed: " + ex.Message);
}
この問題は以前に発生したようです。これを確認してください: https://bugs.chromium.org/p/chromedriver/issues/detail?id=476
新しいchromedriver 2.30のバグの可能性があります。同じ問題があり、回避策はリモートデスクトップ接続でVMに接続することです。Seleniumをリモートで使用し、RDCを介してノードに誰も接続していない場合にのみ問題が発生します。
うまくいけば、次のchromedriverバージョンがこれを修正するでしょう。
これはChrome 59自体に問題があるようです:
Chromedriver 2.29に戻してみましたが、同じ結果が得られました(空白のスクリーンショット)。
Jenkins-RobotFramework-Selenium2Library:生成された空白のスクリーンショット、Chromeをv.59からv.58にダウングレードした後、問題が解決され、スクリーンショットが期待どおりに生成されます。 Chromeの古いバージョン: http://www.slimjet.com/chrome/google-chrome-old-version.php
unset TZ
ヘッドレスを実行する前にchromeここに空白のスクリーンショットがある問題を解決しました。
TZ
が(正しく)/usr/share/zoneinfo/Europe/Oslo
に設定されている場合、Chromeのjsコンソールにエラーがありました。