2016-11-15 109 views
-2

目前,我正在使用下面的代碼來執行特定操作的屏幕截圖(調用屏幕截圖很重要的方法)。但是我需要截取每個頁面的截圖,因爲我們在功能測試時(在頁面加載和在頁面上輸入值之前)執行此操作,並且它應該將截圖命名爲@before- PageName@after-PageName 如果有人知道如何截取屏幕截圖整個頁面,請讓我知道。在BDD黃瓜框架中的屏幕截圖

public void getscreenshot(WebDriver driver) throws Exception { 

     File scr = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); 

     File dest = new File(("user.dir")+"screenshot" + timestamp() + ".png"); 
     FileUtils.copyFile(scr, dest); 
     Thread.sleep(3000); 
    } 
+0

可能重複的[用Selenium WebDriver截圖](http://stackoverflow.com/questions/3422262/take-a-screenshot-with-selenium-webdriver) – JDelorean

+0

我已經添加了下面的代碼:File scrFile =( (TakesScreenshot)驅動程序).getScreenshotAs(OutputType.FILE); FileUtils.copyFile(scrFile,new File(「C:\\ Automation \\ target \\ zucchini-reports \\ testScreenSh ot.jpg」)); if(testResult.getStatus()== ITestResult.FAILURE){scrFile =((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); FileUtils.copyFile(scrFile,new File(「C:\\ Automation \\ target \\ zucchini-reports \\ testScreenSh ot.jpg」));獲取錯誤消息takeScreenShotOnFailure(com.Runner.AbstractStepDefinitionTes t)已用時間:74.844秒<<< FAILURE! - – swati

回答

0

Reporter.logWithScreenShot("before change") 
//perform your stuff 
Reporter.logWithScreenShot("after change") 

您可以快速瀏覽您可以使用https://saucelabs.com/這個(其付費服務,我不與他們有關係,我也不推薦他們)。他們提供您的方案的視頻以及截圖。