Як використовувати Selenium IDE зі сценаріями & Команди (затвердити, перевірити)

Зміст:

Anonim

Ми будемо використовувати веб-сайт Mercury Tours як наш веб-додаток, що перевіряється. Це онлайн-система бронювання польотів, яка містить усі елементи, необхідні для цього підручника. Його URL-адреса - http://demo.guru99.com/test/newtours/, і це буде нашою базовою URL-адресою.

Створіть сценарій шляхом запису

Давайте зараз створимо наш перший тестовий скрипт в Selenium IDE за допомогою найпоширенішого методу - шляхом запису. Потім ми виконаємо наш сценарій за допомогою функції відтворення.

Крок 1

  • Запустіть Firefox та Selenium IDE.
  • Введіть значення для нашої базової URL-адреси: http://demo.guru99.com/test/newtours/.
  • Увімкніть кнопку Record (якщо вона ще не ввімкнена за замовчуванням).
Крок 2

У Firefox перейдіть на сторінку http://demo.guru99.com/test/newtours/. Firefox повинен перейти на сторінку, подібну до наведеної нижче.

Крок 3
  • Клацніть правою кнопкою миші на будь-якому порожньому місці на сторінці, наприклад на логотипі Mercury Tours у верхньому лівому куті. Після цього з’явиться контекстне меню Selenium IDE. Примітка: Не клацайте на будь-які гіперпосилання на об’єкти чи зображення
  • Виберіть опцію "Показати доступні команди".
  • Потім виберіть «assertTitle точно: Ласкаво просимо: Mercury Tours». Це команда, яка гарантує правильність назви сторінки.
Крок 4
  • У текстовому полі "Ім'я користувача" Mercury Tours введіть недійсне ім'я користувача "invalidUNN".
  • У текстовому полі "Пароль" введіть недійсний пароль, "invalidPWD".
Крок 5
  • Натисніть кнопку "Вхід". Firefox повинен перейти на цю сторінку.
Крок 6

Вимкніть кнопку запису, щоб зупинити запис. Тепер ваш сценарій повинен виглядати так, як показано нижче.

Крок 7

Тепер, коли ми закінчили роботу з нашим тестовим сценарієм, ми збережемо його у тестовому випадку. У меню Файл виберіть «Зберегти тест». Крім того, ви можете просто натиснути Ctrl + S.

Крок 8
  • Виберіть потрібне місце, а потім назвіть Тестовий кейс як "Недійсний_логін".
  • Натисніть кнопку «Зберегти».
Крок 9.

Зверніть увагу, що файл було збережено як HTML.

Крок 10.

Поверніться до Selenium IDE і натисніть кнопку Відтворення, щоб виконати весь сценарій. Селен IDE повинен мати можливість бездоганно копіювати все.

Вступ до команд селену - Селен

  • Команди Селену можуть мати максимум два параметри: ціль і значення.
  • Параметри не потрібні постійно. Це залежить від того, скільки буде потрібно команді.

3 типи команд

Дії

Це команди, які безпосередньо взаємодіють з елементами сторінки.

Приклад: команда "клацніть" - це дія, оскільки ви безпосередньо взаємодієте з елементом, на якому ви натискаєте.

Команда "type" - це також дія, оскільки ви вставляєте значення в текстове поле, а текстове поле показує їх вам у відповідь. Існує двостороння взаємодія між вами та текстовим полем.

Аксесуари

Вони являють собою команди, що дозволяють зберігати значення у змінній.

Приклад: команда "storeTitle" є засобом доступу, оскільки вона лише "зчитує" заголовок сторінки та зберігає її у змінній. Він не взаємодіє з жодним елементом на сторінці.

Твердження

Вони являють собою команди, які перевіряють, чи виконується певна умова.

3 типи тверджень

  • Стверджувати . Коли команда "assert" не вдається, тест негайно зупиняється.
  • Перевірити . Коли команда "перевірити" не вдається, Selenium IDE реєструє цю помилку та продовжує виконання тесту.
  • Зачекайте . Перш ніж перейти до наступної команди, команди "waitFor" спочатку дочекаються, коли певна умова стане істинною.
    • Якщо умова стає істинним протягом періоду очікування, крок проходить.
    • Якщо умова не стає істинним, крок не вдається. Помилка реєструється, і виконання тесту переходить до наступної команди.
    • За замовчуванням значення часу очікування встановлено на 30 секунд. Ви можете змінити це у діалоговому вікні "Параметри середовища IDE" на вкладці "Загальні".

