def callout_street_test(self, url, lat, lng): """ :param url: Адрес страницы :param lat: Широта :param lng: Долгота Проверка калаута улицы. 1.Перемещаемся к координатам 2.Изменяем изначальный зум к 18 3.Кликаем в центр 4.Проверяем наличие калаута 5.Проверяем название улицы 6.Проверяем расположение улицы 7.Проверяем информацию о геообъекте на всех языках """ self.driver.get(url) self.page.map.wait_init() self.page.console(SetScripts.pan_to(lat, lng)) self.page.console(SetScripts.set_zoom(18)) self.page.map.center_click() center = self.page.console(GetScripts.getCenter) g = GeoData(center, 18) self.page.addresed_place_callout.wait_present() self.assertTrue(self.page.addresed_place_callout.is_visible) self.assertEqual(g.street_name, self.page.addresed_place_callout.header) self.assertEqual(self.page.addresed_place_callout.drilldown, g.street_address) for lang in self.street: self.page.console(SetScripts.set_lang(lang)) self.assertEqual(self.page.addresed_place_callout.purpose, self.street[lang])
def callout_attraction_text_test(self, url, lat, lng): """ :param url: Адрес страницы :param lat: Широта :param lng: Долгота Проверка калаута памятника с текстом. 1.Перемещаемся к координатам 2.Изменяем изначальный зум к 18 3.Кликаем в центр 4.Проверяем наличие калаута 6.Проверяем заголовок калаута 7.Проверяем наличие враппера 8.Проверяем текст 9.Кликаем во враппер 10.Проверяем отсутствие враппера """ self.driver.get(url) self.page.map.wait_init() self.page.console(SetScripts.set_zoom(18)) self.page.console(SetScripts.pan_to(lat, lng)) self.page.map.center_click() self.page.attraction_callout_wrapped.wait_present() center = self.page.console(GetScripts.getCenter) g = GeoData(center, 18) self.assertTrue(self.page.attraction_callout_wrapped.is_visible) self.assertEqual(g.attraction_name, self.page.attraction_callout.header) self.assertTrue(self.page.attraction_callout_wrapped.wrapper()) self.assertEqual(g.attraction_description, self.page.attraction_callout_wrapped.text) self.page.attraction_callout_wrapped.unwrap() self.assertFalse(self.page.attraction_callout_wrapped.wrapper())
def callout_district_place_test(self, url): """ :param url: Адрес страницы Тест на проверку колаута района. 1.Кликаем в центр 2.Проверяем открытие калаута 3.Проверяем название района 4.Проверяем адрес района 5.Проверяем информацию о геообъекте на всех языках """ self.driver.get(url) self.page.map.wait_init() center = self.driver.execute_script(GetScripts.getCenter) self.page.map.center_click() self.page.addresed_place_callout.wait_present() zoom = self.driver.execute_script(GetScripts.getZoom) g = GeoData(center, zoom) district_addr = g.place_address callout_addr = self.page.addresed_place_callout.drilldown self.assertEqual(self.page.addresed_place_callout.header, g.district_name) self.assertEqual(callout_addr, district_addr) for lang in self.district: self.driver.execute_script(SetScripts.set_lang(lang)) purpose = self.page.addresed_place_callout.purpose self.assertEqual(self.district[lang], purpose)
def click_polygon_test(self, url, point): """ Проверка события click для карты :param url: Адрес страницы :param point: Координаты на карте внутри полигона 1.Открываем страницу 2.Кликаем в координаты 3.Проверяем содержимое info """ self.driver.get(url) self.page.map.wait_init() info = self.page.map.info_elem() self.page.console(SetScripts.set_zoom(17)) self.page.console(SetScripts.pan_to(point['lat'], point['lng'])) self.page.map.center_click() self.assertEqual(info.text, 'polygon')
def click_map_test(self, url, point): """ Проверка события click для карты :param url: Адрес страницы :param point: Координаты на карте 1.Открываем страницу 2.Кликаем в координаты 3.Проверяем содержимое info """ self.driver.get(url) self.page.map.wait_init() info = self.page.map.info_elem() self.page.console(SetScripts.set_zoom(17)) self.page.console(SetScripts.pan_to(point['lat'], point['lng'])) self.page.map.center_click() self.assertEqual(info.text.split(' ')[0], 'map') coords = misc.coord_string_to_dict(info.text[4:]) self.assertTrue(misc.coord_equals(point, coords, 2))
def callout_building_without_name_test(self, url, lat, lng): """ :param url: Адрес страницы :param lat: Широта :param lng: Долгота Проверка здания без названия. 1.Перемещаемся к координатам 2.Изменяем изначальный зум к 18 3.Кликаем в центр 4.Проверяем наличие адреса в заголовке """ self.driver.get(url) self.page.map.wait_init() self.page.console(SetScripts.set_zoom(18)) self.page.console(SetScripts.pan_to(lat, lng)) self.page.map.center_click() center = self.page.console(GetScripts.getCenter) g = GeoData(center, 18) self.page.build_callout.wait_present() self.assertEqual(g.build_name, self.page.build_callout.header)
def marker_program_open_test(self, url): """ :param url: Адрес страницы Проверка возможности програмного открытия маркеров 1.Закрываем колаут 2.Открываем его программно """ self.driver.get(url) self.page.map.wait_init() self.page.balloon_crossed.close() self.page.console(SetScripts.open_marker()) self.assertTrue(self.page.balloon_crossed.is_visible)
def callout_poi_gallery_test(self, url, lat, lng, firm_id): """ :param url: Адрес страницы :param lat: Широта :param lng: Долгота :param firm_id: Проверка калаута памятника с текстом. 1.Перемещаемся к координатам 2.Изменяем изначальный зум к 18 3.Кликаем в центр 4.Проверяем наличие калаута 6.Проверяем заголовок калаута """ self.driver.get(url) self.page.map.wait_init() self.page.console(SetScripts.pan_to(lat, lng)) self.page.console(SetScripts.set_zoom(19)) self.page.map.center_click() self.page.build_callout.wait_present() g = GalleryData(firm_id) self.assertEqual(self.page.build_callout.header, g.gallery_name)
def callout_unknown_place_test(self, url, lat, lng): """ :param url: Адрес страницы :param lat: Широта :param lng: Долгота Тест на проверку колаута неизвестного места. 1.Перемещаемся к координатам 2.Кликаем в центр 3.Проверяем открытие калаута 4.Проверяем содержимое колаута для всех языков """ self.driver.get(url) self.page.map.wait_init() self.driver.execute_script(SetScripts.pan_to(lat, lng)) self.page.map.center_click() self.page.unkown_place.wait_present() self.assertTrue(self.page.unkown_place.is_visible) for lang in self.not_found: self.driver.execute_script(SetScripts.set_lang(lang)) header = self.page.unkown_place.header self.assertEqual(self.not_found[lang], header)
def callout_attraction_test(self, url, lat, lng): """ :param url: Адрес страницы :param lat: Широта :param lng: Долгота Проверка калаута достопремичательности. 1.Перемещаемся к координатам 2.Изменяем изначальный зум к 18 3.Кликаем в центр 4.Проверяем наличие калаута 6.Проверяем заголовок калаута """ self.driver.get(url) self.page.map.wait_init() self.page.console(SetScripts.pan_to(lat, lng)) self.page.console(SetScripts.set_zoom(18)) self.page.map.center_click() self.page.attraction_callout.wait_present() center = self.page.console(GetScripts.getCenter) g = GeoData(center, 18) self.assertTrue(self.page.attraction_callout.is_visible) self.assertEqual(g.attraction_name, self.page.attraction_callout.header)
def loader_dg_then_add_app_test(self, url): """ :param url: Адрес страницы Тест на проверку ленивой загрузки 1.Открываем страницу 2.Проверяем отсутсвие скрипта 3.Выполняем DG.then 4.Проверяем наличие скрипта """ self.driver.get(url) self.assertTrue(not self.page.sources.app_js_present) self.driver.execute_script(SetScripts.dg_then()) self.assertTrue(self.page.sources.app_js_present)
def callout_city_place_test(self, url): """ :param url: Адрес страницы Тест на проверку колаута города. 1.Изменяем изначальный зум к 8 2.Кликаем в центр 3.Проверяем открытие калаута 4.Проверяем название города 5.Проверяем информацию о геообъекте на всех языках """ self.driver.get(url) self.page.map.wait_init() self.driver.execute_script(SetScripts.set_zoom(8)) center = self.driver.execute_script(GetScripts.getCenter) g = GeoData(center, 8) self.page.map.center_click() self.page.place_callout.wait_present() self.assertEqual(self.page.place_callout.header, g.city_name) for lang in self.city: self.driver.execute_script(SetScripts.set_lang(lang)) purpose = self.page.place_callout.purpose self.assertEqual(self.city[lang], purpose)
def set_zoom(self, level): self.driver.execute_script(SetScripts.set_zoom(level))