- 92
- 301 214
Senior Tester | Евгений Окулик
Belarus
Приєднався 13 тра 2023
Меня зовут Евгений Окулик. Я работаю тестировщиком более 15 лет.
Добро пожаловать на мой канал Senior Tester. Будем расти и развиваться вместе.
Я имею огромный опыт в тестировании всевозможных приложений. В своей работе постоянно использую разные возможности автоматизации. Не держу все знания в себе и регулярно делюсь ими.
Я организовал свой собственный курс по тестированию и автоматизации на Python (www.okulik.by), в котором делаю упор на практику и максимальное применение получаемых знаний в условиях, приближенных к реальным.
Добро пожаловать на мой канал Senior Tester. Будем расти и развиваться вместе.
Я имею огромный опыт в тестировании всевозможных приложений. В своей работе постоянно использую разные возможности автоматизации. Не держу все знания в себе и регулярно делюсь ими.
Я организовал свой собственный курс по тестированию и автоматизации на Python (www.okulik.by), в котором делаю упор на практику и максимальное применение получаемых знаний в условиях, приближенных к реальным.
Как спрятать секретную информацию с помощью dotenv
Мой видеокурс по тестированию и автоматизации: okulik.by
Видеокурс без домашних заданий: okulik.by/item/video-nodz/
Выбирай формат или пиши мне - подберем формат под тебя: t.me/okulikby
------------------------------------------------
В автотестах мы часто пользуемся секьюрной информацией, такой как пароли, токены, параметры подключения к базам данных (еще это называют sensitive data). Эту информацию нужно охранять и стараться, чтобы она не попала в чужие руки. В этом видео я покажу как в Python можно удобно работать с такими данными с помощью подхода dotenv.
------------------------------------------------
Мой телеграм канал: t.me/SeniorTesterEugene
Мой LinkedIn: www.linkedin.com/in/eugeneokulik/
Мой Instagram: tester.senior
00:00 хранение данных в системным переменных
02:02 установка dotenv и настройка
05:48 как работает dotenv
08:00 запуск без файла конфигурации
09:10 принцип работы - детально
10:15 фал .env не должен попасть в репозиторий
Видеокурс без домашних заданий: okulik.by/item/video-nodz/
Выбирай формат или пиши мне - подберем формат под тебя: t.me/okulikby
------------------------------------------------
В автотестах мы часто пользуемся секьюрной информацией, такой как пароли, токены, параметры подключения к базам данных (еще это называют sensitive data). Эту информацию нужно охранять и стараться, чтобы она не попала в чужие руки. В этом видео я покажу как в Python можно удобно работать с такими данными с помощью подхода dotenv.
------------------------------------------------
Мой телеграм канал: t.me/SeniorTesterEugene
Мой LinkedIn: www.linkedin.com/in/eugeneokulik/
Мой Instagram: tester.senior
00:00 хранение данных в системным переменных
02:02 установка dotenv и настройка
05:48 как работает dotenv
08:00 запуск без файла конфигурации
09:10 принцип работы - детально
10:15 фал .env не должен попасть в репозиторий
Переглядів: 794
Відео
Работа с системными переменными в Python
Переглядів 636Місяць тому
Мой видеокурс по тестированию и автоматизации: okulik.by Видеокурс без домашних заданий: okulik.by/item/video-nodz/ Выбирай формат или пиши мне - подберем формат под тебя: t.me/okulikby Как избежать хардкода в автотестах и не слить важную информацию всему миру? В этом видео я показываю один из подходов, в следующем видео, с помощью этого подхода, я продемонстрирую еще более универсальный подход...
Как писать ЧИСТЫЕ автотесты на Python
Переглядів 1,2 тис.2 місяці тому
Мой видеокурс по тестированию и автоматизации: okulik.by/video/ Видеокурс без домашних заданий: okulik.by/item/video-nodz/ Выбирай формат или пиши мне - подберем формат под тебя: t.me/okulikby В автотестах важна не только их стабильная работа, но и важно, чтобы с ними было удобно работать и поддерживать их. Чистота кода - один из способов повысить удобство работы с кодом. Создание проекта для т...
Телеграм Бот для Расчета Накоплений. Основы создания телеграм ботов на Python
Переглядів 4912 місяці тому
Мой видеокурс по тестированию и автоматизации: okulik.by/video/ Видеокурс без домашних заданий: okulik.by/item/video-nodz/ Выбирай формат или пиши мне - подберем формат под тебя: t.me/okulikby Ссылка на телеграм бота для расчета накоплений: t.me/retirement_calc_bot Телеграм канал Коли об инвестициях: t.me/ eufDqPUVkj1kNGVi Колин курс по основам инвестиций: sascheko.com/ Телеграм боты сейчас ест...
Как Накопить на Пенсию и Не Работать: Считаем Деньги для Жизни Мечты
Переглядів 7782 місяці тому
Мой курс по тестированию и автоматизации: Занятия в группе: okulik.by/ Видеокурс с домашними заданиями: okulik.by/video/ Видеокурс без домашних заданий: okulik.by/item/video-nodz/ Выбирай формат или пиши мне - подберем формат под тебя: t.me/okulikby Научившись программировать, руки чешутся создать что-то интересное. И вот я решил сделать калькулятор, в котором посчитаю сколько нужно денег на ра...
Создание и настройка репозитория в GitHub
Переглядів 9454 місяці тому
Конференции Podlodka - это встречи с экспертами по актуальным темам для IT-специалистов, с упором на прикладную пользу. Сессии проходят утром и вечером, чтобы вы могли легко встроить обучение в свой график. Билеты уже в продаже: podlodka.io/qacrew?SeniorTester_youtube Мой курс по тестированию и автоматизации: Занятия в группе: okulik.by/ Видеокурс с домашними заданиями: okulik.by/video/ Видеоку...
Полный путь создания автотестов с НУЛЕВЫМИ знаниями в программировании.
Переглядів 15 тис.4 місяці тому
Мой курс по тестированию и автоматизации: okulik.by/ Выбирай формат или пиши мне - подберем формат под тебя: t.me/okulikby Это запись вебинара где я рассказал о том, как построить проект по автоматизации тестирования с полного нуля. Начали с основ программирования, создали автотесты, сделали для них правильную структуру и запустили автотесты в GitHub. Мой телеграм канал: t.me/SeniorTesterEugene...
Даём автотестам инструкции при запуске
Переглядів 1 тис.5 місяців тому
Мой курс по тестированию и автоматизации: Занятия в группе: okulik.by/ Видеокурс с домашними заданиями: okulik.by/video/ Видеокурс без домашних заданий: okulik.by/item/video-nodz/ Выбирай формат или пиши мне - подберем формат под тебя: t.me/okulikby При запуске автотестов нам бывает нужно управлять тем на каком окружении они запустятся, в каком браузере. Для этого можно использовать аргументы, ...
Как давать программе на Python инструкции при запуске
Переглядів 9325 місяців тому
Мой курс по тестированию и автоматизации: Занятия в группе: okulik.by/ Видеокурс с домашними заданиями: okulik.by/video/ Видеокурс без домашних заданий: okulik.by/item/video-nodz/ Выбирай формат или пиши мне - подберем формат под тебя: t.me/okulikby Иногда нам недостаточно запустить программу, а нужно ей дать при запуске дополнительные инструкции. В этом видео я покажу как научить программу пон...
Варианты добавления проверок в автотесты
Переглядів 1,5 тис.5 місяців тому
Варианты добавления проверок в автотесты
Allure report внутри проекта. Какие особенности?
Переглядів 1,7 тис.7 місяців тому
Allure report внутри проекта. Какие особенности?
Playwright: Создание проекта с автотестами - page-object model
Переглядів 4 тис.8 місяців тому
Playwright: Создание проекта с автотестами - page-object model
Playwright на Python - айфреймы, алерты, вкладки, селекты
Переглядів 2,7 тис.8 місяців тому
Playwright на Python - айфреймы, алерты, вкладки, селекты
Как подменить трафик во время выполнения автотестов - Playwright
Переглядів 2,9 тис.9 місяців тому
Как подменить трафик во время выполнения автотестов - Playwright
API и backend - что в них можно потестировать?
Переглядів 3,1 тис.9 місяців тому
API и backend - что в них можно потестировать?
Playwright на Python - первые тесты. Современная АЛЬТЕРНАТИВА SELENIUM
Переглядів 8 тис.10 місяців тому
Playwright на Python - первые тесты. Современная АЛЬТЕРНАТИВА SELENIUM
Backend и API - Создание проекта (фреймворка) по автоматизации тестирования на Python
Переглядів 5 тис.10 місяців тому
Backend и API - Создание проекта (фреймворка) по автоматизации тестирования на Python
Backend и API - автоматизация тестирования на Python
Переглядів 10 тис.10 місяців тому
Backend и API - автоматизация тестирования на Python
Оповещение в Slack и Telegram о результатах автотестов
Переглядів 1,3 тис.11 місяців тому
Оповещение в Slack и Telegram о результатах автотестов
Как обучиться на автоматизатора и не выгореть
Переглядів 1,7 тис.11 місяців тому
Как обучиться на автоматизатора и не выгореть
На что способен Python автоматизатор
Переглядів 1,6 тис.11 місяців тому
На что способен Python автоматизатор
8 вещей, о которых я хотел бы знать в начале карьеры
Переглядів 1,9 тис.11 місяців тому
8 вещей, о которых я хотел бы знать в начале карьеры
Как писать автотесты на Python когда ты ПОЛНЫЙ НОЛЬ в программировании
Переглядів 2,8 тис.11 місяців тому
Как писать автотесты на Python когда ты ПОЛНЫЙ НОЛЬ в программировании
НЕ ВСЕГДА автотесты должны быть написаны на ЯЗЫКЕ ПРОГРАММИРОВАНИЯ
Переглядів 1,5 тис.11 місяців тому
НЕ ВСЕГДА автотесты должны быть написаны на ЯЗЫКЕ ПРОГРАММИРОВАНИЯ
Минимум ручных тестов, МАКСИМУМ АВТОМАТИЗАЦИИ!
Переглядів 639Рік тому
Минимум ручных тестов, МАКСИМУМ АВТОМАТИЗАЦИИ!
Автоматизация сбора данных. Подработка для автоматизаторов?
Переглядів 1,2 тис.Рік тому
Автоматизация сбора данных. Подработка для автоматизаторов?
Allure SERVER. Альтернатива GitHub и GitLab pages.
Переглядів 1,7 тис.Рік тому
Allure SERVER. Альтернатива GitHub и GitLab pages.
Пошаговая настройка запуска автотестов в GitLab CI. Python, Pytest, Selenium, Allure
Переглядів 8 тис.Рік тому
Пошаговая настройка запуска автотестов в GitLab CI. Python, Pytest, Selenium, Allure
Евгений огромное спасибо) Очень сложная тема для меня. Придя на работу, в которой уже сделали миллион тестов с миллионом страниц невероятно сложно проследить все зависимости.
Бляя, заебись Очень много не в тему Зачем так делать? Зачем птицы Объяснил бы с более подходящим примером
Хорошая штука
200 тестов, в кажом тесте ожидания по 4 сек, все тесты ранятся параллельно, то есть все 200 тестов будут ждать 4 сек а не 200 * 4, почему неьлзя применить параллелизм?
все супер доходчиво
А селекторы элементов нужно хранить ведь внутри класса а не снаружи? например в самом конструкторе? типо __init__(): btn=''selector"
Спасибо. Лучшее видео, что я видел и во многом благодаря ему настроил свой пайплайн.
А названия файлов разве не должны быть такими BasePage SimpleButton
В питоне есть требования ко всему. Большие буквы могут быть быть в трех местах: классы, True/False, None Всё остальное пишется с использованием snake case
@SeniorTester но согласно POM названия файлов-страниц должны разделяться через верхний регистр
Названия классов да, но файлы зачем?
Привет. На мой взгляд вы путаете людей. В вашем коде, в классе Sparrow, запись size = ‘small’ - это свойство (или атрибут) класса, но не объекта класса. Когда вы создали два объекта, или экземпляра класса, то есть двух воробьёв, и назначили одному из них size = ’medium’, то на самом деле вы создали свойство объекта у этого пыжика - size со значением ‘medium’, а свойство его класса Bird по-прежнему - ‘small’. Если вы вызовите метод _dict_ у чижика и пыжика, то у пыжика вы увидите {'size': 'medium'}, а у чижика пустой словарь {}. Это потому, что у чижика нет такого свойства как размер, это свойство его класса и при попытке обратится к свойству .size у чижика, пайтон покажет свойство его класса. А вот у пыжика уже покажет свойство size этого объекта - ‘medium’, потому что вы его туда прописали командой pyzhick.size = ‘medium’. Хотя свойство size его класса Sparrow по прежнему - ‘small’. Это легко проверить. Выведите pyzhick.__class__.size и вы увидите - ‘small’. Я понимаю, что вы умышленно не стали упоминать и прописывать конструктор (def __init__) со свойствами объектов класса, чтобы не усложнять. Но вы научили людей путать свойство класса со свойствами объекта класса, которые у вас не прописаны. На мой субъективный взгляд, лучше начинать с объяснения понимать свойства объектов класса, а потом уже свойства классов.
"dicker" - оговорочка по Фрейду)))
Браво потратил сутки чтоб все довести до идеала столько умников записывает ролики по 4 часа, а все так просто не связывайтесь с HTPPS и будет вам счастья спасибо за краткость и рабочий вариант. Все🤩 работает слишком хорошо надеюсь в этом нет каких-то подводных камней...
Купил курс за $50 , полный отстой. Просмотрел несколько уроков и понял это развод. Если нравитсо смотрите бесплатно, за деньги забудте. Требую возврат !!!
Здравствуйте. Мне очень жалко, что вам не понравился мой курс. Когда выкладываете отзыв публично, не забывайте указать детали: что именно вам не понравилось в курсе?
Купил курс за $50 , полный отстой. Просмотрел несколько уроков и понял это развод. Если нравитсо смотрите бесплатно, за деньги забудте. Требую возврат !!!
Купил курс за $50 , полный отстой. Просмотрел несколько уроков и понял это развод. Если нравитсо смотрите бесплатно, за деньги забудте. Требую возврат !!!
Купил курс за $50 , полный отстой. Просмотрел несколько уроков и понял это развод. Если нравитсо смотрите бесплатно, за деньги забудте. Требую возврат !!!
Купил курс за $50 , полный отстой. Просмотрел несколько уроков и понял это развод. Если нравитсо смотрите бесплатно, за деньги забудте. Требую возврат !!!
А можно более развернутый ответ? Что там не так в отличии от видео на канале?
Если перед пейпланом, в котором надо получить артефакты из pages, будет pipeline без этапа pages, то артефакты не будут получены. Т.е. если в CI будет несколько pipeline на одну и ту же ветку и pages будет не в каждом pipeline, то получение артефактов не будет правильно работать.
Как ставить галочку на пользовательских соглашений ?
написал pytest --header выдало ошибку: ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: unrecognized arguments: --header inifile: None rootdir: here_was_my_path гпт не понимает в чем у меня проблема, подскажите
Спасибо. Я так и не понял, зачем нужно менять интерпретатор на новый. При глобальном (или системном) интерпретаторе команда pip list выдаёт тот же результат - установлен только pip
А что значит менять на новый?
@@SeniorTester имел в виду на другой. В видео после создания виртуального окружения вы меняете системный интерпретатор на интерпретатор виртуального окружения. На обоих интерпретаторах в списке установленных библиотек находится только pip. Вот и спрашиваю, зачем менять интерпретатор?
Спасибо автору видео! Все понятно и грамотно изложено! Видео однозначно нужно в рекомендации и топ выдачи!! Успехов и благополучия автору!
У меня вопросик по delete. У нас есть тест, который делает delete, и проверяет что статус код 200, т.е. объект удален. Но Так же мы создали фикстуру, которая так же удаляет. Т.е. снова. Следовательно вопрос: нормальная ли практика это? или надо для подобных вот случаев делать отдельные фикстуры? Например только на создание в данном случае.
а чем git actions отличается от git lab?
Спасибо!
У птицы четыре ноги, Позади у нее длинный хвост; Но трогать ее не моги За ее малый рост, малый рост!
беспорядок в плейлистах, все перемешано, темы, порядок, дублируются одинаковые видео в разных плейлистах((
Дублируются - это потому что некоторые темы относятся сразу к нескольким плейлистам. Последовательность я не сильно пытался соблюдать. Плейлисты больше использую как распределение видео по темам. Посмотрю, если можно какую-то последовательность сделать, то сделаю
Ждем видео про mock) Смотрелв се втои видео, хороший подход и хорошо все объяснешь.
Mock в тестировании не нужен. Если не согласны, то напишите сценарий, в котором в тестировании нужен мок и тогда я сделаю видео о моках.
Я бы конечно делал чтобы был один класс для данной категории, скажем есть , а то выходит слишком громоздко.
Для какой категории?
Дякую) Дуже класний контент
Поленое видео ! Было бы интересно посмотреть, как настроить переменные в github actions)
Да, это нужно было в это видео впихнуть) Но там не сожно тоже в пару местах просписать и усе.
я который пишу тесты на аппиуме плюс селениум с близко к чистому коду просто рассортировывая все по классам папочкам в аккурате буквально с опытом написания в соло фреймворка плс с опытом работы компьютерного зрения в тестах и тестов бэкенда работы с sql и плюс еще 100500 инструментов плюс опыт коммерческой разработки в год и которого не берут на джуна.
Да, рынок сейчас дурной
Этот способ позволят нам убрать кортежи из кода, очень удобно))
Спасибо Вам большое! Многое разложилось по полочкам из изученного ❤👍 очень круто
Продолжай в том же духе) мы следим за твоими выпусками)
Я всегда подозревал, что кто-то за мной следит)))
с возращением Женя
Безопасники не скажут спасибо за .env. Безопасники скажут спасибо за Vault
Ну, это тема не этого видео, а, может, и не этого канала
волд , общается с волд агетом)
test_create_object мусорит)
Здравствуйте, с Украины возможно оплатить?
А я думал, что полиморфизм это когда один и тот же код может работать с разными типами данных
Евгений, , в чем разница между конструкциями with allure.step и @allure.step?
В том, что одна из них декоратор, а вторая нет. Декоратор позволяет помечать методы, которые будут являться степами. Если использовать в менеджер контекста, то степом можно сделать любой кусок кода
@@SeniorTester теперь дошло, спасибо!)
Отличные видосы. Даже я научился))
а что делать, если по css селектору не могу найти? вот есть 4 элемента на странице, они одинаково обозваны. div.standard-card__price. Вот как мне именно третий такой выбрать на странице? Подскажите, пожалуйста
И в css селекторе и в xpath можно указать какой по счёту элемент нужен
@ спасибо
Вопрос.16:45. В строке 17 тоже стоит print. Почему ее результат не выводится в терминал, а только print в строках 24, 25
Потому что строка 17 внутри функции, которую не вызывали. Её не вызывал, значит, код, который внутри неё не работает
Евгений, спасибо за Ваши уроки, все четко! <h2 id="In_the_news" class="mp-h2">In the news</h2> <h2 id="On_this_day" class="mp-h2">On this day</h2> а если у двух разных элементов одинаковые классы, но разные id, то протестировать по классам никак нельзя?
так ты слона не продашь
Какого слона?
Разница между ВМ и докер контейнером в том, что ВМ считает себя настоящим физическим ПК с CPU, RAM и HDD, а каждый докер контейнер (независимо от их количества) считает себя единственной во вселенной серверной ОС на базе Linux, которая на догадывается о существовании в природе других ОС и функционирует за счет каких-то внешних аппаратных ресурсов. Процессы в докер-контейнерах, это как параллельные версии матрицы, которые функционируют изолированно и независимо от процессов реального внешнего мира (от софта и процессов на вашем ПК) и параллельно и изолированно друг от друга (от других докер контейнеров, софта и процессов внутри них).
Про тестирование API вроде понятно Про тестирование Backend не совсем
Фишка в том, что это одно и то же. Просто в апи летят запросы от пользователя, а в бэкенд те же запросы летят от фронта
Подскажите , вроде бы все сделал так как в уроке , а при запуске теста пишет ModuleNotFoundError : No module named 'endpoints', хотя папка такая есть ...и я успешно импортирую класс из файлов в этой папке. Как такое может быть ?
Для того, чтобы ответить, нужно видеть структуру вашего проекта.
Интересно посмотреть "где могут жить тестовые данные" с примером
ua-cam.com/video/KB_pIxzvwFQ/v-deo.html
спасибо! очень полезное видео!