예제 #1
0
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 == 'необходимо заполнить')
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
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)
예제 #5
0
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
예제 #6
0
 def close_region_popup(self, driver):
     btn = locators.element_is_clickable(driver, self.apply_region_btn)
     btn.click()
     time.sleep(settings.PAUSE_TIME)