В моменте, когда ты в классе BasePage описываешь метод find 11:37 во время печати self.browser. на этом месте как-то можно сделать, чтобы выходили подсказки методов, как это реализовать?
Это делается с помощью аннотаций Нужно импортнуть Webdriver из примерно отсюда from selenium.common.remote.webdriver import WebDriver (в точности пути не уверен, с телефона пишу) А потом добавить аннотацию в инит def __init__(driver: WebDriver) И тогда во всём этом классе и во всех дочерних появятся подсказки. Если что, пиши мне в телегу
В vs code в терминале возникает ошибка from pages.simple_button import SimpleButtonPagе E ModuleNotFoundError: No module named 'pages.simple_button'. Подскажите, пожалуйста, в чем может быть дело?
Возникает интересный эффект . Когда пишут browser.get - всё понятно , потому что так пишут во всех учебниках . А когда пишут simple_page - всё становится не понятным даже для того кто умеет программировать . Пойди разберись кто чего понапридумывал на своём проекте . У всех всё будет по разному .
Здравствуйте, в vs code в терминале возникает ошибка "ModuleNotFoundError: No module named 'pages'", при том что в импорте все само подтягивается и показывает что все хорошо. Не могу разобраться(
@@SeniorTester Скачал PyCharm и если запустить файл с тестом через Run, то все нормально запускается и ошибку не выдает, но если открыть файл теста через терминал используя "pytest -v", то опять вылазит ошибка как в vs code ModuleNotFoundError: No module named 'pages'.
Отличное объяснение! Всё понятно, было бы здорово увидеть пример создания фреймворке общие, которые можно использовать для разных сайтов к примеру, либо фреймворк для самого pytest?
Не думаю, что такое возможно. Все-таки фреймворк создаётся под конкретный сайт, с конкретными локаторами и последовательностями действий, которые возможны только для этого сайта
Весьма наглядно. Само видео требует тестов по проверке качества. К сожалению, в речи упоминаются ссылки, а по факту ссылки не появляются. Спасибо Вам, что делитесь своими знаниями, хоть, на мой взгляд, и весьма высокомерно по отношению к джунам.
Да ладно вам. Вполне нормально ожидать, что джун тестировщик не будет знать ничего о программировании. А какие ссылки не отображаются? Я то-ли не нашёл, то-ли youtube кому-то их показывает, а кому-то нет.
@@SeniorTester Проверю еще раз. Не показало, почему-то при просмотре. А по джунам - все ж когда-то джуны. По Вашим видео вполне можно начать разбиратся и понимать что и как. Спасибо!
Спасибо за видео. Подскажите, пожалуйста, а если в рамках одного теста будет использоваться несколько классов страниц (например, начали тест на одной странице, а закончили на другой), как в таком случае происходит инициализация объектов класса? Вначале в переменную присваиваем объект класса страницы main, делаем клик по переходу на вторую страницу с другим классом. В таком случае нужно опять создавать переменную и передавать в нее браузер?
Добрый день ! Подскажите, пожалуйста, почему может быть, если файл conftest лежит в корне проекта, то тест выдает ошибку из-за того, что фикстуры не найдены (импорт помогает, но должно без него ведь работать), а если файл conftest перенести в папку в тестами, то всё проходит корректно ? В чем причина, не могли бы вы мне подсказать ?
Нужно выбрать скоуп для фикстуры. Если нужно всегда оставаться на одной странице, то можно такие тесты расположить в отдельном файле и фикстуру прописать в этом файле и сделать ей scope='module'
Не могу понять в чем проблема, не видел фикстуру я вылечил это закинув conftest в папку tests. теперь он у меня браузер failed “browser = кликнуть->зкрыть все работает , мистика
Добрый день. Подскажите, плиз, это нормально если создать base_page, потом унаследовав ее сделать Login_page, а после все страницы наследовать от Login page, Что бы вызывать методы логина от текущих страниц и не создавать экземпляр класса логин в тесте?
А элементы страницы логина присутствуют на всех страницах, которые вы хотите от неё унаследовать? Нужно отталкиваться от цели. Возможно то, что вы хотите сделать, делается другими средствами
Спасибо за достаточно понятную, максимально структрурированную и полезную информацию
Вот таких тем мало по паттерну! Спасибо!
Спасибо за проделанную работу!
Отличное видео, спасибо!
Содержательно. После видео есть общая картина структуры🤝
Класс!
Спасибо за видео, очень помогло, тем более бесплатное)
Спасибо ,что сэкономили время и нервы))
Огромное спасибо за проделанную работу !!!
спасибо. интересно, Евгений
Hello 👋 hello ,если не трудно можете пожалуйста залить это на гит хаб и скинуть ссылку .спасибо.
все четко, понятно, спасибо!
Пользуйтесь)))
Спасибо! Очень полезный канал у вас! Поддержим крутой канал комментариями! ✌🤞
Мощно :)
В моменте, когда ты в классе BasePage описываешь метод find 11:37 во время печати self.browser. на этом месте как-то можно сделать, чтобы выходили подсказки методов, как это реализовать?
Это делается с помощью аннотаций
Нужно импортнуть Webdriver из примерно отсюда from selenium.common.remote.webdriver import WebDriver (в точности пути не уверен, с телефона пишу)
А потом добавить аннотацию в инит def __init__(driver: WebDriver)
И тогда во всём этом классе и во всех дочерних появятся подсказки. Если что, пиши мне в телегу
В vs code в терминале возникает ошибка from pages.simple_button import SimpleButtonPagе
E ModuleNotFoundError: No module named 'pages.simple_button'. Подскажите, пожалуйста, в чем может быть дело?
Нужно смотреть на всю структуру
Only your video l understand 😊OOП и class 😊
You best 👌 teacher and good luck 👍
Возникает интересный эффект . Когда пишут browser.get - всё понятно , потому что так пишут во всех учебниках . А когда пишут
simple_page - всё становится не понятным даже для того кто умеет программировать . Пойди разберись кто чего понапридумывал на своём проекте . У всех всё будет по разному .
Ну, те, кто понапридумыаал уже в своём проекте, уже не изучают основы.
Здравствуйте, в vs code в терминале возникает ошибка "ModuleNotFoundError: No module named 'pages'", при том что в импорте все само подтягивается и показывает что все хорошо. Не могу разобраться(
А импортировали Pages или pages?
А, это я ерунду спросил в прошлом коменте.
Нужно видеть структуру проекта, чтобы сказать вам что не так
@@SeniorTester Скачал PyCharm и если запустить файл с тестом через Run, то все нормально запускается и ошибку не выдает, но если открыть файл теста через терминал используя "pytest -v", то опять вылазит ошибка как в vs code ModuleNotFoundError: No module named 'pages'.
@@SeniorTester структура как у вас
Скорее всего, файл conftest у вас находится в папке с тестами, а не в корне проекта
Подскажите, есть в каком -то видео автотест с обращением к API и проверкой результата?
Есть обращение к апи и распечатывание результата ruclips.net/video/53Wbda8vtAQ/видео.html
@@SeniorTester Как проверка возвращаемого результата в реальных тестах с API происходит, через assert или что-то другое используют?
@@yuliapopova3273assert проверят вообще всё что хочет и используется постоянно
Отличное объяснение! Всё понятно, было бы здорово увидеть пример создания фреймворке общие, которые можно использовать для разных сайтов к примеру, либо фреймворк для самого pytest?
Не думаю, что такое возможно. Все-таки фреймворк создаётся под конкретный сайт, с конкретными локаторами и последовательностями действий, которые возможны только для этого сайта
Весьма наглядно. Само видео требует тестов по проверке качества. К сожалению, в речи упоминаются ссылки, а по факту ссылки не появляются.
Спасибо Вам, что делитесь своими знаниями, хоть, на мой взгляд, и весьма высокомерно по отношению к джунам.
Да ладно вам. Вполне нормально ожидать, что джун тестировщик не будет знать ничего о программировании. А какие ссылки не отображаются? Я то-ли не нашёл, то-ли youtube кому-то их показывает, а кому-то нет.
@@SeniorTester Проверю еще раз. Не показало, почему-то при просмотре.
А по джунам - все ж когда-то джуны. По Вашим видео вполне можно начать разбиратся и понимать что и как. Спасибо!
Спасибо за видео. Подскажите, пожалуйста, а если в рамках одного теста будет использоваться несколько классов страниц (например, начали тест на одной странице, а закончили на другой), как в таком случае происходит инициализация объектов класса? Вначале в переменную присваиваем объект класса страницы main, делаем клик по переходу на вторую страницу с другим классом. В таком случае нужно опять создавать переменную и передавать в нее браузер?
Ну, что-то около того, да.
Добрый день ! Подскажите, пожалуйста, почему может быть, если файл conftest лежит в корне проекта, то тест выдает ошибку из-за того, что фикстуры не найдены (импорт помогает, но должно без него ведь работать), а если файл conftest перенести в папку в тестами, то всё проходит корректно ? В чем причина, не могли бы вы мне подсказать ?
Нужно смотреть на структуру проекта и на то как вы запускаете тесты. Можете мне написать в инстаграм- разберёмся
Огромное спасибо за Ваш труд. Лучшие уроки по данной тематике.
У меня вопрос: как при запуске нового теста оставаться на той же уже открытой странице?
Нужно выбрать скоуп для фикстуры. Если нужно всегда оставаться на одной странице, то можно такие тесты расположить в отдельном файле и фикстуру прописать в этом файле и сделать ей scope='module'
@@SeniorTester спасибо!
Не могу понять в чем проблема, не видел фикстуру я вылечил это закинув conftest в папку tests. теперь он у меня браузер failed “browser = кликнуть->зкрыть все работает , мистика
Охх, ну тут бы на код посмотреть
@@SeniorTester я не знаю как это работает, но на версий питона 3.8 все норм 😅
Добрый день. Подскажите, плиз, это нормально если создать base_page, потом унаследовав ее сделать Login_page, а после все страницы наследовать от Login page, Что бы вызывать методы логина от текущих страниц и не создавать экземпляр класса логин в тесте?
А элементы страницы логина присутствуют на всех страницах, которые вы хотите от неё унаследовать?
Нужно отталкиваться от цели. Возможно то, что вы хотите сделать, делается другими средствами
fixture 'browser' not found выдаёт
Скорее всего, сбились настройки пайчарма. Напишите в сообщения в какую-нибудь мою соцсеть - разберемся
Создайте файл базового класса, создайте BaseClass и унаследуйте вашу фикстуру, затем используйте метод наследования BaseClass во все ваши тесты
Мы больше в fixture не пишем yield?
Если нужны постусловия, то пишем, конечно
Привет, а путь к драйверу или сам драйвер где ?
Уже полтора года как не нужно с ним заморачиваться. Селениум запилил функцию selenium manager, которая сама разруливает все заморочки с драйвером
Здравствуйте, это ж у вас PyCharm?
Да, Pycharm
а где вода минут на 15😁
Блин, сорян, забыл. В следующий раз добавлю 😜