@@ -18,23 +18,36 @@ public class Shutterbug {
1818 private static final int DEFAULT_SCROLL_TIMEOUT = 100 ;
1919
2020 /**
21- * Make screenshot of the viewport only.
22- * To be used when screenshotting the page
23- * and don't need to scroll while making screenshots (FF, IE).
21+ * Make screen shot of the viewport only.
22+ * To be used when screen shooting the page
23+ * and don't need to scroll while making screen shots (FF, IE).
2424 *
2525 * @param driver WebDriver instance
2626 * @return PageSnapshot instance
2727 */
2828 public static PageSnapshot shootPage (WebDriver driver ) {
29- Browser browser = new Browser (driver );
29+ return shootPage (driver ,false );
30+ }
31+
32+ /**
33+ * Make screen shot of the viewport only.
34+ * To be used when screen shooting the page
35+ * and don't need to scroll while making screen shots (FF, IE).
36+ *
37+ * @param driver WebDriver instance
38+ * @param useDevicePixelRatio whether or not take into account device pixel ratio
39+ * @return PageSnapshot instance
40+ */
41+ public static PageSnapshot shootPage (WebDriver driver , boolean useDevicePixelRatio ) {
42+ Browser browser = new Browser (driver , useDevicePixelRatio );
3043 PageSnapshot pageScreenshot = new PageSnapshot (driver );
3144 pageScreenshot .setImage (browser .takeScreenshot ());
3245 return pageScreenshot ;
3346 }
3447
3548 /**
36- * To be used when screenshotting the page
37- * and need to scroll while making screenshots , either vertically or
49+ * To be used when screen shooting the page
50+ * and need to scroll while making screen shots , either vertically or
3851 * horizontally or both directions (Chrome).
3952 *
4053 * @param driver WebDriver instance
@@ -46,17 +59,32 @@ public static PageSnapshot shootPage(WebDriver driver, ScrollStrategy scroll) {
4659 }
4760
4861 /**
49- * To be used when screenshotting the page
50- * and need to scroll while making screenshots , either vertically or
62+ * To be used when screen shooting the page
63+ * and need to scroll while making screen shots , either vertically or
5164 * horizontally or both directions (Chrome).
5265 *
5366 * @param driver WebDriver instance
5467 * @param scroll ScrollStrategy How you need to scroll
55- * @param scrollTimeout Timeout to wait after scrolling and before taking screenshot
68+ * @param scrollTimeout Timeout to wait after scrolling and before taking screen shot
5669 * @return PageSnapshot instance
5770 */
5871 public static PageSnapshot shootPage (WebDriver driver , ScrollStrategy scroll , int scrollTimeout ) {
59- Browser browser = new Browser (driver );
72+ return shootPage (driver ,scroll ,scrollTimeout ,false );
73+ }
74+
75+ /**
76+ * To be used when screen shooting the page
77+ * and need to scroll while making screen shots, either vertically or
78+ * horizontally or both directions (Chrome).
79+ *
80+ * @param driver WebDriver instance
81+ * @param scroll ScrollStrategy How you need to scroll
82+ * @param scrollTimeout Timeout to wait after scrolling and before taking screen shot
83+ * @param useDevicePixelRatio whether or not take into account device pixel ratio
84+ * @return PageSnapshot instance
85+ */
86+ public static PageSnapshot shootPage (WebDriver driver , ScrollStrategy scroll , int scrollTimeout , boolean useDevicePixelRatio ) {
87+ Browser browser = new Browser (driver , useDevicePixelRatio );
6088 browser .setScrollTimeout (scrollTimeout );
6189 PageSnapshot pageScreenshot = new PageSnapshot (driver );
6290 switch (scroll ) {
@@ -80,7 +108,19 @@ public static PageSnapshot shootPage(WebDriver driver, ScrollStrategy scroll, in
80108 * @return ElementSnapshot instance
81109 */
82110 public static ElementSnapshot shootElement (WebDriver driver , WebElement element ) {
83- Browser browser = new Browser (driver );
111+ return shootElement (driver ,element ,false );
112+ }
113+
114+ /**
115+ * To be used when need to screenshot particular element.
116+ *
117+ * @param driver WebDriver instance
118+ * @param element WebElement instance to be screen shot
119+ * @param useDevicePixelRatio whether or not take into account device pixel ratio
120+ * @return ElementSnapshot instance
121+ */
122+ public static ElementSnapshot shootElement (WebDriver driver , WebElement element , boolean useDevicePixelRatio ) {
123+ Browser browser = new Browser (driver ,useDevicePixelRatio );
84124 ElementSnapshot elementSnapshot = new ElementSnapshot (driver );
85125 browser .scrollToElement (element );
86126 elementSnapshot .setImage (browser .takeScreenshot (),browser .getBoundingClientRect (element ));
0 commit comments