2017-11-28 8 views
1

すべてのステップの後にスクリーンショットを撮るコードがありますが、現在のビューポイントのスクリーンショットを撮っているだけです。私はそれがページ全体のスクリーンショットを撮ることを望みます。セレンでフルページのスクリーンショットを撮る

私はaShotのようなものを調べましたが、プロジェクトに追加する方法がわかりません。

現在のコード:

[AfterStep] 
    public void AfterStep() 
    { 
     Screenshot ss = ((ITakesScreenshot)webDriver).GetScreenshot(); 
     string stepTitle = ScenarioContext.Current.StepContext.StepInfo.Text; 
     string fileTitle = DateTime.Now.ToString("yyyyMMdd_HHmmss")+ "_" + stepTitle; 
     string drive = (path + DateTime.Now.ToString("yyyyMMdd_HHmm") + "_" + testTitle); 

     string screenshotfilename = drive + "\\" + fileTitle + ".Png"; 
     ss.SaveAsFile(screenshotfilename, ScreenshotImageFormat.Png); 
    } 

編集:

私の問題は、正確にスクリーンショットを撮るの作用を行うことではありません。私が直面している問題は、私のページがブラウザの高さを伸ばし、そのためにスクリーンショットをとると、ページ全体ではなく、表示可能なページのスクリーンショットです。

+0

あなたの質問への答えは、[ここ](https://stackoverflow.com/questions/16795458/selenium-webdriver-c-sharp-full-website-screenshots-with-chromedriver-and-ですfirefo) –

+0

あなたは次の質問を参照しようとしましたか? https://stackoverflow.com/questions/3422262/take-a-screenshot-with-selenium-webdriver – Danny

+0

@Danny私はスクリーンショットを撮る能力がありますが、フルページのスクリーンショットを撮る必要があります。 – Ross

答えて

0

テスト開始時に次のことを試しましたか?

webDriver.Manage().Window.Maximize(); 

あなたはここでそれを含めることができます

[Binding] 
public class Setup 
{ 
public static IWebDriver Driver = new ChromeDriver(); 

[BeforeTestRun] 
public static void SetUpBrowser() 
{ 
Driver.Manage().Window.Maximize(); 
} 

注:それはガーキン

に「BeforeTestRun」にわずかに異なる構文を持つこと
+0

私のブラウザは既に最大化された状態で開きます。私の問題は、ページの高さがブラウザの高さよりも大きいため、スクリーンショットはページ全体ではなく、表示可能なページであるということです。 – Ross

0

をお使いのブラウザが一番上にあり、あなたがあなたの画面上に表示された場合は、C#のスクリーンショットを使用してみてください(画面全体のスクリーンショットを撮る)機能です。 PrtScnボタンをクリックすると、画面全体が保存されます。

あなたが示したコードのように、IMOはウェブドライブのスクリーンショットを取るようにwebdriverに要求しているので、webdriverのスクリーンショットを取る必要があります(あなたが示したコードのように)。フルスクリーンが必要な場合は、下のリンクで使用されている実装の一部を使用してください。

Capture a Screen Shot using C#

編集:それが表示されていないにもかかわらず、あなたはページ全体のスクリーンショットを撮りたい(そしてあなたがそれを表示するには、スクロールダウンする必要がある)場合、それはここに示したように、それは可能ではないようです。

how to get screenshot of full web page using selenium in java?

関連する問題