Senior Tester | Евгений Окулик
Senior Tester | Евгений Окулик
  • 92
  • 301 214
Как спрятать секретную информацию с помощью 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 не должен попасть в репозиторий
Переглядів: 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Рік тому
Минимум ручных тестов, МАКСИМУМ АВТОМАТИЗАЦИИ!
Найти баги там где их нет
Переглядів 803Рік тому
Найти баги там где их нет
Автоматизация сбора данных. Подработка для автоматизаторов?
Переглядів 1,2 тис.Рік тому
Автоматизация сбора данных. Подработка для автоматизаторов?
Allure SERVER. Альтернатива GitHub и GitLab pages.
Переглядів 1,7 тис.Рік тому
Allure SERVER. Альтернатива GitHub и GitLab pages.
Что найдет бот, блуждая по интернету?
Переглядів 615Рік тому
Что найдет бот, блуждая по интернету?
Пошаговая настройка запуска автотестов в GitLab CI. Python, Pytest, Selenium, Allure
Переглядів 8 тис.Рік тому
Пошаговая настройка запуска автотестов в GitLab CI. Python, Pytest, Selenium, Allure

КОМЕНТАРІ

  • @vladimirkireevakavaldevay6110
    @vladimirkireevakavaldevay6110 3 години тому

    Евгений огромное спасибо) Очень сложная тема для меня. Придя на работу, в которой уже сделали миллион тестов с миллионом страниц невероятно сложно проследить все зависимости.

  • @zukhriddinkosimzhonov2858
    @zukhriddinkosimzhonov2858 4 дні тому

    Бляя, заебись Очень много не в тему Зачем так делать? Зачем птицы Объяснил бы с более подходящим примером

  • @ДмитрийБелов-й2е
    @ДмитрийБелов-й2е 5 днів тому

    Хорошая штука

  • @Good_nick_name
    @Good_nick_name 5 днів тому

    200 тестов, в кажом тесте ожидания по 4 сек, все тесты ранятся параллельно, то есть все 200 тестов будут ждать 4 сек а не 200 * 4, почему неьлзя применить параллелизм?

  • @ludmilazazerina2330
    @ludmilazazerina2330 5 днів тому

    все супер доходчиво

  • @Good_nick_name
    @Good_nick_name 6 днів тому

    А селекторы элементов нужно хранить ведь внутри класса а не снаружи? например в самом конструкторе? типо __init__(): btn=''selector"

  • @АртемКурто-м5ч
    @АртемКурто-м5ч 6 днів тому

    Спасибо. Лучшее видео, что я видел и во многом благодаря ему настроил свой пайплайн.

  • @Ghosts-xf8tz
    @Ghosts-xf8tz 8 днів тому

    А названия файлов разве не должны быть такими BasePage SimpleButton

    • @SeniorTester
      @SeniorTester 7 днів тому

      В питоне есть требования ко всему. Большие буквы могут быть быть в трех местах: классы, True/False, None Всё остальное пишется с использованием snake case

    • @Ghosts-xf8tz
      @Ghosts-xf8tz 7 днів тому

      @SeniorTester но согласно POM названия файлов-страниц должны разделяться через верхний регистр

    • @SeniorTester
      @SeniorTester 4 дні тому

      Названия классов да, но файлы зачем?

  • @AIIRhPlus
    @AIIRhPlus 8 днів тому

    Привет. На мой взгляд вы путаете людей. В вашем коде, в классе 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__) со свойствами объектов класса, чтобы не усложнять. Но вы научили людей путать свойство класса со свойствами объекта класса, которые у вас не прописаны. На мой субъективный взгляд, лучше начинать с объяснения понимать свойства объектов класса, а потом уже свойства классов.

  • @barabax
    @barabax 9 днів тому

    "dicker" - оговорочка по Фрейду)))

  • @kostyagerman9806
    @kostyagerman9806 9 днів тому

    Браво потратил сутки чтоб все довести до идеала столько умников записывает ролики по 4 часа, а все так просто не связывайтесь с HTPPS и будет вам счастья спасибо за краткость и рабочий вариант. Все🤩 работает слишком хорошо надеюсь в этом нет каких-то подводных камней...

  • @kpanfilov
    @kpanfilov 10 днів тому

    Купил курс за $50 , полный отстой. Просмотрел несколько уроков и понял это развод. Если нравитсо смотрите бесплатно, за деньги забудте. Требую возврат !!!

    • @SeniorTester
      @SeniorTester 10 днів тому

      Здравствуйте. Мне очень жалко, что вам не понравился мой курс. Когда выкладываете отзыв публично, не забывайте указать детали: что именно вам не понравилось в курсе?

  • @kpanfilov
    @kpanfilov 10 днів тому

    Купил курс за $50 , полный отстой. Просмотрел несколько уроков и понял это развод. Если нравитсо смотрите бесплатно, за деньги забудте. Требую возврат !!!

  • @kpanfilov
    @kpanfilov 10 днів тому

    Купил курс за $50 , полный отстой. Просмотрел несколько уроков и понял это развод. Если нравитсо смотрите бесплатно, за деньги забудте. Требую возврат !!!

  • @kpanfilov
    @kpanfilov 10 днів тому

    Купил курс за $50 , полный отстой. Просмотрел несколько уроков и понял это развод. Если нравитсо смотрите бесплатно, за деньги забудте. Требую возврат !!!

  • @kpanfilov
    @kpanfilov 10 днів тому

    Купил курс за $50 , полный отстой. Просмотрел несколько уроков и понял это развод. Если нравитсо смотрите бесплатно, за деньги забудте. Требую возврат !!!

    • @ambruciy
      @ambruciy 8 днів тому

      А можно более развернутый ответ? Что там не так в отличии от видео на канале?

  • @Asakra-irk
    @Asakra-irk 11 днів тому

    Если перед пейпланом, в котором надо получить артефакты из pages, будет pipeline без этапа pages, то артефакты не будут получены. Т.е. если в CI будет несколько pipeline на одну и ту же ветку и pages будет не в каждом pipeline, то получение артефактов не будет правильно работать.

  • @justsmile5705
    @justsmile5705 12 днів тому

    Как ставить галочку на пользовательских соглашений ?

  • @KotakLanswill
    @KotakLanswill 13 днів тому

    написал pytest --header выдало ошибку: ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: unrecognized arguments: --header inifile: None rootdir: here_was_my_path гпт не понимает в чем у меня проблема, подскажите

  • @ВладВихновский
    @ВладВихновский 16 днів тому

    Спасибо. Я так и не понял, зачем нужно менять интерпретатор на новый. При глобальном (или системном) интерпретаторе команда pip list выдаёт тот же результат - установлен только pip

    • @SeniorTester
      @SeniorTester 16 днів тому

      А что значит менять на новый?

    • @ВладВихновский
      @ВладВихновский 15 днів тому

      @@SeniorTester имел в виду на другой. В видео после создания виртуального окружения вы меняете системный интерпретатор на интерпретатор виртуального окружения. На обоих интерпретаторах в списке установленных библиотек находится только pip. Вот и спрашиваю, зачем менять интерпретатор?

  • @ТестировщикНиконов

    Спасибо автору видео! Все понятно и грамотно изложено! Видео однозначно нужно в рекомендации и топ выдачи!! Успехов и благополучия автору!

  • @MaxRusin-d1o
    @MaxRusin-d1o 22 дні тому

    У меня вопросик по delete. У нас есть тест, который делает delete, и проверяет что статус код 200, т.е. объект удален. Но Так же мы создали фикстуру, которая так же удаляет. Т.е. снова. Следовательно вопрос: нормальная ли практика это? или надо для подобных вот случаев делать отдельные фикстуры? Например только на создание в данном случае.

  • @MaxRusin-d1o
    @MaxRusin-d1o 23 дні тому

    а чем git actions отличается от git lab?

  • @antonk4475
    @antonk4475 23 дні тому

    Спасибо!

  • @alexneigh7089
    @alexneigh7089 24 дні тому

    У птицы четыре ноги, Позади у нее длинный хвост; Но трогать ее не моги За ее малый рост, малый рост!

  • @ИгорьТрофимов-ш8з
    @ИгорьТрофимов-ш8з 25 днів тому

    беспорядок в плейлистах, все перемешано, темы, порядок, дублируются одинаковые видео в разных плейлистах((

    • @SeniorTester
      @SeniorTester 25 днів тому

      Дублируются - это потому что некоторые темы относятся сразу к нескольким плейлистам. Последовательность я не сильно пытался соблюдать. Плейлисты больше использую как распределение видео по темам. Посмотрю, если можно какую-то последовательность сделать, то сделаю

  • @pechatnik
    @pechatnik 26 днів тому

    Ждем видео про mock) Смотрелв се втои видео, хороший подход и хорошо все объяснешь.

    • @SeniorTester
      @SeniorTester 25 днів тому

      Mock в тестировании не нужен. Если не согласны, то напишите сценарий, в котором в тестировании нужен мок и тогда я сделаю видео о моках.

  • @pechatnik
    @pechatnik 26 днів тому

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

    • @SeniorTester
      @SeniorTester 25 днів тому

      Для какой категории?

  • @andreyandreyovich5454
    @andreyandreyovich5454 28 днів тому

    Дякую) Дуже класний контент

  • @azamatv.8585
    @azamatv.8585 28 днів тому

    Поленое видео ! Было бы интересно посмотреть, как настроить переменные в github actions)

    • @pechatnik
      @pechatnik 26 днів тому

      Да, это нужно было в это видео впихнуть) Но там не сожно тоже в пару местах просписать и усе.

  • @onetown2070
    @onetown2070 28 днів тому

    я который пишу тесты на аппиуме плюс селениум с близко к чистому коду просто рассортировывая все по классам папочкам в аккурате буквально с опытом написания в соло фреймворка плс с опытом работы компьютерного зрения в тестах и тестов бэкенда работы с sql и плюс еще 100500 инструментов плюс опыт коммерческой разработки в год и которого не берут на джуна.

    • @SeniorTester
      @SeniorTester 28 днів тому

      Да, рынок сейчас дурной

  • @ШашлычникСаня
    @ШашлычникСаня 29 днів тому

    Этот способ позволят нам убрать кортежи из кода, очень удобно))

  • @lolasworld3252
    @lolasworld3252 Місяць тому

    Спасибо Вам большое! Многое разложилось по полочкам из изученного ❤👍 очень круто

  • @ДмитрийКолесник-т3м

    Продолжай в том же духе) мы следим за твоими выпусками)

    • @SeniorTester
      @SeniorTester 29 днів тому

      Я всегда подозревал, что кто-то за мной следит)))

  • @ШашлычникСаня
    @ШашлычникСаня Місяць тому

    с возращением Женя

  • @elgambrero
    @elgambrero Місяць тому

    Безопасники не скажут спасибо за .env. Безопасники скажут спасибо за Vault

    • @SeniorTester
      @SeniorTester Місяць тому

      Ну, это тема не этого видео, а, может, и не этого канала

    • @ШашлычникСаня
      @ШашлычникСаня 29 днів тому

      волд , общается с волд агетом)

  • @pilotik9695
    @pilotik9695 Місяць тому

    test_create_object мусорит)

  • @РоманРоман-ъ5щ8т
    @РоманРоман-ъ5щ8т Місяць тому

    Здравствуйте, с Украины возможно оплатить?

  • @igora6367
    @igora6367 Місяць тому

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

  • @СергейИгонин-п3п
    @СергейИгонин-п3п Місяць тому

    Евгений, , в чем разница между конструкциями with allure.step и @allure.step?

    • @SeniorTester
      @SeniorTester Місяць тому

      В том, что одна из них декоратор, а вторая нет. Декоратор позволяет помечать методы, которые будут являться степами. Если использовать в менеджер контекста, то степом можно сделать любой кусок кода

    • @СергейИгонин-п3п
      @СергейИгонин-п3п Місяць тому

      @@SeniorTester теперь дошло, спасибо!)

  • @lordagajoe9111
    @lordagajoe9111 Місяць тому

    Отличные видосы. Даже я научился))

  • @lordagajoe9111
    @lordagajoe9111 Місяць тому

    а что делать, если по css селектору не могу найти? вот есть 4 элемента на странице, они одинаково обозваны. div.standard-card__price. Вот как мне именно третий такой выбрать на странице? Подскажите, пожалуйста

    • @SeniorTester
      @SeniorTester Місяць тому

      И в css селекторе и в xpath можно указать какой по счёту элемент нужен

    • @lordagajoe9111
      @lordagajoe9111 Місяць тому

      @ спасибо

  • @a..7307
    @a..7307 Місяць тому

    Вопрос.16:45. В строке 17 тоже стоит print. Почему ее результат не выводится в терминал, а только print в строках 24, 25

    • @SeniorTester
      @SeniorTester Місяць тому

      Потому что строка 17 внутри функции, которую не вызывали. Её не вызывал, значит, код, который внутри неё не работает

  • @_samuro_
    @_samuro_ Місяць тому

    Евгений, спасибо за Ваши уроки, все четко! <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, то протестировать по классам никак нельзя?

  • @АлексейТарасов-д6д

    так ты слона не продашь

  • @СергейИгонин-п3п
    @СергейИгонин-п3п Місяць тому

    Разница между ВМ и докер контейнером в том, что ВМ считает себя настоящим физическим ПК с CPU, RAM и HDD, а каждый докер контейнер (независимо от их количества) считает себя единственной во вселенной серверной ОС на базе Linux, которая на догадывается о существовании в природе других ОС и функционирует за счет каких-то внешних аппаратных ресурсов. Процессы в докер-контейнерах, это как параллельные версии матрицы, которые функционируют изолированно и независимо от процессов реального внешнего мира (от софта и процессов на вашем ПК) и параллельно и изолированно друг от друга (от других докер контейнеров, софта и процессов внутри них).

  • @igora6367
    @igora6367 Місяць тому

    Про тестирование API вроде понятно Про тестирование Backend не совсем

    • @SeniorTester
      @SeniorTester Місяць тому

      Фишка в том, что это одно и то же. Просто в апи летят запросы от пользователя, а в бэкенд те же запросы летят от фронта

  • @firetapshow7098
    @firetapshow7098 Місяць тому

    Подскажите , вроде бы все сделал так как в уроке , а при запуске теста пишет ModuleNotFoundError : No module named 'endpoints', хотя папка такая есть ...и я успешно импортирую класс из файлов в этой папке. Как такое может быть ?

    • @SeniorTester
      @SeniorTester Місяць тому

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

  • @igora6367
    @igora6367 Місяць тому

    Интересно посмотреть "где могут жить тестовые данные" с примером

    • @SeniorTester
      @SeniorTester Місяць тому

      ua-cam.com/video/KB_pIxzvwFQ/v-deo.html

  • @ЕленаФилатова-е1в
    @ЕленаФилатова-е1в Місяць тому

    спасибо! очень полезное видео!