Selenium WebDriver C# Site web des Captures d'écran Avec ChromeDriver et FirefoxDriver

Quand je prends des captures d'écran avec ChromeDriver-je obtenir écrans avec la taille de ma fenêtre.

Quand je prends des captures d'écran avec FirefoxDriver j'obtiens ce que je veux, qui est un d'impression d'écran d'un site web.

ChromeDriver est déclaré comme ceci:

IWebDriver driver = new ChromeDriver();

FirefoxDriver est déclaré comme ceci:

IWebDriver driver = new FirefoxDriver();

Les deux pilotes exécuter un code identique:

driver.Manage().Window.Maximize();
driver.Navigate().GoToUrl(url);//url is a string variable
ITakesScreenshot screenshotDriver = driver as ITakesScreenshot;
Screenshot screenshot = screenshotDriver.GetScreenshot();
screenshot.SaveAsFile("c:/test.png", ImageFormat.Png);

ChromeDriver du test.png est de 1920x1099 résolution et contient uniquement le navigateur de la fenêtre d'affichage.

FirefoxDriver du test.png est de 1903x16559 résolution et contient l'ensemble de la page.

Je sais que GetScreenshot() méthode ne retourne pas identiques tailles de résolution parce qu'elle a légèrement différentes mises en œuvre dans IEDriver, FirefoxDriver, OperaDriver, ChromeDriver.

Mes questions sont:

  1. Pourquoi est-il une telle différence entre ChromeDriver et FirefoxDriver de .GetScreenshot() méthode, même quand ils utilisent une interface identique (ITakesScreenshot)?

  2. Est-il un moyen de faire ChromeDriver de GetScreenshot() méthode de retour de l'ensemble de la page web à l'écran au lieu de simplement la fenêtre d'affichage?

OriginalL'auteur user2429052 | 2013-05-28