diff --git a/Examples/utilities/screenshot.robot b/Examples/utilities/screenshot.robot index 5209424..cb31ede 100644 --- a/Examples/utilities/screenshot.robot +++ b/Examples/utilities/screenshot.robot @@ -13,6 +13,7 @@ ${HOME_PAGE_URL} http://127.0.0.1:7272/basic-html-elements.html Capture page screenshot Capture Page Screenshot Capture Page Screenshot test-{index}.png + Capture Page Screenshot fullPage=True *** Keywords *** diff --git a/PuppeteerLibrary/ikeywords/iscreenshot_async.py b/PuppeteerLibrary/ikeywords/iscreenshot_async.py index 02f057e..fdbcfb1 100644 --- a/PuppeteerLibrary/ikeywords/iscreenshot_async.py +++ b/PuppeteerLibrary/ikeywords/iscreenshot_async.py @@ -6,7 +6,7 @@ class iScreenshotAsync(BaseAsyncKeywords, ABC): @abstractmethod - async def capture_page_screenshot(self, path: str): + async def capture_page_screenshot(self, path: str, fullPage: bool): pass \ No newline at end of file diff --git a/PuppeteerLibrary/keywords/screenshot.py b/PuppeteerLibrary/keywords/screenshot.py index 94257a3..50617d5 100644 --- a/PuppeteerLibrary/keywords/screenshot.py +++ b/PuppeteerLibrary/keywords/screenshot.py @@ -15,12 +15,14 @@ def get_async_keyword_group(self) -> iScreenshotAsync: return self.ctx.get_current_library_context().get_async_keyword_group(type(self).__name__) @keyword - def capture_page_screenshot(self, filename=DEFAULT_FILENAME_PAGE): + def capture_page_screenshot(self, filename=DEFAULT_FILENAME_PAGE, fullPage=False): """ Capture current web page as image png file. The ``filename`` argument specifies filename and path to save the file. Default valid is 'puppeteer-screenshot-{index}.png'. + + The ``fullPage`` argument specifieds capture screenshot as full page. Example: @@ -29,7 +31,7 @@ def capture_page_screenshot(self, filename=DEFAULT_FILENAME_PAGE): """ path = self._get_screenshot_path(filename) - self.loop.run_until_complete(self.get_async_keyword_group().capture_page_screenshot(path)) + self.loop.run_until_complete(self.get_async_keyword_group().capture_page_screenshot(path, bool(fullPage))) self._embed_to_log_as_file(path, 800) def _get_screenshot_path(self, filename): diff --git a/PuppeteerLibrary/playwright/async_keywords/playwright_screenshot.py b/PuppeteerLibrary/playwright/async_keywords/playwright_screenshot.py index f814109..61676b5 100644 --- a/PuppeteerLibrary/playwright/async_keywords/playwright_screenshot.py +++ b/PuppeteerLibrary/playwright/async_keywords/playwright_screenshot.py @@ -7,7 +7,8 @@ class PlaywrightScreenshot(iScreenshotAsync): def __init__(self, library_ctx): super().__init__(library_ctx) - async def capture_page_screenshot(self, path: str): + async def capture_page_screenshot(self, path: str, fullPage: bool): return await self.library_ctx.get_current_page().get_page().screenshot( - path=f''+path + path=f''+path, + fullPage=fullPage ) diff --git a/PuppeteerLibrary/puppeteer/async_keywords/puppeteer_screenshot.py b/PuppeteerLibrary/puppeteer/async_keywords/puppeteer_screenshot.py index 53f9290..989e416 100644 --- a/PuppeteerLibrary/puppeteer/async_keywords/puppeteer_screenshot.py +++ b/PuppeteerLibrary/puppeteer/async_keywords/puppeteer_screenshot.py @@ -6,7 +6,10 @@ class PuppeteerScreenshot(iScreenshotAsync): def __init__(self, library_ctx): super().__init__(library_ctx) - async def capture_page_screenshot(self, path: str): + async def capture_page_screenshot(self, path: str, fullPage: bool): return await self.library_ctx.get_current_page().get_page().screenshot( - {'path': path} + { + 'path': path, + 'fullPage': fullPage + } )