def _match_window(self, region_provider, tag, ignore_mismatch, check_settings): # type: (RegionProvider, Text, bool, SeleniumCheckSettings) -> MatchResult # Update retry timeout if it wasn't specified. retry_timeout_ms = -1 # type: int if check_settings: retry_timeout_ms = check_settings.values.timeout check_settings = self._process_check_settings_values(check_settings) region = region_provider.get_region() logger.debug("params: ([{}], {}, {} ms)".format( region, tag, retry_timeout_ms)) app_output = AppOutput( title=tag, screenshot64=None, screenshot_url=self.render_status.image_location, dom_url=self.render_status.dom_location, ) result = self._match_window_task.perform_match( app_output=AppOutputWithScreenshot(app_output, None), name=tag, ignore_mismatch=ignore_mismatch, image_match_settings=ImageMatchSettings.create_from_check_settings( check_settings), eyes=self, user_inputs=self._user_inputs, check_settings=check_settings, render_id=self.render_status.render_id, region_selectors=self._region_selectors, regions=self._regions, ) return result
def _get_app_output_with_screenshot(self, region, last_screenshot, check_settings): # type: (None, None, SeleniumCheckSettings)->AppOutputWithScreenshot logger.debug("render_task.uuid: {}".format(self._current_uuid)) app_output = AppOutput( title=self._title, screenshot_bytes=None, screenshot_url=self.render_status.image_location, dom_url=self.render_status.dom_location, ) result = AppOutputWithScreenshot(app_output, None) return result
def _get_app_output_with_screenshot(self, region, last_screenshot, check_settings): # type: (Region, EyesScreenshot, CheckSettings) -> AppOutputWithScreenshot logger.info("getting screenshot...") screenshot = self._get_screenshot() logger.info("Done getting screenshot!") if not region.is_size_empty: screenshot = screenshot.sub_screenshot(region) self._debug_screenshot_provider.save(screenshot.image, "sub_screenshot") if not self._dom_url and ( self.configuration.send_dom or check_settings.values.send_dom ): dom_json = self._try_capture_dom() self._dom_url = self._try_post_dom_snapshot(dom_json) logger.info("dom_url: {}".format(self._dom_url)) app_output = AppOutput( title=self._title, screenshot64=None, dom_url=self._dom_url ) result = AppOutputWithScreenshot(app_output, screenshot) logger.info("Done") return result
def app_output_with_screenshot(app_output, screenshot): return AppOutputWithScreenshot(app_output, screenshot)