2015-09-18 8 views
5

Einmal in eine Weile erhalte ich eine Ausnahme in meiner Selenium PhantomJS Tests, die den unten stehenden TextScreenshot bei Exception über Selenium PhantomJS genommen

Caused by: org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken 

wirklich So hat der Screenshot umfasst genommen worden wie die Nachricht sagt? Wo würde dieser Screenshot gespeichert? Ich habe das Programmverzeichnis überprüft und kein Bild wurde gespeichert.

<add key="ScreenShot.FolderPath" value="..\\..\\..\\TestProject\\Screenshots\\" /> 

Dies ist hilfreich, wenn Sie Ihren CI-Server ausgeführt wird, die Autotests:

Antwort

3

In meiner Implementierung ist der Ordner, in der App.config, wie so Datei angegeben. So ist die XML-Poke wird wie folgt aussehen:

<XmlPoke XmlInputPath="TestProject\App.config" 
      Query="//appSettings/add[@key='ScreenShot.FolderPath']/@value" 
      Value="$(ScreenShot.FolderPath)"/> 

Und schließlich in Ihrem Code Sie zeigen, wo die tatsächlichen Screenshots gespeichert werden:

var screenshotDriver = IWebDriver as ITakesScreenshot; 
if (screenshotDriver != null) 
    { 
    var screenshot = screenshotDriver.GetScreenshot(); 
    screenshot.SaveAsFile(ConfigurationManager.AppSettings["ScreenShot.FolderPath"] 
          + screenShotName, ImageFormat.Jpeg);       
    } 
Verwandte Themen