def check_image_match_settings(eyes, test_result, comparision): session_results = get_session_results(eyes.api_key, test_result) img = session_results["actualAppOutput"][0]["imageMatchSettings"] for param in comparision: actual = img[param["actual_name"]] expected = param["expected"] if attr.has(expected.__class__): actual = attr_from_dict(actual, expected.__class__) elif isinstance(expected, list): expected_cls = expected[0].__class__ actual = [attr_from_dict(a, expected_cls) for a in actual] assert actual == expected
def post_locators(self, visual_locators_data): # type: (VisualLocatorsData) -> LOCATORS_TYPE data = json_utils.to_json(visual_locators_data) response = self._com.long_request("post", "api/locators/locate", data=data) response.raise_for_status() return { locator_id: json_utils.attr_from_dict(regions, Region) for locator_id, regions in iteritems(response.json()) }
def get_text_regions_in_running_session_image(self, data): # type: (TextSettingsData) -> PATTERN_TEXT_REGIONS logger.debug( "call", _class=self.__class__.__name__, _method="extract_text_regions", text_region_data=data, ) resp = self._com.long_request( "post", urljoin(self.API_SESSIONS_RUNNING, "images/textregions"), data=json_utils.to_json(data), ) if resp.ok: return { pattern: json_utils.attr_from_dict(regions, TextRegion) for pattern, regions in iteritems(resp.json()) } raise EyesError( "ServerConnector.extract_text_regions - unexpected status {}".format( resp.status_code ) )