Тут всё Ясно

Продолжим работу над блоком "Онлайн пополнение без комиссии" сайта mts.by. Перевести ранее написанный тест на использование паттерна Page Object и добавить следубщие рповерки Проверить надписи в незаполненных полях каждого варианта оплаты услуг: услуг связи, домашний интернет, рассрочка, задолженность; Для варианта "Услуг связи" заполнить поля в соответсвии с перерквизитами из предыдщей темы, нажать кнопку "Продолжить" и в появившемся окне проверить корректность отображения суммы (в тогм числе на конопке), номера телефона, а также надписей в незаполненных полях ввода реквизитов карты, наличие иконок платежных сиситем

Пройдите быструю авторизацию для просмотра:

Продолжая, вы даете согласие на обработку персональных данных, соглашаетесь с условиями использования cookies, а также подтверждаете ознакомление с публичной офертой.

Для реализации паттерна Page Object создадим классы для каждой страницы сайта, а также классы для элементов на страницах. Например, класс LoginPage для страницы входа, класс PaymentPage для страницы выбора способа оплаты и т.д.

Пример класса LoginPage:

class LoginPage:
    def __init__(self, driver):
        self.driver = driver

    def enter_username(self, username):
        self.driver.find_element_by_id("username").send_keys(username)

    def enter_password(self, password):
        self.driver.find_element_by_id("password").send_keys(password)

    def click_login_button(self):
        self.driver.find_element_by_id("login_button").click()

Пример класса PaymentPage:

class PaymentPage:
    def __init__(self, driver):
        self.driver = driver

    def select_payment_method(self, method):
        self.driver.find_element_by_id(method).click()

    def click_continue_button(self):
        self.driver.find_element_by_id("continue_button").click()

    def get_amount_text(self):
        return self.driver.find_element_by_id("amount").text

    def get_phone_number(self):
        return self.driver.find_element_by_id("phone_number").text

    def get_card_input_labels(self):
        labels = []
        elements = self.driver.find_elements_by_class_name("card_input_label")
        for element in elements:
            labels.append(element.text)
        return labels

    def get_payment_system_icons(self):
        icons = []
        elements = self.driver.find_elements_by_class_name("payment_system_icon")
        for element in elements:
            icons.append(element.get_attribute("src"))
        return icons

Теперь можно использовать эти классы для написания тестов. Например, для проверки надписей в незаполненных полях можно написать следующий тест:

def test_empty_fields_labels(driver):
    payment_page = PaymentPage(driver)
    
    payment_page.select_payment_method("mobile_services")
    
    empty_fields_labels = payment_page.get_card_input_labels()
    
    assert "Card number" in empty_fields_labels
    assert "Expiration date" in empty_fields_labels
    assert "CVV" in empty_fields_labels

Для проверки корректности отображения суммы, номера телефона и иконок платежных систем можно написать аналогичные тесты, используя методы класса PaymentPage.

Таким образом, паттерн Page Object позволяет структурировать код тестов и упрощает его поддержку и расширение.

Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.

Напишите нам, если в вопросе есть ваши персональные данные ([email protected])

Последние вопросы

  • Напиши одну главу диплома по теме чат бот активный туризм Калининградской области и основные значения библиотек для создания чат бота
  • Анализ затрат производства керамогранита в динамике по исходным данным, приведенным в табл. 1. Таблица: Сравнение доходов компаний по производству плитки и керамики Показатель 2020 2021
  • Анализ затрат производства керамогранита в динамике по исходным данным, приведенным в табл. 1. Таблица: Сравнение доходов компаний по производству плитки и керамики Показатель 2020 2021
  • играя в гта 5 рп - Тайрон - член банды из Дэвиса. После нескольких месяцев продажи наркотиков он решает вложить накопленный капитал и открыть ночной клуб в центре Вайнвуда. Тайрон устанавливает связи
  • Существуют-ли телепаты параллельных миров, и что они представляют собой?
  • Существует-ли научное объяснение сбоев матрицы, и что оно представляет собой?