⚡️ Вийшло нове відео ⚡️
Десь 3 тижні тому DOU | QA проводили войсчат присвячений тестуванню API.
Там прозвучало питання - ❓а яку мову обрати для автоматизації тестування API?❓
Це і надихнуло мене зняти це відео, подивіться будь ласка ❤️
🤗 В відео нема конкретної прив'язки до автоматизації API тож я трох напишу про це тут.
* Рано чи пізно запишу курс по автоматизації API за допомогою Playwright
* Автоматизація тестування API це дуже просто, хоча здається що складно.
Алгоритм:
1) обираєте будь яку бібліотеку для відправки Rest запитів (GET, POST, PUT, DELETE...) * наприклад для node.js це Axios, а для JAVA це rest-assured
2) якщо навичок в програмуванні недостатньо, використовуйте Postman
3) будуєте необхідний Request
4) відправляєте його на endpoint
5) перевіряєте отриманий Response
6) profit ✅
Звичайно є багато малих нюансів, про які ми обов'язково поговоримо в наступних відео ☀️
telegram youtube канал
Десь 3 тижні тому DOU | QA проводили войсчат присвячений тестуванню API.
Там прозвучало питання - ❓а яку мову обрати для автоматизації тестування API?❓
Це і надихнуло мене зняти це відео, подивіться будь ласка ❤️
🤗 В відео нема конкретної прив'язки до автоматизації API тож я трох напишу про це тут.
* Рано чи пізно запишу курс по автоматизації API за допомогою Playwright
* Автоматизація тестування API це дуже просто, хоча здається що складно.
Алгоритм:
1) обираєте будь яку бібліотеку для відправки Rest запитів (GET, POST, PUT, DELETE...) * наприклад для node.js це Axios, а для JAVA це rest-assured
2) якщо навичок в програмуванні недостатньо, використовуйте Postman
3) будуєте необхідний Request
4) відправляєте його на endpoint
5) перевіряєте отриманий Response
6) profit ✅
Звичайно є багато малих нюансів, про які ми обов'язково поговоримо в наступних відео ☀️
telegram youtube канал
👍3
☀️шпаргалка по використанню CSS Selectors ☀️
алгоритм по створенню CSS Selectors
1) є id? - Використайте його.
2) є унікальний атрибут (наприклад placeholder, title, name)? - Використайте його.
3) Якщо цього всього нема то використовуйте комбінації (tag[parentElement] [childElement])
4) Класи використовуйте якщо не виходить з id чи атрибутами, або в комбінації з ними
.css-1avyp1d img[decoding= 'async']
5) Для класів можете використовувати contains функції
[class *= '1avyp1d'] img[decoding= 'async']
📎 Посилання на шпаргалку CSS Selector: https://bit.ly/47pPoS0
📎 Відео по темі СSS Selector: https://youtu.be/ZA-w7CsqwY0
#css #selector
telegram youtube канал
алгоритм по створенню CSS Selectors
1) є id? - Використайте його.
2) є унікальний атрибут (наприклад placeholder, title, name)? - Використайте його.
3) Якщо цього всього нема то використовуйте комбінації (tag[parentElement] [childElement])
4) Класи використовуйте якщо не виходить з id чи атрибутами, або в комбінації з ними
.css-1avyp1d img[decoding= 'async']
5) Для класів можете використовувати contains функції
[class *= '1avyp1d'] img[decoding= 'async']
📎 Посилання на шпаргалку CSS Selector: https://bit.ly/47pPoS0
📎 Відео по темі СSS Selector: https://youtu.be/ZA-w7CsqwY0
#css #selector
telegram youtube канал
GitHub
test-automation-example/cheat-sheets/css-selectors.md at main · qa-senpai/test-automation-example
Contribute to qa-senpai/test-automation-example development by creating an account on GitHub.
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Особисто мав справу лише з
- REST
- SOAP
- GraphQL
- WebSockets
- Webhooks
- REST
- SOAP
- GraphQL
- WebSockets
- Webhooks
👍1
📹з відео про першу мову програмування вибрав коментарі які на мій погляд добре доповнюють і розширюють зміст відео.
А, що ви думаєте❓
А, що ви думаєте❓
👍2
🇺🇦 Доброго дня, вітаю з Днем Державного прапору 🇺🇦
qa семпай випустив відео про композицію і як її застосувати для створення модульних і якісних page object model.
А тут я напишу свої думки про важливість об'єктно орієнтованого програмування (далі ооп) для інженера з автоматизації тестування.
1️⃣ ооп неможливо “вивчити”, його можна тільки зрозуміти регулярно займаючись дизайном систем за допомогою цієї парадигми
2️⃣ без "розуміння" можна дуже довго і результативно працювати, написання автоматизованих тестів не вимагає застосування ооп, більше того, інколи це може бути шкідливим і призвести до надмірної "складності" системи
3️⃣ ооп необхідно якщо ви будуєте систему автоматизації тестування "на роки", якщо ваша автоматизація це на довго і вам потрібно її регулярно підтримувати, дописувати нові компоненти, розширяти, та залучати інших інженерів.
тоді обʼєктно орієнтований підхід розкривається на повну і ви отримаєте всі бенефіти цієї парадигми.
тож я рекомендую на початку не фокусуватися на вивченні ооп, починайте писати тести, далі створюйте page object класи з використанням наслідування і композиції, повертайтесь до "старих" класів і переглядайте, дивіться що можна зробити краще і в якийсь момент ви скажете, ааа ось воно що... тепер зрозуміло 😄
а, що думаєте ви ? ⬇️⬇️⬇️
qa семпай випустив відео про композицію і як її застосувати для створення модульних і якісних page object model.
А тут я напишу свої думки про важливість об'єктно орієнтованого програмування (далі ооп) для інженера з автоматизації тестування.
1️⃣ ооп неможливо “вивчити”, його можна тільки зрозуміти регулярно займаючись дизайном систем за допомогою цієї парадигми
2️⃣ без "розуміння" можна дуже довго і результативно працювати, написання автоматизованих тестів не вимагає застосування ооп, більше того, інколи це може бути шкідливим і призвести до надмірної "складності" системи
3️⃣ ооп необхідно якщо ви будуєте систему автоматизації тестування "на роки", якщо ваша автоматизація це на довго і вам потрібно її регулярно підтримувати, дописувати нові компоненти, розширяти, та залучати інших інженерів.
тоді обʼєктно орієнтований підхід розкривається на повну і ви отримаєте всі бенефіти цієї парадигми.
тож я рекомендую на початку не фокусуватися на вивченні ооп, починайте писати тести, далі створюйте page object класи з використанням наслідування і композиції, повертайтесь до "старих" класів і переглядайте, дивіться що можна зробити краще і в якийсь момент ви скажете, ааа ось воно що... тепер зрозуміло 😄
а, що думаєте ви ? ⬇️⬇️⬇️
YouTube
композиція - наступний рівень page object model playwright
В цьому відео ми покажемо і розкажемо як використовувати композицію в побудові Page Object Model класів. Це допоможе вам робити більш модульні і легкі у підтримці проекти автоматизації тестування з використанням POM патерну.
телеграм:
📎 https://t.me/qa_advice/31…
телеграм:
📎 https://t.me/qa_advice/31…
❤3
Flaky тест - головний ворог тестувальника 😡
У себе в проекті я не дозволяю🙅🏻♂️ мержити новий тест поки
- тест не виконали 10 разів підряд
- всі 10 разів були успішні
- тест не залишив по собі ніяких слідів
- до Pull Request прикладається скрін з логом виконання
Щоб не запускати тест в ручну і не чекати кожен раз виконання в playwright-test є хороша команда
У себе в проекті я не дозволяю🙅🏻♂️ мержити новий тест поки
- тест не виконали 10 разів підряд
- всі 10 разів були успішні
- тест не залишив по собі ніяких слідів
- до Pull Request прикладається скрін з логом виконання
Щоб не запускати тест в ручну і не чекати кожен раз виконання в playwright-test є хороша команда
--repeat-each={кількість виконань}
Приклад: npx playwright test -g "TEST-7290 Create something-check that it created" --workers=3 --repeat-each=10Користуйтесь🤝
👍7
Випустив нове відео, народжувалось воно через біль і страждання... бо я захворів :)
В відео говорив про свій досвід роботи з так званими "BDD тестами" і чому вони не працюють.
Будь ласка подивіться до кінця і залиште коментар ❤️❤️❤️ (ютьюб таке любить)
А от вам коротка історія про співбесіду.
В якийсь момент я вирішив, що засидівся і не прогресую... треба міняти місце роботи. Відкрив Djinni профайл і шось там почали писати різне, але не за моїм фахом. По ітогу написала рекрутер, ми домовились про співбесіди. Перша була внутрішня, друга з клієнтом.
Першу я пройшов успішно, і вона мені скидає питання які клієнт зазвичай питає кандидатів.
1) How good are your JavaScript skills? For how long have you been for JS automation?
2) Are you familiar with API testing things.
3) Difference between петч и put request.
4) If you needed to write an automation framework, what would your automation framework structure look like?
5) How the automation framework structure looks in Selenium and in Cypress?
6) Have you used BDD?
7) Do you know what is scenario concept? мока concept?
Перше питання яке я задав їй у відповідь, чи ваш клієнт індієць? 😁
Вона, мені відповідає - а як ти дізнався? 😆
Співбесіду мені проводила два індійця, і якщо першого я щє розумів, то інший (він типу технарь був) я взагалі ні слова не поняв... 🤦♂️
Пройшло, як мабуть ви здогадались, все дуже погано (на щастя), але історія запам'яталась мені тим як я по питанням викупив, що клієнт індієць і що BDD/Gherkin відстій😅
——-——-——-——-——-——-——-——-
Як ви думаєте, як я зрозумів, що представник їх клієнта був індійцем? 😅
В відео говорив про свій досвід роботи з так званими "BDD тестами" і чому вони не працюють.
Будь ласка подивіться до кінця і залиште коментар ❤️❤️❤️ (ютьюб таке любить)
А от вам коротка історія про співбесіду.
В якийсь момент я вирішив, що засидівся і не прогресую... треба міняти місце роботи. Відкрив Djinni профайл і шось там почали писати різне, але не за моїм фахом. По ітогу написала рекрутер, ми домовились про співбесіди. Перша була внутрішня, друга з клієнтом.
Першу я пройшов успішно, і вона мені скидає питання які клієнт зазвичай питає кандидатів.
1) How good are your JavaScript skills? For how long have you been for JS automation?
2) Are you familiar with API testing things.
3) Difference between петч и put request.
4) If you needed to write an automation framework, what would your automation framework structure look like?
5) How the automation framework structure looks in Selenium and in Cypress?
6) Have you used BDD?
7) Do you know what is scenario concept? мока concept?
Перше питання яке я задав їй у відповідь, чи ваш клієнт індієць? 😁
Вона, мені відповідає - а як ти дізнався? 😆
Співбесіду мені проводила два індійця, і якщо першого я щє розумів, то інший (він типу технарь був) я взагалі ні слова не поняв... 🤦♂️
Пройшло, як мабуть ви здогадались, все дуже погано (на щастя), але історія запам'яталась мені тим як я по питанням викупив, що клієнт індієць і що BDD/Gherkin відстій😅
——-——-——-——-——-——-——-——-
Як ви думаєте, як я зрозумів, що представник їх клієнта був індійцем? 😅
YouTube
що не так з BDD? (керована поведінкою розробка)
Ми поговоримо про те, чому BDD в загальній массі не працює як процес автоматизації тестування
Це відео, мій крик душі. Його я б хотів показати своєму менеджеру коли він просував кукумбер для автоматизації тестів... благо ми тоді вистояли, але не всім так…
Це відео, мій крик душі. Його я б хотів показати своєму менеджеру коли він просував кукумбер для автоматизації тестів... благо ми тоді вистояли, але не всім так…
❤5👍2
Пан суворий QA робить правильні речі для популяризації українських авторів, за що йому подяка 💪
У мене є надія, що колись українське комьюніті тестувальників стане таким же активним як і комьюніті українських розробників 🤞
У мене є надія, що колись українське комьюніті тестувальників стане таким же активним як і комьюніті українських розробників 🤞
Forwarded from Нотатки суворого QA 💛💙 (Artem Grygorenko)
💡Українські телеграм канали з тестування.
Колись я збирав папку з активними українськими телеграм каналами з тестування.
У нас їх стало трішки більше, тому підписуємось на нові. І звичайно допомагаємо розповсюдити користь ;)
Додати собі
Якщо я когось забув - пишіть ;)
*оновлено
Колись я збирав папку з активними українськими телеграм каналами з тестування.
У нас їх стало трішки більше, тому підписуємось на нові. І звичайно допомагаємо розповсюдити користь ;)
Додати собі
Якщо я когось забув - пишіть ;)
*оновлено
👍2
Дякую всім прекрасним панам і панянкам за підписку 🤝
Мене звати Паша, я інженер та автор youtube каналу qa семпай
Мій основний напрямок зараз це автоматизація тестування, управління командами і побудова процесів.
В телеграмі я зазвичай роблю пости з додатковою інформацією до тем відео та мемчики пов'язані з тестуванням і ІТ .
Як от наприклад відео про те, що не так з BDD і історія про те як проходив співбесіду в компанію де вони юзають Cucumber 🥒
Будемо на зв'язку 🔥
Мене звати Паша, я інженер та автор youtube каналу qa семпай
Мій основний напрямок зараз це автоматизація тестування, управління командами і побудова процесів.
В телеграмі я зазвичай роблю пости з додатковою інформацією до тем відео та мемчики пов'язані з тестуванням і ІТ .
Як от наприклад відео про те, що не так з BDD і історія про те як проходив співбесіду в компанію де вони юзають Cucumber 🥒
Будемо на зв'язку 🔥
YouTube
що не так з BDD? (керована поведінкою розробка)
Ми поговоримо про те, чому BDD в загальній массі не працює як процес автоматизації тестування
Це відео, мій крик душі. Його я б хотів показати своєму менеджеру коли він просував кукумбер для автоматизації тестів... благо ми тоді вистояли, але не всім так…
Це відео, мій крик душі. Його я б хотів показати своєму менеджеру коли він просував кукумбер для автоматизації тестів... благо ми тоді вистояли, але не всім так…
👍9❤2
Зараз на Djinni одна вакансія QA збирає 150+ відгуків, що вже здається неймовірним.
Але, в LinkedIn я натрапив на пост дівчини яка шукає роботу тестувальниці в США, з досвідом у 8 років вона вже 5 місяців не може нічого знайти бо кількість кандидатів на одну позицію біля 6000 (ШЕСТИ ТИСЯЧ!!!) за 4 дні...
🔸Чому так відбувається?🔸
В США є ринок QA шкіл, в яких студенти займаються 6-9 місяців, де студентів вчать не тестуванню, а успішному проходженню співбесіди
Далі, випускник складає ідеальне резюме Senior QA Engineer і подається на всі відкриті вакансії які є на ринку
Наприклад, вакансія вимагає мати досвід 5+ років?
Добре, в резюме вже написано що він працював в уявній компанії з номером телефона свого друга чи спеціально навченого співробітника школи, той розповідає який кандидат класний, і як він круто працював з ними всі ці п'ять років.
Так проходять бекграуд чек ✅
Далі все залежить від того, чи зможе кандидат відповісти на всі запитаннями інтерв'юера. І якщо кандидат всі ці 6-9 місяців вправно зубрив у нього шансів більше ніж у реального Senior, бо якщо у випадку "справжнього" кандидата він вміє працювати й зможе себе проявити в роботі, то у випадку фейкового кандидата - він робить саме те чому вчився всі ці пів року - справляє враження...
______________________________________
А у мене є питання до вас 🤔
1️⃣Чи етичний такий спосіб пошуку роботи, або всі методи хороші на висококонкурентному ринку праці?
2️⃣Чи були б "школи" такого характеру успішні в Україні? (я, наприклад знаю одну таку, яка приблизно так само вчить шукати роботу)
__________________________________
Якщо вам цікава повна історія, можете перейти за посиланням
Але, в LinkedIn я натрапив на пост дівчини яка шукає роботу тестувальниці в США, з досвідом у 8 років вона вже 5 місяців не може нічого знайти бо кількість кандидатів на одну позицію біля 6000 (ШЕСТИ ТИСЯЧ!!!) за 4 дні...
🔸Чому так відбувається?🔸
В США є ринок QA шкіл, в яких студенти займаються 6-9 місяців, де студентів вчать не тестуванню, а успішному проходженню співбесіди
Далі, випускник складає ідеальне резюме Senior QA Engineer і подається на всі відкриті вакансії які є на ринку
Наприклад, вакансія вимагає мати досвід 5+ років?
Добре, в резюме вже написано що він працював в уявній компанії з номером телефона свого друга чи спеціально навченого співробітника школи, той розповідає який кандидат класний, і як він круто працював з ними всі ці п'ять років.
Так проходять бекграуд чек ✅
Далі все залежить від того, чи зможе кандидат відповісти на всі запитаннями інтерв'юера. І якщо кандидат всі ці 6-9 місяців вправно зубрив у нього шансів більше ніж у реального Senior, бо якщо у випадку "справжнього" кандидата він вміє працювати й зможе себе проявити в роботі, то у випадку фейкового кандидата - він робить саме те чому вчився всі ці пів року - справляє враження...
______________________________________
А у мене є питання до вас 🤔
1️⃣Чи етичний такий спосіб пошуку роботи, або всі методи хороші на висококонкурентному ринку праці?
2️⃣Чи були б "школи" такого характеру успішні в Україні? (я, наприклад знаю одну таку, яка приблизно так само вчить шукати роботу)
__________________________________
Якщо вам цікава повна історія, можете перейти за посиланням
🤷10👍1
Чи правильно (на рівні рекрутера) відмовляти кандидату у співбесіді, якщо він не має досвіду в якомусь конкретному інструменті автоматизації тестування❔
Наприклад в вакансії вказано Playwright, а у кандидата роки досвіду з іншими інструментами (Selenium, Cypress і тп).
кандидат рівня Senior+
Please open Telegram to view this post
VIEW IN TELEGRAM
👎2👍1
Подивився деякі доповоді з рос конференції для тестувальників.
Доповіді не дуже цікаві, але для себе декілька ідей для наступних відео взяв.
Ось коротке самарі доповіді:
особливість їх роботи полягає в тому, що вони регулярно проводять А/Б тестування деяких сторінок.
Що призводить до регулярної їх зміни.
Вони ділять ці зміни на три категорії складності:
1️⃣ незначні зміни в DOM моделі сторінки
2️⃣ додавання/прибирання елемента на сторінці
3️⃣ зміна сторінки повністю
Як вони пропонують боротись з першими двома рівнями складності?
1️⃣ В першому випадку вони просто додають в їх selector умови по типу OR (//*[@title='Annotate' or text()='Annotate'])
2️⃣ якщо елементи змінюються, вони використовують в свої тестах if else
3️⃣ як вони працюють з різними сторінками?
Якщо коротко, вони просто перевіряють наявність специфічного для сторінки елемента, і в залежності від цього повертають правильний PageObject. Для цього використовують фабричний метод.
Фабричний метод — це породжувальний патерн проектування, який визначає загальний інтерфейс для створення об’єктів у суперкласі, дозволяючи підкласам змінювати тип створюваних об’єктів.
➡️ ➡️ ➡️
Якщо вам цікаві огляди доповідей конференцій проголосуйте
👍 - якщо робити такі огляди
👎🏻 - якщо не треба.
пишіть коментар - якщо треба, але англомовних
Доповіді не дуже цікаві, але для себе декілька ідей для наступних відео взяв.
Ось коротке самарі доповіді:
особливість їх роботи полягає в тому, що вони регулярно проводять А/Б тестування деяких сторінок.
Що призводить до регулярної їх зміни.
Вони ділять ці зміни на три категорії складності:
1️⃣ незначні зміни в DOM моделі сторінки
2️⃣ додавання/прибирання елемента на сторінці
3️⃣ зміна сторінки повністю
Як вони пропонують боротись з першими двома рівнями складності?
1️⃣ В першому випадку вони просто додають в їх selector умови по типу OR (//*[@title='Annotate' or text()='Annotate'])
2️⃣ якщо елементи змінюються, вони використовують в свої тестах if else
public SetConfirmation CodePagePromise click ContinueButton() {
}
if (baseFunc.explicitWait (ExpectedConditions.invisibilityOfElementLocated (CONTINUE_BUTTON)).isSuccess()) { LOGGER.info(message: "Трапився автосабмит кода", bаse Func. takeScreenshot());
} else {
}
LOGGER.info(message: "Натискаємо кнопку 'Далі'", base Func. takeScreenshot());
baseFunc.click(CONTINUE_BUTTON);
return new SetConfirmationCodePagePromise(baseFunc);
особисто я вважаю використання if else не дуже вдалим рішенням, але як адаптуватись під зміни без цього... я поки хз. 3️⃣ як вони працюють з різними сторінками?
Якщо коротко, вони просто перевіряють наявність специфічного для сторінки елемента, і в залежності від цього повертають правильний PageObject. Для цього використовують фабричний метод.
Фабричний метод — це породжувальний патерн проектування, який визначає загальний інтерфейс для створення об’єктів у суперкласі, дозволяючи підкласам змінювати тип створюваних об’єктів.
public static boolean isPopupLogin() {
return $(SHOW_PASSWORD_BUTTON).isDisplayed();
}
public static boolean isNewAnonymPage() {
return $(OK_LOGO).isDisplayed();
}
public static LoginPage get (Base Func baseFunc) { if (isPopupLogin (base Func)) {
return new Login Popup (base Func);
}
else if (isNewAnonymPage (base Func)) { return new NewAnonymLoginPage (baseFunc); }
else {return new OldLoginPage (base Func)
; }
він там щє розповідав як вони створюють тестових юзерів (ботів), але то таке... дуже специфічна тема для кожного окремого проекту метод буде свій. Якщо вам цікаві огляди доповідей конференцій проголосуйте
👍 - якщо робити такі огляди
👎🏻 - якщо не треба.
пишіть коментар - якщо треба, але англомовних
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
test-automation-example/cheat-sheets/xpath.md at main · qa-senpai/test-automation-example
Contribute to qa-senpai/test-automation-example development by creating an account on GitHub.
👍13❤1👎1