def test_street_validation_msg(driver, main_page, order_form): logger.info('Check validation text for street field') with allure.step('Открыть форму быстрой заявки, если она не отображается'): order_form.open_form(driver) with allure.step( 'Проверка возможности ввода данных, {}'.format(STREET_TITLE)): street = locators.element_is_clickable(driver, order_form.street) with allure.step('Очистить {}'.format(STREET_TITLE)): street.clear() with allure.step('Ввод, {}, не{}'.format(STREET_TITLE, VALID_DATA_TEXT)): street.send_keys('street') with allure.step('Получить текст валидации при вводе невалидных данных'): text1 = locators.element_is_visible(driver, order_form.street_error_msg).text with allure.step( 'Проверка отображения иконки очистки, {}'.format(STREET_TITLE)): btn = locators.element_is_visible(driver, order_form.street_clear_btn) with allure.step('Нажать иконку очистки поля'): btn.click() with allure.step('Получить текст валидации при пустом поле'): text2 = locators.element_is_visible(driver, order_form.street_error_msg).text logger.info('Validation texts are correct' + ', ' + STREET_TITLE + ', 1: ' + text1 + ', 2: ' + text2) with allure.step( 'Проверка текстов валидации для невалидных данных и для пустого поля' ): assert (text1 == 'введите на русском языке') & ( text2 == 'необходимо заполнить')
def test_name_validation_pos(driver, main_page, order_form, name_param): logger.info('Positive validation name field') with allure.step('Открыть форму быстрой заявки, если она не отображается'): order_form.open_form(driver) with allure.step( 'Проверка возможности ввода данных, {}'.format(NAME_TITLE)): name = locators.element_is_clickable(driver, order_form.name) with allure.step('Очистить {}'.format(NAME_TITLE)): name.clear() with allure.step('Ввод, {}, {}'.format(NAME_TITLE, VALID_DATA_TEXT)): name.send_keys(name_param) logger.info('Validation text is not present' + ', ' + NAME_TITLE + ', input data: ' + name_param) with allure.step('Проверка, что валидация не отображается'): assert locators.element_is_not_found(driver, order_form.name_error_msg)
def test_street_validation_neg(driver, main_page, order_form, street_param): logger.info('Negative validation street field') with allure.step('Открыть форму быстрой заявки, если она не отображается'): order_form.open_form(driver) with allure.step( 'Проверка возможности ввода данных, {}'.format(STREET_TITLE)): street = locators.element_is_clickable(driver, order_form.street) with allure.step('Очистить {}'.format(STREET_TITLE)): street.clear() with allure.step('Ввод, {}, не{}'.format(STREET_TITLE, VALID_DATA_TEXT)): street.send_keys(street_param) logger.info('Validation text is present' + ', ' + STREET_TITLE + ', input data: ' + street_param) with allure.step( 'Проверка отображения сообщения, не{}'.format(VALID_DATA_TEXT)): assert locators.element_is_visible(driver, order_form.street_error_msg)
def test_form_elements(driver, main_page, order_form): logger.info('Form elements') with allure.step('Открыть форму быстрой заявки, если она не отображается'): order_form.open_form(driver) with allure.step('Проверка возможности ввода данных для поля Улица'): locators.element_is_clickable(driver, order_form.street) with allure.step('Проверка возможности ввода данных для поля Дом'): locators.element_is_clickable(driver, order_form.house) with allure.step('Проверка возможности ввода данных для поля Квартира'): locators.element_is_clickable(driver, order_form.flat) with allure.step('Проверка возможности ввода данных для поля ФИО'): locators.element_is_clickable(driver, order_form.name) with allure.step('Проверка возможности ввода данных для поля Телефон'): locators.element_is_clickable(driver, order_form.phone) with allure.step( 'Проверка интерактивности чек-бокса "Обработка персональных данных"' ): locators.element_is_clickable(driver, order_form.chk_box) with allure.step('Проверка интерактивности иконки смены региона'): locators.element_is_clickable(driver, order_form.change_region_btn) with allure.step('Проверка интерактивности иконки закрытия формы'): btn = locators.element_is_clickable(driver, order_form.close_btn) with allure.step('Закрыть форму быстрой заявки'): btn.click() logger.info('Closed form is not present') with allure.step('Проверка, что закрытая форма не отображается'): assert locators.element_is_not_found(driver, order_form.fast_order_form)
def test_create_quick_order(driver, main_page, order_form): logger.info('Create quick order') with allure.step('Открыть форму быстрой заявки, если она не отображается'): order_form.open_form(driver) with allure.step('Очистить поля формы'): with allure.step('Очистить {}'.format(STREET_TITLE)): locators.element_is_clickable(driver, order_form.street).clear() with allure.step('Очистить {}'.format(HOUSE_TITLE)): locators.element_is_clickable(driver, order_form.house).clear() with allure.step('Очистить {}'.format(FLAT_TITLE)): locators.element_is_clickable(driver, order_form.flat).clear() with allure.step('Очистить {}'.format(NAME_TITLE)): locators.element_is_clickable(driver, order_form.name).clear() with allure.step('Очистить {}'.format(PHONE_TITLE)): locators.element_is_clickable(driver, order_form.phone).clear() with allure.step('Ввод данных, {}'.format(STREET_TITLE)): locators.element_is_clickable(driver, order_form.street).send_keys('Тестовая') with allure.step('Время для подгрузки js-скрипта'): time.sleep(settings.PAUSE_TIME) with allure.step('Ввод данных, {}'.format(HOUSE_TITLE)): locators.element_is_clickable(driver, order_form.house).send_keys( random.randint(1, 999)) with allure.step('Время для подгрузки js-скрипта'): time.sleep(settings.PAUSE_TIME) with allure.step('Ввод данных, {}'.format(FLAT_TITLE)): locators.element_is_clickable(driver, order_form.flat).send_keys( random.randint(1, 999)) with allure.step('Ввод данных, {}'.format(NAME_TITLE)): locators.element_is_clickable(driver, order_form.name).send_keys('автотест') with allure.step('Ввод данных, {}'.format(PHONE_TITLE)): locators.element_is_clickable(driver, order_form.phone).send_keys('9998887766') with allure.step('Проверка отображения кнопки отправки заявки'): apl = locators.element_is_clickable(driver, order_form.apply_btn) with allure.step('Получить текущий URL до отправки заявки'): url_before = driver.current_url logger.info('Send quick order') with allure.step('Нажать кнопку отправки заявки'): apl.click() with allure.step('Проверка ,что форма быстрой заявки не отображается'): locators.element_is_not_found(driver, order_form.fast_order_form, time=settings.PAUSE_TIME + 7) with allure.step('Получить текущий URL после отправки заявки'): url_after = driver.current_url logger.info('URLs not equal') with allure.step( 'Проверка, что URL до и после отправки заявки не совпадают'): assert url_after != url_before
def close_region_popup(self, driver): btn = locators.element_is_clickable(driver, self.apply_region_btn) btn.click() time.sleep(settings.PAUSE_TIME)