Затвердити проти Перевірити

Загальні команди

Команда Кількість параметрів Опис
відчинено 0 - 2

Відкриває сторінку за допомогою URL-адреси.

click / clickAndWait 1

Клацання по вказаному елементу.

type / typeKeys 2

Вводить послідовність символів.

verifyTitle / assertTitle 1

Порівнює фактичний заголовок сторінки з очікуваним значенням.

verifyTextPresent 1

Перевіряє, чи на сторінці знайдено певний текст.

verifyElementPresent 1

Перевіряє наявність певного елемента.

verifyTable 2

Порівнює вміст таблиці з очікуваними значеннями.

waitForPageToLoad 1

Призупиняє виконання, поки сторінка не буде завантажена повністю.

waitForElementPresent 1

Призупиняє виконання, доки вказаний елемент не з’явиться.

Створіть сценарій вручну за допомогою Firebug

Тепер ми відтворимо той самий тестовий приклад вручну, ввівши команди. Цього разу нам потрібно буде використовувати Firebug.

Крок 1
  • Відкрийте Firefox та Selenium IDE.
  • Введіть базову URL-адресу (http://demo.guru99.com/test/newtours/).
  • Кнопка запису повинна бути ВИМКНЕНО.
Крок 2: Клацніть на верхньому порожньому рядку в редакторі.

Введіть "open" у текстовому полі Command і натисніть Enter.

Крок 3
  • Перейдіть до Firefox до нашої базової URL-адреси та активуйте Firebug
  • На панелі редактора IDE Selenium виберіть другий рядок (рядок під командою "відкрити") і створіть другу команду, ввівши "assertTitle" у поле Команда.
  • Не соромтеся користуватися функцією автозаповнення.
Крок 4
  • У Firebug розгорніть тег , щоб відобразити тег .</li> <li>Клацніть на значення тегу <title> (тобто "Ласкаво просимо: Mercury Tours") і вставте його в поле Target у редакторі.</li> </ul> </td> </tr> <tr> <td><strong>Крок 5</strong> <ul> <li>Щоб створити третю команду, натисніть на третій порожній рядок у редакторі та введіть "type" у текстовому полі Command.</li> <li>У Firebug натисніть на кнопку "Перевірити".</li> </ul> </td> </tr> <tr> <td>Клацніть на текстове поле Ім'я користувача. Зверніть увагу, що Firebug автоматично показує вам HTML-код для цього елемента.</td> </tr> <tr> <td><strong>Крок 6</strong> <p>Зверніть увагу, що в текстовому полі Ім'я користувача немає ідентифікатора, але він має атрибут NAME. Тому ми будемо використовувати його ІМЯ як локатор. Скопіюйте значення NAME і вставте його в поле Target у IDEI Selenium.</p> <p>Досі в текстовому полі Цільова префікс "userName" з "name =", вказуючи, що Selenium IDE повинен націлюватись на елемент, атрибут NAME якого "userName".</p> <p>Введіть "invalidUN" у текстовому полі Значення Selenium IDE. Тепер ваш тестовий сценарій повинен виглядати як на малюнку нижче. Ми закінчили з третьою командою. Примітка: Замість invalidUN, ви можете ввести будь-який інший текстовий рядок. Але Selenium IDE чутливий до регістру, і ви вводите значення / атрибути точно так, як у програмі.</p> </td> </tr> <tr> <td><strong>Крок 7</strong> <ul> <li>Щоб створити четверту команду, введіть "type" у текстовому полі Command.</li> <li>Знову ж таки, використовуйте кнопку Firebug "Перевірити", щоб отримати локатор для текстового поля "Пароль".</li> </ul> <ul> <li> <p>Вставте атрибут NAME ("пароль") у поле Ціль і поставте перед ним префікс "name ="</p> </li> <li> <p>Введіть "invalidPW" у поле Значення в ID середовища Selenium. Тепер ваш тестовий сценарій повинен виглядати як на малюнку нижче.</p> </li> </ul> </td> </tr> <tr> <td><strong>Крок 8</strong> <ul> <li>Для п’ятої команди введіть "clickAndWait" у текстовому полі Команда в Selenium IDE.</li> <li>Використовуйте кнопку Firebug «Перевірити», щоб отримати локатор для кнопки «Увійти».</li> </ul> <ul> <li>Вставте значення атрибута NAME ("логін") у текстове поле Target і поставте перед ним префікс "name =".</li> <li>Тепер ваш тестовий сценарій повинен виглядати як на малюнку нижче.</li> </ul> </td> </tr> </tbody> </table> <p><strong>Крок 9:</strong> Збережіть тестовий приклад так само, як і в попередньому розділі.</p> <a id="menu-6"></a> <h2>Використання кнопки пошуку</h2> <p><strong>Кнопка "Знайти" в ID середовища Selenium використовується, щоб перевірити, чи те, що ми помістили в текстове поле Target, є справді правильним елементом інтерфейсу.</strong></p> <p>Давайте скористаємося тестом Invalid_login, який ми створили в попередніх розділах. Клацніть на будь-яку команду з цільовим записом, скажімо, третю команду.</p> <p>Клацніть на кнопку Знайти. Зверніть увагу, що текстове поле Ім'я користувача на сторінці Mercury Tours стає виділеним на секунду.</p> <p>Це вказує на те, що програма IDE Selenium змогла правильно виявити очікуваний елемент і отримати до нього доступ. Якщо кнопка "Знайти" виділила інший елемент або його взагалі не було, то у вашому сценарії має бути щось не так.</p> <a id="menu-7"></a> <h2>Виконати команду</h2> <p><strong>Це дозволяє виконувати будь-яку окрему команду, не запускаючи весь тест</strong> . Просто натисніть на рядок, який ви хочете виконати, а потім натисніть "Дії> Виконати цю команду" в рядку меню або просто натисніть "X" на клавіатурі.</p> <p><strong>Крок 1.</strong> Переконайтеся, що ваш браузер знаходиться на домашній сторінці Mercury Tours. Клацніть на команду, яку ви хочете виконати. У цьому прикладі натисніть рядок "type | userName | invalidUN".</p> <p><strong>Крок 2.</strong> Натисніть "X" на клавіатурі.</p> <p><strong>Крок 3.</strong> Зверніть увагу, що текстове поле для імені користувача заповнюється текстом "invalidUN"</p> <p><strong>Виконання команд таким чином сильно залежить від сторінки, яку Firefox відображає в даний час</strong> . Це означає, що якщо ви спробуєте наведений вище приклад із домашньою сторінкою Google, яка відображається замість Mercury Tours, тоді ваш крок не вдасться, оскільки на домашній сторінці Google немає текстового поля з атрибутом "userName".</p> <a id="menu-8"></a> <h2>Початкова точка</h2> <p><strong>Точка початку - це індикатор, який повідомляє Selenium IDE, з яких ліній розпочнеться виконання</strong> . <strong>Клавіша швидкого доступу - "S".</strong></p> <p>У наведеному вище прикладі відтворення розпочнеться з третього рядка (введіть | пароль | invalidPW). <strong>Ви можете мати лише одну початкову точку в одному тестовому сценарії.</strong></p> <p>Початкова точка подібна до команди "Виконати", оскільки вона залежить від поточної сторінки. Точка початку не вдасться, якщо ви опинитеся не на тій сторінці.</p> <a id="menu-9"></a> <h2>Точки зупинки</h2> <p>Точки зупинку - це показники, які вказують Selenium IDE, де автоматично зупинити тест. <strong>Клавіша швидкого доступу - "B".</strong></p> <p>Жовте виділення означає, що поточний крок очікує на розгляд. Це доводить, що Selenium IDE призупинила виконання на цьому кроці. <strong>Ви можете мати кілька точок зупинки в одному тестовому випадку.</strong></p> <a id="menu-10"></a> <h2>Крок</h2> <p>Це дозволяє виконувати наступні команди по черзі після паузи тесту. Давайте скористаємося сценарієм у попередньому розділі "Точки зупинки".</p> <table> <tbody> <tr> <td width="50%"> </td> <td> <p><strong>Перш ніж натиснути "Крок".</strong></p> <p>Тестовий випадок призупиняється у рядку "clickAndWait | login".</p> </td> </tr> <tr> <td width="50%"> </td> <td> <p><strong>Після натискання кнопки "Крок".</strong></p> <p>Запущений рядок "clickAndWait | login" та призупинення до наступної команди (verifyTitle | Sign-on: Mercury Tours).</p> <p>Зверніть увагу, що наступний рядок призупинено, хоча там немає точки зупинки. Це головне призначення функції «Крок» - вона виконує наступні команди по черзі, щоб дати вам більше часу для перевірки результату після кожного кроку.</p> </td> </tr> </tbody> </table> <a id="menu-11"></a> <h2>Важливі речі, на які слід звернути увагу при використанні інших форматів у поданні джерела</h2> <p><strong>Селен IDE добре працює лише з HTML - інші формати все ще перебувають у експериментальному режимі</strong> . Це <strong>НЕ рекомендується</strong> створювати і редагувати тести з використанням інших форматів в Source View , тому що є ще багато роботи , необхідно , щоб зробити її більш стабільною. Нижче наведені відомі помилки станом на версію 1.9.1.</p> <ul> <li>Ви не зможете виконати відтворення або повернутися до перегляду таблиці, якщо не повернетесь до HTML.</li> <li>Єдиний спосіб безпечного додавання команд у вихідний код - це їх запис.</li> <li>При зміні вихідного коду вручну весь його буде втрачено при переході на інший формат.</li> <li>Хоча ви можете зберегти свій тестовий приклад, перебуваючи у режимі перегляду джерел, Selenium IDE не зможе його відкрити.</li> </ul> <p><strong>Рекомендований спосіб конвертувати тести Selenese - використовувати опцію "Експортувати тест як ..." у меню Файл, а не через подання джерела.</strong></p> <a id="menu-12"></a> <h2>Резюме</h2> <ul> <li>Тестові сценарії можна створити або записавши, або ввівши команди та параметри вручну.</li> <li>При створенні сценаріїв вручну Firebug використовується для отримання локатора.</li> <li>Кнопка Знайти використовується для перевірки можливості команди отримати доступ до правильного елемента.</li> <li>Табличний вигляд відображає тестовий сценарій у табличній формі, тоді як Source View відображає його у форматі HTML.</li> <li>Зміна подання джерела на формат, який не є HTML, досі експериментальний.</li> <li>Не використовуйте Source View для створення тестів в інших форматах. Натомість використовуйте функції експорту.</li> <li>Параметри не потрібні постійно. Це залежить від команди.</li> <li>Існує три типи команд:</li> <ul> <li>Дії - безпосередньо взаємодіє з елементами сторінки</li> <li>Accessors - "зчитує" властивість елемента і зберігає його у змінній</li> <li>Твердження - порівнює фактичне значення з очікуваним</li> </ul> <li>Твердження мають три типи:</li> <ul> <li>Стверджувати - при відмові наступні кроки більше не виконуються</li> <li>Перевірка - при відмові наступні кроки все ще виконуються.</li> <li>WaitFor - проходить, якщо зазначена умова стає істинною протягом періоду очікування; інакше він зазнає невдачі</li> </ul> <li>Найпоширеніші команди:</li> <ul> <li>відчинено</li> <li>click / clickAndWait</li> <li>type / typeKeys</li> <li>verifyTitle / assertTitle</li> <li>verifyTextPresent</li> <li>verifyElementPresent</li> <li>verifyTable</li> <li>waitForPageToLoad</li> <li>waitForElementPresent</li> </ul> </ul> </div> </article> <div id="container-5533149ee6411a5f99b370c693e87966"></div> </div> </div> </div> </div> </div> <aside class="col-lg-4 sidebar sidebar--right"> <div class="widget widget-popular-posts"> <h2 class="widget-title">Популярні Пости</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8004047-shape-morphing-icons-in-button-on-click" title="Формуйте піктограми морфінгу в кнопці на клацання - CSS-хитрощі" rel="bookmark"><img src="https://cdn.css-code.org/6013351/shape_morphing_icons_in_button_on_click_css-tricks.png.webp" loading="lazy" alt="Формуйте піктограми морфінгу в кнопці на клацання - CSS-хитрощі" title="Формуйте піктограми морфінгу в кнопці на клацання - CSS-хитрощі" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8004047-shape-morphing-icons-in-button-on-click" title="Формуйте піктограми морфінгу в кнопці на клацання - CSS-хитрощі" rel="bookmark">Формуйте піктограми морфінгу в кнопці на клацання - CSS-хитрощі 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8004048-svg-patterns" title="Шаблони SVG - CSS-хитрощі" rel="bookmark"><img src="https://cdn.css-code.org/4683454/svg_patterns_css-tricks.png.webp" loading="lazy" alt="Шаблони SVG - CSS-хитрощі" title="Шаблони SVG - CSS-хитрощі" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8004048-svg-patterns" title="Шаблони SVG - CSS-хитрощі" rel="bookmark">Шаблони SVG - CSS-хитрощі 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8004049-add-category-name-to-body-class" title="Додайте назву категорії до body_class - CSS-хитрощі" rel="bookmark"><img src="https://cdn.css-code.org/9180983/add_category_name_to_body_class_css-tricks.png.webp" loading="lazy" alt="Додайте назву категорії до body_class - CSS-хитрощі" title="Додайте назву категорії до body_class - CSS-хитрощі" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8004049-add-category-name-to-body-class" title="Додайте назву категорії до body_class - CSS-хитрощі" rel="bookmark">Додайте назву категорії до body_class - CSS-хитрощі 2025</a></h3> </div> </div> </li> </ul> </div> <div class="widget widget-popular-posts"> <h2 class="widget-title">Кращі огляди за місяць</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003108-class" title="Клас - CSS-хитрощі" rel="bookmark">Клас - CSS-хитрощі</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003109-enabled" title=": увімкнено - CSS-хитрощі" rel="bookmark">: увімкнено - CSS-хитрощі</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003110-child" title="Дитина - CSS-хитрощі" rel="bookmark">Дитина - CSS-хитрощі</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003111-empty" title=": порожній - CSS-хитрощі" rel="bookmark">: порожній - CSS-хитрощі</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003112-first-letter" title=":: перша буква - CSS-хитрощі" rel="bookmark">:: перша буква - CSS-хитрощі</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003113-first-child" title=": перша дитина - CSS-хитрощі" rel="bookmark">: перша дитина - CSS-хитрощі</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003114-first-line" title=":: перший рядок - CSS-хитрощі" rel="bookmark">:: перший рядок - CSS-хитрощі</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003115-hover" title=": наведення курсору - CSS-хитрощі" rel="bookmark">: наведення курсору - CSS-хитрощі</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003116-first-of-type" title=": перший тип - CSS-хитрощі" rel="bookmark">: перший тип - CSS-хитрощі</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003117-focus-within" title=": фокус всередині - CSS-хитрощі" rel="bookmark">: фокус всередині - CSS-хитрощі</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003118-focus" title=": фокус - CSS-хитрощі" rel="bookmark">: фокус - CSS-хитрощі</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003119-general-sibling" title="Загальний брат - CSS-хитрощі" rel="bookmark">Загальний брат - CSS-хитрощі</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003120-invalid" title=": недійсний - CSS-хитрощі" rel="bookmark">: недійсний - CSS-хитрощі</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003121-id" title="Посвідчення особи - CSS-хитрощі" rel="bookmark">Посвідчення особи - CSS-хитрощі</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003122-is" title=": є () - CSS-хитрощі" rel="bookmark">: є () - CSS-хитрощі</a></h3> </div> </div> </li> </ul> </div> <div id="container-5533149ee6411a5f99b370c693e87966"></div> <div class="widget widget-popular-posts"> <h2 class="widget-title">Кращі Статті</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8004087-html5-shim-in-functions-php" title="HTML5 Шим у функціях.php - CSS-хитрощі" rel="bookmark"><img src="https://cdn.css-code.org/8718157/html5_shim_in_functionsphp_css-tricks.png.webp" loading="lazy" alt="HTML5 Шим у функціях.php - CSS-хитрощі" title="HTML5 Шим у функціях.php - CSS-хитрощі" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8004087-html5-shim-in-functions-php" title="HTML5 Шим у функціях.php - CSS-хитрощі" rel="bookmark">HTML5 Шим у функціях.php - CSS-хитрощі 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8004088-id-the-body-based-on-url" title="Ідентифікуйте тіло на основі URL - CSS-хитрощі" rel="bookmark"><img src="https://cdn.css-code.org/4409401/id_the_body_based_on_url_css-tricks.png.webp" loading="lazy" alt="Ідентифікуйте тіло на основі URL - CSS-хитрощі" title="Ідентифікуйте тіло на основі URL - CSS-хитрощі" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8004088-id-the-body-based-on-url" title="Ідентифікуйте тіло на основі URL - CSS-хитрощі" rel="bookmark">Ідентифікуйте тіло на основі URL - CSS-хитрощі 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8004089-if-page-is-parent-or-child" title="Якщо Сторінка є батьком або дитиною - CSS-хитрощі" rel="bookmark"><img src="https://cdn.css-code.org/1709971/if_page_is_parent_or_child_css-tricks.png.webp" loading="lazy" alt="Якщо Сторінка є батьком або дитиною - CSS-хитрощі" title="Якщо Сторінка є батьком або дитиною - CSS-хитрощі" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8004089-if-page-is-parent-or-child" title="Якщо Сторінка є батьком або дитиною - CSS-хитрощі" rel="bookmark">Якщо Сторінка є батьком або дитиною - CSS-хитрощі 2025</a></h3> </div> </div> </li> </ul> </div> </aside> </div> </div> <footer class="footer footer--dark"> <div class="container"> <div class="footer__widgets"> <div class="row"> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Популярні Пости</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222951-database-testing-using-selenium-step-by-step-guide" title="Тестування бази даних із використанням селену: покрокове керівництво" rel="bookmark">Тестування бази даних із використанням селену: покрокове керівництво</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222952-how-to-handle-iframes-in-selenium-webdriver-switchto" title="Як обробляти iFrames у Selenium Webdriver: switchTo ()" rel="bookmark">Як обробляти iFrames у Selenium Webdriver: switchTo ()</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222953-cross-browser-testing-using-selenium-webdriver" title="Перехресне тестування браузера за допомогою Selenium WebDriver" rel="bookmark">Перехресне тестування браузера за допомогою Selenium WebDriver</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222954-selenium-headless-browser-testing-htmlunitdriver-and-phantomjs" title="Тестування браузера без голови селену: HTMLUnitDriver & PhantomJS" rel="bookmark">Тестування браузера без голови селену: HTMLUnitDriver & PhantomJS</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222955-how-to-take-screenshot-in-selenium-webdriver" title="Як зробити знімок екрана в Selenium WebDriver" rel="bookmark">Як зробити знімок екрана в Selenium WebDriver</a></h3> </div> </div> </li> </ul> </div> </div> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Вибір Редакції</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8224198-what-is-sap-hr-introduction-to-sap-hcm" title="Що таке SAP HR? Вступ до SAP HCM" rel="bookmark">Що таке SAP HR? Вступ до SAP HCM</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8224199-what-is-an-infotype" title="Що таке інфотип?" rel="bookmark">Що таке інфотип?</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8224200-all-about-infotype-0003-payroll-status-in-sap" title="Все про статус заробітної плати Infotype 0003 у SAP" rel="bookmark">Все про статус заробітної плати Infotype 0003 у SAP</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8224201-what-are-time-constraint-sap-hr-tutorial" title="Що таке обмеження часу? Підручник з SAP HR" rel="bookmark">Що таке обмеження часу? Підручник з SAP HR</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8224202-organizational-enterprise-personnel-structure-in-sap" title="Організаційна, підприємницька, структура персоналу в SAP" rel="bookmark">Організаційна, підприємницька, структура персоналу в SAP</a></h3> </div> </div> </li> </ul> </div> </div> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Кращі Статті</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222621-positive-testing-and-negative-testing-with-examples" title="Позитивне тестування та негативне тестування на прикладах" rel="bookmark">Позитивне тестування та негативне тестування на прикладах</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222622-what-is-test-harness-tools-and-examples" title="Що таке ТЕСТОВИЙ ЖГУТ? Інструменти & Приклади" rel="bookmark">Що таке ТЕСТОВИЙ ЖГУТ? Інструменти & Приклади</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222623-what-is-defect-density-formula-to-calculate-with-example" title="Що таке щільність дефектів? Формула для обчислення на прикладі" rel="bookmark">Що таке щільність дефектів? Формула для обчислення на прикладі</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222624-difference-between-globalization-testing-and-localization-testing" title="Різниця між тестуванням на глобалізацію та тестуванням на локалізацію" rel="bookmark">Різниця між тестуванням на глобалізацію та тестуванням на локалізацію</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222625-test-condition-vs-test-scenario-whats-the-difference" title="Умова тесту проти сценарію тесту: в чому різниця?" rel="bookmark">Умова тесту проти сценарію тесту: в чому різниця?</a></h3> </div> </div> </li> </ul> </div> </div> </div> <p>© Copyright uk.css-code.org, 2025 Липень | <a href="https://uk.css-code.org/about-site" title="Про сайт">Про сайт</a> | <a href="https://uk.css-code.org/contacts" title="Контакти">Контакти</a> | <a href="https://uk.css-code.org/privacy-policy" title="Політика конфіденційності">Політика конфіденційності</a>. </p> </div> </div> </footer> <link href="https://css-code.org/template/css/style.min.css" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'" /> </body> </html>