TypeScript 5.2 is now here! 🎉 Now faster with
- 'using' & explicit resource management
- decorator metadata
- easier tuple type notation
- better object completions
- the inline variable refactor
- clickable inlay parameter hints
https://devblogs.microsoft.com/typescript/announcing-typescript-5-2/
Запис чергового "Вечора бруду"
- FPV дрони і чому це нормальна тема для ITшників
- Організація процесу тестування у фіча командах
- SPECIAL: IT і декретна відпустка
https://youtu.be/Vx2mHF8nH6M
Кацапи залишаються без ліцензій Microsoft
https://speka.media/microsoft-pripinyaje-podovzennya-licenzii-klijentiv-u-rf-pj684v
"Рішення написати статтю виникло після серії співбесід, у яких я брав участь як інтерв'юер. Навіть у досвідчених розробників рівня senior, яких я мав за честь співбесідувати, робились круглими очі на запитання про mutation testing".
Владислав Олешко, Software Engineer з AltexSoft, підготував розгорнуту статтю з відповідями на більшість питань про мутаційне тестування 👉 https://dou.ua/goto/LwSp
В субботу пройшов дуже ламповий івент у Львові - qa party hard!
Спікав з оновленою доповіддю на тему - "Як автотести керують браузером?" з якою я виступав в 2021 році.
Дякую Роману Марїнському за організацію!
Gitlab's 2021 Global DevSecOps Survey
Gitlab опубликовал интересную статистику которую они собрали. Включает использование микросервисов, распространение практик разработки и остальное.
Автор дружественного нам канала Node.js Recipes - @galkin_nikita проводит бесплатный воркшоп по использованию Google Cloud Platform
Cloud Study Jam 29-04-2021
http://bit.ly/jam-29042021
Мое основное облако – Google Cloud Platform. Если вы с ним не работали, то я вас приглашаю в этот четверг на Cloud Study Jam. В его ходе вы получите свой первый бейдж на qwiklabs.com.
Так же мы посмотрим как сделать свой определитель адреса по IP, о котором я рассказывал тут.
Пробую новый формат!
Команда Angular выпустила новость - Протрактор поддерживатся больше не будет.
Посмотрим на славную историю протрактора, что происходит сейчас и что ждать
https://youtu.be/OZQRlFaVSHw
📢 В американській продуктовій компанії Klickly (https://jobs.dou.ua/companies/klickly/) відкрита вакансія Test Automation Engineer (JS).
Кандидата очікує різноманітний спектр задач по автоматизації E2E тестів, архітектурі, тест стратегії. Підготовлений і затверджений automation план на 2021
Компанія заохочує професійний розвиток. Відсутність бюрократії і формальних активностей. Вітаються пропозиції і рекомендації в напрямку автоматизації, можливість імплементації власних ідей.
Коротко по вакансії:
* Робота на пряму на каліфорнійську компанію, як independent contractor.
* Remote work з регулярними зустрічами командою в Києві.
* Постійне професійне спілкування англійською і тісна взаємодія з командою.
* Чітка стратегія автоматизації
* Можливі командні business trips в США
Повний опис вакансії:
https://djinni.co/jobs/220643-middle-senior-test-automation-engineer-js-/?new
Питання і резюме можна надсилати в DM @alexanderofdavis або на пошту alexander.tunick@klickly.com
Вышла NodeJS 16!
Согласно графику, эта версия будет актуальной аж до 2024-04-30
- Версия v8 проапгрейджена до 9.0
- Появились промисифицированные варианты функций из timer: await setTimeout(10000)
- А так же появились сборки для Apple Silicon процессоров
Напоминаю что синхронный режим WebdriverIO не будет работать начиная с 16 версии nodejs, и похоже что уже официально будет убран в webdriverio 8.0
https://nodejs.medium.com/node-js-16-available-now-7f5099a97e70
Вышел Chrome 90
Релиз состоялся с некоторой задержкой. Вероятно из-за необходимости исправить некоторые критические уязвимости, обнаруженные на прошедшем недавно Pwn2Own.
Из нового:
- overflow: clip
- Feature Policy API переименован в Permissions Policy (и заголовок соответственно тоже)
- Declarative Shadow DOM (странно, что его выкатили не смотря на то, что там до сих пор есть спорные и нерешённые вопросы)
- https по умолчанию
- AV1, оптимизированный для WebRTC
Ещё:
- новое в DevTools
- задеприкейченные и убранные фичи
- новое в V8
То чего мы ожидали уже долго - случилось.
Fibers не будут работать в nodejs 16 и как результат wdio/sync режим будет сломан.
Nodejs 16 планируется к выпуску до конца апреля.
Здесь идет обсуждение что теперь можно с этим сделать.
Рекомендую подписатся на тред всем кто пишет на синхронном wdio чтобы понимать какое решение будет принято.
https://github.com/webdriverio/webdriverio/discussions/6702
Котики, маю для вас дещо дуже цікаве!
Я абсолютно точно впевнений, що серед підписників каналу є багато QA, тож ця новина буде вам дуже цікава.
Поза лаштунками Теревенів ми з Наталкою Попелишко домовились про дуже цікаву співпрацю, а саме – провести на її каналі спеціальний етер, на якому я б відповідав на запитання від QA про усе, що стосується веброзробки. Якщо вас цікавить, як працює бравзер, чому ваші розробники постійно роблять кислі їбала, яка різниця між HTML і CSS чи ще якісь речі – обовʼязково заповніть форму, куди Наталка збирає ваші запитання!
А щойно назбираємо цікавих питань, одразу анонсуємо етер. Як вам така ідея?
⚡️ ФОРМА, У ЯКУ ТРЕБА ПИСАТИ СВОЇ ПИТАННЯ ПРО ВЕБРОЗРОБКУ, ЯКШО ВИ QA І ХОЧЕТЕ ШОБ У МЕНЕ СТАВСЯ ЕТЕР З ПОПЕЛЮХОЮ ⚡️
Корисні зміни в Chrome DevTools 117
Відтепер у новій версії DevTools для Chrome 117 додано можливість перевизначити (замокати) вміст Fetch / XHR запитів, що є дуже корисним для тестування API.
Ви з легкістю зможете імітувати заголовки відповідей та веб-вміст віддалених ресурсів не чекаючи змін з боку backend частини.
#QA_новини, #інструментарій
#partyHard іііііі таак, ця конфа буде краще!
Ще й в день тестувальника 😍
- Доповіді на величезному екрані кінотеатру 📽️
- кондєй точно нормально працюватиме 🥵🥶
- попкорн, кола та алкоголь під час доповідей ізі пізі
А загалом:
- програма вже складена
- спікери готоуються
- місця поки є, але їх лише 67
https://secure.wayforpay.com/payment/qa_party_hard_2
⚡️Епізод 10: Де тестувальник знаходить час на усе це
У цьому десятому, ювілейному епізоді, Артем та Олександр розповідають трішки більше про себе та діляться практичними порадами про те, де взяти час: як організувати роботу над багатьма задачами та ще й вчити щось нове.
Друзі, це останній епізод першого сезону. Ми йдемо на невеличку перерву і будемо готуватись до нового сезону нашого подкасту!
Залишаємось на зв'язку! А ідеї для нових тем, ви можете написати в коментарі! :)
🔸 YouTube
🔹 Spotify Podcast
🔸 Apple Podcast
🔹 Google Podcast
А ще ви можете підтримати наш подкаст будь яким донатом на Buy Me a Coffee ☕️
Окрім того, за різні підписки ви зможете отримати доступ до закритого чату подкасту, отримувати нові епізоди до самого виходу, а також є можливість присутності під час запису 😏
#testingminutes | Нотатки суворого QA | Test Engineering Notes
Збір на авто 80 оДШБ триває!
Ціль: Збираємо на автомобіль для артилерійського підрозділу 80 оДШБ м.Львова. Хлопці виконують завдання по утилізації загарбника на Лиман-Бахмутському напрямку і потребують потужного прохідного авто
Картка: 5375 4112 0738 1752
раураl: chuk.pavlo@gmail.com
Банка: посилання
П.С. Ви прекрасно знаєте що навіть 10 грн вирішують)
Яким чином налаштовувати конфігурацію додатків у Node.js?
Дванадцятифакторний маніфест стверджує, що для належної конфігурації веб-додатків необхідно використовувати змінні середовища. У Node.js для локальної розробки прийнято використання пакету dotenv. Його завдання полягає в зчитуванні файлу .env та встановленні значень в process.env. У середовищах, відмінних від локального, цей пакет не є необхідним, оскільки існують сучасні підходи для розгортання Node.js не викорістовують .env.
Добрим тоном є перевірка змінних середовища при запуску. Для цього довгий час я використовував dotenv-safe, який є обгорткою навколо dotenv. Додатковою його функцією є перевірка того, що всі змінні з .env.example визначені. Цього було достатньо для моїх проєктів. Тому мені не здається доцільним перевіряти, наприклад, чи є DB_PORT цілим числом або чи є DB_URL дійсним рядком підключення, як це пропонує документація @nestjs/config. Config - це сінглтон, який ви не будете мокувати у тестах.
Але повернемося до dotenv-safe. Його не оновлювали протягом 4 років. Тому замість нього я використовую такий код у config.ts:import { readFileSync } from 'node:fs';
import { join } from 'node:path';
import { config, parse } from 'dotenv';
config({ path: join(__dirname, '..', '.env') });
const missedEnvironmentVariables = Object.keys(parse(readFileSync(join(__dirname, '..', '.env.example')))).filter((exampleKey) => !process.env[exampleKey]);
if (missedEnvironmentVariables.length > 0) throw new Error(`${missedEnvironmentVariables.join(', ')} not configured`);
Уважний читач помітить у цьому коді виклик readFileSync
, що не рекомендується використовувати. А розуміючий побачить цей виклик readFileSync двічі.
Але незабаром цей типовий код у моїх проєктах зміниться. Справа в тому, що у версії 20 Node.js можна буде припинити використовувати dotenv. Зараз активно обговорюється add built-in .env file support. Це є з коробки в Deno/Bun та скоро буде в Node.js. Докладний розгляд цієї фічі я зроблю, коли вона піде в реліз.
Подборка node.recipes за апрель 2021
Рецепты для #nodejs разработчиков:
➡️ Когда можно считать, что вышла новая версия Node.js?
➡️ Как правильно настроить TypeScript в Node.js проекте?
➡️ Как исправить код в node_modules?
➡️ Как протестировать webhook локально?
➡️ Как изменить timezone (часовой пояс) в Node.js?
➡️ Сравнение Nest.js и Koa.js с точки зрения бизнеса
➡️ Как конфигурировать Node.js приложение?
➡️ Как узнать ip пользователя в Node.js?
➡️ Как в Node.js узнать местоположение пользователя?
➡️ Какую версию npm использовать?
➡️ Как правильно написать package.json в проекте?
➡️ Как узнать источник соединение в БД?
➡️ Как вывести в браузер сколько времени обрабатывался запрос на сервере?
➡️ Как померять время выполнения команды в терминале?
➡️ Обзор Node.js v16: AbortController
➡️ Почему разработчикам необходимо знать Cloud сервисы?
freebies:
🤑 Как получить бесплатную Node.js сертификацию?
🤑 Free GitLab Certified Associate
🤑 Бесплатная месячная подписка на O'Reilly
Доклады, которые стоит посмотреть:
👀 The Benefits of a “CLI First” Development Strategy
👀 Serverless Sockets for Real Time
👀 GraphQL Summit Worldwide
👀 Can we double HTTP client throughput?
👀 Кодстайл и насилие
👀 6 способов взломать твое JavaScript приложение
Конференции, которые стоит посетить:
🎤 OpenJS World 2021
🎤 StrapiConf
🎤 Подборка конференций от Cloud провайдеров
В WebdriverIO 7.5.0 появилась новая стратегия поиска элементов которые находятся в shadow dom:const button = $('>>>.dropdown-item:not([hidden])')
https://webdriver.io/docs/selectors/#deep-selectors
Решил так же остановить поддержку своих библиотек:
- protractor-element-extend
- jasmine-protractor-matchers
- generator-modern-protractor
Как правильно написать package.json в проекте?
#package #best_practices
#Nodejs проект начинается с package.json. Давайте посмотрим как правильно его составить для коммерческого кода."name": "@<scope>/<name>"
Хорошая практика использовать scoped package."version": "0.1.0"
SemVer рекомендует начинать именно с 0.1.0"private": true,
Чтобы случайно не опубликовать."license":""UNLICENSED"
Поле license описывает тип Open Source лицензии.
Поля "description"
и "keywords"
используют для поиска в публичном npm. Не указываем их."author": "Company Name",
Имя компании обладающей правом на код"scripts": {
использует одинаковое именование. Единого подхода нет. Подробней"dependencies": {
содержит те пакеты, которые используются в runtime, для FE – во время сборки.
"devDependencies": {
содержит пакеты, которые необходимы для локальной разработки и CI/CD.
Все зависимости не меняются руками. Только в посредством npm install/uninstall
, чтобы изменился package-lock.json.
Организовать порядок в файле помогает sort-package-json. Ставить его нет смысла, поэтому npx sort-package-json
.
=== Реклама ===
🔹Вакансия: Senior QA Automation Engineer в Киев
❓Кто мы
Ignited — продуктовая компания полного цикла, где все проекты проходят этапы от гипотезы до коммерческого запуска, дальнейшего развития и монетизации. Мы ищем QA Automation Engineer, способного написать фреймворк и потенциально возглавить отдел в будущем.
❓ В чем наши преимущества
🔹Полный соцпакет: доход с привязкой к USD, оплачиваемый отпуск/больничный, корпоративная страховка, частичная компенсация языковых курсов, хобби и т.д.
🔹Возможность remote-работы в связи с карантином.
🔹Много возможностей для профессионального развития: курсы, конференции, лекции за счет компании.
🔹Интересные задачи и возможность влиять на проект своими решениями.
❗️ В специалисте важно: знания JavaScript/Java;
опыт в работе со связкой webdriverio + apium + browserstack; опыт автоматизации вебсоккет ответов.
Детальнее можно почитать здесь https://bit.ly/3asalzL или узнать у @atsalik
=== Реклама ===
#QA #JavaScript #NodeJS
📣Middle Automation QA opportunity у Binary Studio!
Наша команда розробляє застосунок, який допомагає знизити шкідливий вплив CO2 на атмосферу, за рахунок розвитку eco-friendly транспорту в Німеччині.
Стек: NodeJS, Postgres, React, React Native, Material UI.
Це можливість саме для тебе, якщо ти:
✔️ Не менше 2 років у тестуванні і добре розбираєшся в автоматизації на JS
✔️ Відмінно орієнтуєшся в SDLC та в тонкощах інструментів автоматизації, як-от Selenium
✔️ Прагнеш реалізувати свої лідерські якості і брати участь в прийнятті стратегічних рішень проекту, напряму спілкуючись з замовником
🔥💲💲Бонуси за рекомендацію!💲💲🔥
Цікавлять деталі? Тоді переходь за посиланням (https://bit.ly/3293uGO) і надсилай нам своє резюме - ми будемо раді розповісти більше! 🎆
Новое видео!
Добавляем конфигурацию в тесты. Долой копипасту URL во всех контроллерах! Будем грузить значения с файла или переменных окружения.
https://www.youtube.com/watch?v=9BjHCVG8Nqk&list=PLEUkJQfJdxsQptXYqu07xwNyc_kcCzX2I&index=9
Christian Bromann (WebdriverIO) подготовил codemod для перевода вашего protractorjs проекта в webdriverio.
Штука пока очень экспериментальная, но любопытствующие могут попробовать
https://github.com/webdriverio/codemod