Пример #1
0
 def test_text_version_is_on_main_page(self):
     """
     Тест на наличие элемента с текстом версии приложения на главной странице
     """
     self.header_page = HeaderPage(self.driver)
     self.header_page.open_test_environment(url=URL)
     assert self.header_page.find_element(
         ELEMENT_VERSION), f"Элемент {ELEMENT_VERSION} не был найден"
Пример #2
0
 def test_email_field_is_on_main_page(self):
     """
     Тест на наличие элемента поле ввода имейла на главной странице
     """
     self.header_page = HeaderPage(self.driver)
     self.header_page.open_test_environment(url=URL)
     assert self.header_page.find_element(
         EMAIL_INPUT), f"Элемент {EMAIL_INPUT} не был найден"
Пример #3
0
 def test_button_submit_is_on_main_page(self):
     """
     Тест на наличие элемента кнопки "Получить код" на главной странице
     """
     self.header_page = HeaderPage(self.driver)
     self.header_page.open_test_environment(url=URL)
     assert self.header_page.find_element(
         BTN_SUBMIT), f"Элемент {BTN_SUBMIT} не был найден"
Пример #4
0
 def test_link_learn_more_is_on_main_page(self):
     """
     Тест на наличие ссылки "Подробнее..." на главной странице
     """
     self.header_page = HeaderPage(self.driver)
     self.header_page.open_test_environment(url=URL)
     assert self.header_page.find_element(
         LINK_LEARN_MORE), f"Элемент {LINK_LEARN_MORE} не был найден"
Пример #5
0
 def test_lang_combobox_is_on_main_page(self):
     """
     Тест на наличие элемента комбобокса с выбором языка на главной странице
     """
     self.header_page = HeaderPage(self.driver)
     self.header_page.open_test_environment(url=URL)
     assert self.header_page.find_element(
         LANG_COMBOBOX), f"Элемент {LANG_COMBOBOX} не был найден"
Пример #6
0
 def test_link_drweb_com_is_on_main_page(self):
     """
     Тест на наличие ссылки "© «Доктор Веб», 1992–2020" на главной странице
     """
     self.header_page = HeaderPage(self.driver)
     self.header_page.open_test_environment(url=URL)
     assert self.header_page.find_element(
         LINK_DRWEB_COM), f"Элемент {LINK_DRWEB_COM} не был найден"
Пример #7
0
 def test_link_private_policy_is_on_main_page(self):
     """
     Тест на наличие ссылки "Политика конфиденциальности" на главной странице
     """
     self.header_page = HeaderPage(self.driver)
     self.header_page.open_test_environment(url=URL)
     assert self.header_page.find_element(
         LINK_PRIVATE_POLICY
     ), f"Элемент {LINK_PRIVATE_POLICY} не был найден"
Пример #8
0
 def test_drweb_icon_is_on_main_page(self, lang):
     """
     Тест на наличие элемента иконки DrWeb на главной странице
     :param lang: Принимает строку языка для использвоания в качестве значения в методе для переключения языка
     """
     self.header_page = HeaderPage(self.driver)
     self.header_page.open_test_environment(url=URL)
     self.header_page.change_site_language(lang_value=lang)
     assert self.header_page.find_element(
         DRWEB_ICON), f"Элемент {DRWEB_ICON} не был найден"
Пример #9
0
 def test_mobile_icon_is_on_main_page(self):
     """
     Тест на наличие иконки дрвеб на главной странице.
     Создаем объект класса, далее используем метод класса указывая ему URL нашего ACS.
     Используем инструкцию Assert для утверждения результа работы функции поиска элемента. В случае ошибки,
     получим сообщение об отсутсвии необходимого элемента.
     """
     self.header_page = HeaderPage(self.driver)
     self.header_page.open_test_environment(url=URL)
     assert self.header_page.find_element(
         DRWEB_MOBILE), f"Элемент {DRWEB_MOBILE} не был найден"
