2016-09-01 7 views
0

スクリーンショットをキャプチャするためにテストから以下のメソッドを呼び出そうとすると、スクリーンショットをキャプチャして返しません。 bin/debugでキャプチャするスクリーンショットを探しています。スクリーンショットが全くキャプチャされていないと私は信じています。何かが欠落している場合は誰でもこの問題を特定するのを助けることができますか?C#を使用してSeleniumでスクリーンショットを撮るには、この方法に問題がありますか?

public void takeScreenshot() 
{ 
    ITakesScreenshot screenshotHandler = driver as ITakesScreenshot; 
    Screenshot screenshot = screenshotHandler.GetScreenshot(); 
    screenshot.SaveAsFile("ScreenShotAT" + DateTime.Now + ".png", System.Drawing.Imaging.ImageFormat.Png); 
    screenshot.ToString(); 
} 
+2

3行目の最後に '.'何をしていますか?あなたの 'Environment.CurrentDirectory'をチェックしましたか?フルパス( 'C:\ Temp \ test.png')を使ってみましたか? –

+0

は、コードを貼り付けるときにはちょうどタイプミスで、私のプログラムには存在しません。また、完全なパスで試しても、うまくいきませんでした。 Environment.CurrentDirectory now –

答えて

-1

テスト中にブラウザウィンドウが表示されますか?スクリーンショットを撮る前にブラウザのウィンドウを最大化したいかもしれません。このことができます参照してください

File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); 
//The below method will save the screen shot in d drive with name "screenshot.png" 
FileUtils.copyFile(scrFile, new File("D:\\screenshot.png")); 

Taken from this site

:セレンサイトから

サンプルコードでは、あなたを助けるかもしれないスニペットを以下ました。

+0

これは質問に対する答えではありません。 – stuartd

2

パスの形式がサポートされていない可能性があります。 DateTime.Nowは、9/1/2016 11:11:11 PMのようなものを返します。

dateTime.ToString("MM_dd_yyyy_HH_mm_ss_fff") 

ユニークなファイル名が必要な場合は、Unixのタイムスタンプを使用してください。 それは

(int) DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds 

によって構築することができ、この方法は次のようになります。ディレクトリすべてのスクリーンショットが保存されます - DIR

public void TakeScreenshot(IWebDriver driver, String filename) 
{ 
    Screenshot screenshot = ((ITakesScreenshot)driver).GetScreenshot(); 
    screenshot.SaveAsFile(filename, ImageFormat.Png); 
} 
1
public void takeScreenShot() 
     { 
      string currentDate = DateTime.Now.ToString("ddd, ddMMMyyyy HHmm"); 
      ITakesScreenshot screenshotHandler = DriverContext.Driver as ITakesScreenshot; 
      Screenshot screenshot = screenshotHandler.GetScreenshot(); 
      string dir = @"C:\Document\"; 
      screenshot.SaveAsFile(dir + currentDate + fileName + ".png", ImageFormat.Png); 
     } 

関連する問題