Пример #10
0
 def test_text_wrong_key_is_on_main_page(self):
     """
     Тест на наличие элемента текста ошибки "Неверный ключ" при вводе неверных данных и подтверждении кнопкой
     """
     self.header_page = HeaderPage(self.driver)
     self.header_page.open_test_environment(url=URL)
     self.header_page.enter_key("WRONG_KEY")
     self.header_page.enter_email("*****@*****.**")
     self.header_page.click_submit_button()
     assert self.header_page.find_element(
         WRONG_KEY), f"Элемент {WRONG_KEY} не был найден"
Пример #11
0
 def test_drweb_icon_is_on_main_page(self):
     """
     Это просто черновой тест, в случае удачного использования, переносится в основной модуль.
     :return: nope =)
     """
     self.header_page = HeaderPage(self.driver)
     self.header_page.open_test_environment(url=URL)
     self.header_page.enter_key("FKJSFPMOWQUNSPDO")
     self.header_page.enter_email("*****@*****.**")
     self.header_page.click_submit_button()
     assert self.header_page.find_element(WRONG_KEY), f"Элемент {WRONG_KEY} не был найден"
Пример #12
0
 def test_open_main_page_eng(self, lang, title):
     """
     Пример теста с указанием множественных аргументов. В данном случае указан список с парой кортежей содержащий
     2 элемента. Можно добавить все языки, в таком случае тест будет запускаться несколько раз используя
     разные аргументы.
     !!!!Необходимо использовать gettext для использования искходников текстов от техписов.!!!!
     :param lang: Принимает строку языка для использвоания в качестве значения в методе для переключения языка
     :param title: Принимает строку языка для использвания в инструкции Assert при проверки элемента Title
     """
     self.header_page = HeaderPage(self.driver)
     self.header_page.open_test_environment(url=URL)
     self.header_page.change_site_language(lang_value=lang)
     assert self.header_page.at_page(text_title_page=title)
Пример #13
0
class TestSmoke:
    @pytest.mark.smoke
    def test_mobile_icon_is_on_main_page(self):
        """
        Тест на наличие иконки дрвеб на главной странице.
        Создаем объект класса, далее используем метод класса указывая ему URL нашего ACS.
        Используем инструкцию Assert для утверждения результа работы функции поиска элемента. В случае ошибки,
        получим сообщение об отсутсвии необходимого элемента.
        """
        self.header_page = HeaderPage(self.driver)
        self.header_page.open_test_environment(url=URL)
        assert self.header_page.find_element(
            DRWEB_MOBILE), f"Элемент {DRWEB_MOBILE} не был найден"

    @pytest.mark.smoke
    def test_link_learn_more_is_on_main_page(self):
        """
        Тест на наличие ссылки "Подробнее..." на главной странице
        """
        self.header_page = HeaderPage(self.driver)
        self.header_page.open_test_environment(url=URL)
        assert self.header_page.find_element(
            LINK_LEARN_MORE), f"Элемент {LINK_LEARN_MORE} не был найден"

    @pytest.mark.smoke
    def test_link_drweb_com_is_on_main_page(self):
        """
        Тест на наличие ссылки "© «Доктор Веб», 1992–2020" на главной странице
        """
        self.header_page = HeaderPage(self.driver)
        self.header_page.open_test_environment(url=URL)
        assert self.header_page.find_element(
            LINK_DRWEB_COM), f"Элемент {LINK_DRWEB_COM} не был найден"

    @pytest.mark.smoke
    def test_link_private_policy_is_on_main_page(self):
        """
        Тест на наличие ссылки "Политика конфиденциальности" на главной странице
        """
        self.header_page = HeaderPage(self.driver)
        self.header_page.open_test_environment(url=URL)
        assert self.header_page.find_element(
            LINK_PRIVATE_POLICY
        ), f"Элемент {LINK_PRIVATE_POLICY} не был найден"

    @pytest.mark.smoke
    def test_lang_combobox_is_on_main_page(self):
        """
        Тест на наличие элемента комбобокса с выбором языка на главной странице
        """
        self.header_page = HeaderPage(self.driver)
        self.header_page.open_test_environment(url=URL)
        assert self.header_page.find_element(
            LANG_COMBOBOX), f"Элемент {LANG_COMBOBOX} не был найден"

    @pytest.mark.smoke
    def test_key_field_is_on_main_page(self):
        """
        Тест на наличие элемента поле ввода ключа на главной странице
        """
        self.header_page = HeaderPage(self.driver)
        self.header_page.open_test_environment(url=URL)
        assert self.header_page.find_element(
            KEY_INPUT), f"Элемент {KEY_INPUT} не был найден"

    @pytest.mark.smoke
    def test_email_field_is_on_main_page(self):
        """
        Тест на наличие элемента поле ввода имейла на главной странице
        """
        self.header_page = HeaderPage(self.driver)
        self.header_page.open_test_environment(url=URL)
        assert self.header_page.find_element(
            EMAIL_INPUT), f"Элемент {EMAIL_INPUT} не был найден"

    @pytest.mark.smoke
    def test_button_submit_is_on_main_page(self):
        """
        Тест на наличие элемента кнопки "Получить код" на главной странице
        """
        self.header_page = HeaderPage(self.driver)
        self.header_page.open_test_environment(url=URL)
        assert self.header_page.find_element(
            BTN_SUBMIT), f"Элемент {BTN_SUBMIT} не был найден"

    @pytest.mark.smoke
    def test_text_version_is_on_main_page(self):
        """
        Тест на наличие элемента с текстом версии приложения на главной странице
        """
        self.header_page = HeaderPage(self.driver)
        self.header_page.open_test_environment(url=URL)
        assert self.header_page.find_element(
            ELEMENT_VERSION), f"Элемент {ELEMENT_VERSION} не был найден"

    def test_text_wrong_key_is_on_main_page(self):
        """
        Тест на наличие элемента текста ошибки "Неверный ключ" при вводе неверных данных и подтверждении кнопкой
        """
        self.header_page = HeaderPage(self.driver)
        self.header_page.open_test_environment(url=URL)
        self.header_page.enter_key("WRONG_KEY")
        self.header_page.enter_email("*****@*****.**")
        self.header_page.click_submit_button()
        assert self.header_page.find_element(
            WRONG_KEY), f"Элемент {WRONG_KEY} не был найден"

    @pytest.mark.smoke
    @pytest.mark.parametrize("lang, title", [("ru", "Dr.Web Учетная запись")])
    def test_open_main_page_eng(self, lang, title):
        """
        Пример теста с указанием множественных аргументов. В данном случае указан список с одним кортежем содержащий
        2 элемента. Можно добавить все языки, в таком случае тест будет запускаться несколько раз используя
        разные аргументы.
        :param lang: Принимает строку языка для использвоания в качестве значения в методе для переключения языка
        :param title: Принимает строку языка для использвания в инструкции Assert при проверки элемента Title
        """
        self.header_page = HeaderPage(self.driver)
        self.header_page.open_test_environment(url=URL)
        self.header_page.change_site_language(lang_value=lang)
        assert self.header_page.at_page(
            text_title_page=title), f"Должен был быть получен {title}"

    @pytest.mark.smoke
    @pytest.mark.parametrize("lang", ["en"])
    def test_drweb_icon_is_on_main_page(self, lang):
        """
        Тест на наличие элемента иконки DrWeb на главной странице
        :param lang: Принимает строку языка для использвоания в качестве значения в методе для переключения языка
        """
        self.header_page = HeaderPage(self.driver)
        self.header_page.open_test_environment(url=URL)
        self.header_page.change_site_language(lang_value=lang)
        assert self.header_page.find_element(
            DRWEB_ICON), f"Элемент {DRWEB_ICON} не был найден"