Як завантажити та встановити CUCUMBER в Windows

⚡ Розумний підсумок

Cucumber встановлення на Windows потребує чотирьох частин по порядку: Ruby з його комплектом розробки, Cucumber сам gem, редактор, такий як RubyMine, та бібліотека драйверів браузера. Кожен з них встановлюється за лічені хвилини.

  • 🔘 Спочатку Рубі: Cucumber є перлом Ruby, тому інсталятор Ruby+Devkit з RubyInstaller має бути встановлений першим.
  • ☑️ Одна команда: Команда gem install cucumber витягує gem та його залежності безпосередньо з RubyGems у командному рядку.
  • Негайно перевірте: Виконання команди cucumber –version підтверджує, що gem вирішено, і що виконуваний файл знаходиться в системному шляху PATH.
  • 🧪 Редактор необов'язковий: RubyMine надає підсвічування синтаксису та покрокову навігацію, але будь-який редактор, який зберігає звичайний текст, запускатиме файл функцій.
  • 🛠️ Драйвер браузера: Watir обгортання Selenium та керує браузером; сучасна назва gem-моделі — watir, а не пенсійний watir-webdriver.
  • 📊 Фіксований макет: Файли функцій знаходяться у features, визначення кроків – у features/step_definitions, або Cucumber не може збігатися з кроком.

Завантажити та встановити Cucumber on Windows з Ruby, RubyMine та Watir

Cucumber Встановлення може виглядати виснажливо, але воно відносно просте, якщо деталі зібрати в правильному порядку. Ось схема компонентів, які потрібно встановити, щоб зробити Cucumber працювати.

Необхідні умови для встановлення Cucumber on Windows

Cucumber розповсюджується як gem-компонент Ruby, тому нічого не працюватиме, поки не буде встановлено Ruby. Переконайтеся в наступному, перш ніж щось завантажувати:

  • Windows 10 або пізніша, 64-розрядна. RubyInstaller більше не рекомендує 32-розрядну збірку, якщо ви не залежите від 32-розрядних нативних DLL-бібліотек або COM-об'єктів.
  • Права адміністратора. Інсталятор записує дані до Program Files та редагує змінну середовища PATH.
  • Підключення до Інтернету. Обидві команди встановлення gem, наведені нижче, отримують пакети з RubyGems.
  • Близько 1 ГБ вільного місця на диску для Ruby плюс комплект розробки MSYS2, і ще більше, якщо додати RubyMine.
  • Браузер для автоматизації. Watir диски Chrome, Edge або Firefox через Selenium, тому принаймні один має бути встановлений.

Варто запам'ятати дві команди на потім: рубій -в друкує версію Ruby, та дорогоцінний камінь -v виводить версію RubyGems. Якщо будь-який з них не спрацює, це означає, що шлях (PATH) не було оновлено, і інсталятор слід запустити повторно, а не налагоджувати.

Встановіть Ruby і DevKit

Почніть з пакета Ruby+Devkit, який містить набір інструментів компілятора, необхідних для гемів з розширеннями C.

Крок 1) Перейдіть до https://rubyinstaller.org/downloads/ та виберіть інсталятор. Сторінка завантаження показана нижче.

Сторінка завантажень RubyInstaller зі списком інсталяторів Ruby та Ruby+Devkit

⚠️ Примітка до версії: Окремий архів DevKit, на який посилається оригінальний посібник, був замінений набір інструментів MSYS2, який... Ruby+Devkit пакети інсталяторів як вибраний компонент. RubyInstaller наразі рекомендує збірку Ruby+Devkit 4.0.X (x64) для нових користувачів, а комплект оновлюється пізніше за допомогою позбутися встановлення а не шляхом повторного запуску dk.rb. Наведені нижче кроки залишаються незмінними.

Крок 2) Відкрийте завантажений файл. На першому екрані:

  1. Прийміть ліцензію
  2. Натисніть кнопку Далі

Екран ліцензійної угоди інсталятора Ruby з кнопкою «Далі»

Крок 3) На наступному екрані:

  1. Виберіть каталог інсталяції
  2. Вибрати всі опції
  3. Натисніть "Встановити"

Вибір каталогу встановлення Ruby та вибір усіх параметрів інсталятора

Крок 4) На наступному екрані натисніть кнопку «Далі».

Екран вибору компонентів інсталятора Ruby перед початком копіювання

Крок 5) Дочекайтеся завершення встановлення.

Хід встановлення Ruby під час копіювання файлів на диск

Крок 6) Натисніть кнопку «Готово».

Фінальний екран інсталятора Ruby з кнопкою «Готово»

Крок 7) Після завершення встановлення запустіть Ruby з Windows Меню «Пуск».

Windows Пункт меню «Пуск», який відкриває командний рядок у Ruby

Крок 8) Ви побачите командний рядок Ruby, подібний до Windows вікно cmd.

Вікно командного рядка Ruby готове приймати команди gem

Встановлювати Cucumber

З Ruby на PATH, сам gem — це одна команда.

Крок 1) Введіть встановити огірок у командному рядку Ruby. Ця команда завантажує та встановлює Cucumber у самому командному рядку.

gem install cucumber, введений у командний рядок Ruby

Через кілька секунд Cucumber Процедура встановлення запускається та повідомляє про кожну залежність, яку вона отримує.

Cucumber вивід встановлення gem зі списком залежностей, що встановлюються

Крок 2) Перевірити, чи Cucumber успішно встановлено, введіть огірок – версіяЗверніть увагу на два дефіси — один дефіс не є допустимим довгим варіантом.

команда cucumber --version виводить встановлену версію Cucumber версія

Встановіть IDE RubyMine

Редактор не є обов'язковим, але RubyMine розуміє Gherkin і може переходити від кроку до його визначення. Виконайте наведені нижче кроки, щоб його встановити.

Екран привітання майстра налаштування RubyMine

Крок 1) Натисніть кнопку «Далі», щоб продовжити встановлення RubyMine.

Перша сторінка інсталятора RubyMine з кнопкою «Далі»

Крок 2) Виберіть місце встановлення.

Вибір папки встановлення RubyMine

Крок 3) Встановіть параметри встановлення.

Варіанти встановлення RubyMine, такі як ярлики та асоціації файлів

Крок 4) Виберіть папку меню «Пуск».

Вибір папки меню «Пуск» для ярлика RubyMine

Крок 5) Натисніть кнопку «Встановити».

Інсталятор RubyMine готовий до копіювання файлів після натискання кнопки «Встановити»

Крок 6) Натисніть кнопку «Готово».

Екран завершення налаштування RubyMine з кнопкою «Готово»

Крок 7) Виберіть Не імпортувати налаштування.

Діалогове вікно налаштувань імпорту під час першого запуску RubyMine

Крок 8) Натисніть кнопку «Оцінити».

Вікно активації ліцензії RubyMine з опцією «Оцінити»

Крок 9) Прийміть ліцензію.

Прийняття ліцензійної угоди RubyMine

Крок 10) Виберіть «Пропустити решту» та «Встановити значення за замовчуванням».

Початковий екран налаштування RubyMine з опціями «Пропустити решту» та «Встановити значення за замовчуванням»

Крок 11) Відкрийте редактор.

Екран привітання RubyMine з опцією «Відкрити»

Крок 12) Створіть новий проект.

Діалогове вікно нового проекту в RubyMine

⚠️ Примітка до версії: RubyMine – це платна JetBrains продукт з обмеженою в часі оцінкою, яку запускає кнопка «Оцінити» на кроці 8. Безкоштовна альтернатива — Visual Studio Code з рубіном та Cucumber розширення (Gherkin); решта цього посібника працює однаково в будь-якому редакторі.

Встановіть watir-webdriver

Cucumber лише виконує кроки. Щось інше має відкрити браузер, і це завдання належить Watir, обгортка Ruby навколо SeleniumЯкщо ви бажаєте керувати браузером безпосередньо, той самий проект може викликати звичайний Скрипт WebDriver.

Крок 1) Натисніть Запустіть командний рядок за допомогою Ruby та виконайте команду встановлення встановлення gem watir-webdriver.

gem install watir-webdriver, запущений у командному рядку Ruby

Крок 2) Гем-база watir-webdriver успішно встановлюється.

Вивід консолі, що підтверджує встановлення гем-платформи watir-webdriver

⚠️ Примітка про застаріле використання: Гем watir-webdriver було згорнуто в основний ватир дорогоцінний камінь у Watir 6.0, а власний репозиторій тепер вказує користувачам лише на заміну. ​​На новій машині запустіть встановлення дорогоцінного каменю watir замість цього. Історична команда вище збережена, оскільки саме її видно на скріншотах.

Cucumber Структура папок проекту

Cucumber знаходить файли за домовленістю, а не за конфігурацією, тому макет має більше значення, ніж здається на перший погляд. Мінімальний проект виглядає так:

Шлях Тримає
особливості/ Кожен файл .feature, написаний мовою Gherkin. Cucumber виконує пошук тут за замовчуванням.
функції/визначення_кроків/ Файли Ruby, блоки яких відповідають кожному рядку Given, When та Then.
функції/підтримка/ Код налаштування завантажується перед виконанням будь-якого кроку, наприклад, env.rb, де зазвичай відкривається та закривається браузер.

Два правила позбавлять вас великої плутанини пізніше. Cucumber ігнорує ключове слово, коли воно відповідає кроку, тому Враховуючи, що у мене є змінна a та Тоді в мене є змінна a конфліктують з тим самим визначенням. А текст кроку у файлі функцій має точно відповідати регулярному виразу у файлі кроків, включаючи розділові знаки.

Ім’я Cucumber Script

У наведеному нижче прикладі множиться два числа, чого достатньо, щоб довести, що файл функцій, файл кроків та gem взаємодіють один з одним.

Крок 1) Відкрийте редактор RubyMine з Windows Меню «Пуск».

Відкриття RubyMine з Windows меню Пуск

Панель інструментів RubyMine виглядає, як показано нижче.

Панель інструментів RubyMine, що відображається після відкриття редактора

Крок 2) Створіть новий проект у редакторі RubyMine.

Запуск нового проєкту з панелі інструментів RubyMine

Введіть назву та місце розташування проєкту, а потім підтвердьте.

Введення назви та розташування проекту в діалоговому вікні нового проекту

Крок 3) Створіть каталог файлів.

Створення нового каталогу всередині проекту RubyMine

Новий каталог відображається в дереві проекту.

Дерево проекту, що показує щойно створений каталог функцій

Крок 4) Створіть та збережіть файл у вашапапка/функції/ з ім'ям назва_вашего_файлу.функція.

Створення файлу функцій у каталозі функцій

Перевірте, чи ім'я файлу закінчується розширенням .feature.

Найменування нового файлу з розширенням .feature

Крок 5) Щоб виконати наш сценарій, збережіть наступні команди у файлі функцій.

Файл feature відкритий у редакторі RubyMine, готовий до сценарію

Code:

Feature: Multiplication 
I multiply two numbers 
	Scenario: multiply a and b 
		Given I have variable a 
		And I have variable b 
		When I multiplication a and b 
		Then I display the Result

Крок 6) Тепер запустіть перший файл функцій.

Натисніть Запустіть командний рядок за допомогою Ruby та запустіть команду cucumber з папки проекту.

Запуск командного рядка Ruby для запуску файлу функцій

Консоль видасть результат, як показано нижче.

Вивід консолі з першого Cucumber запуск файлу функцій

Крок 7) Створіть файл визначення кроку для файлу об'єктів.

Створіть нову папку в редакторі RubyMine.

Створення нової папки в проекті RubyMine для визначення кроків

Найменування нової папки визначень кроків

Крок 8) Збережіть файл у вашапапка/функції/визначення_кроків з ім'ям test_step.rb.

Збереження нового файлу Ruby в папці визначень кроків

Введення test_step.rb як імені файлу визначення кроку

Крок 9) Запишіть наступний код у файл step.

Файл визначення кроку, відкритий у редакторі перед додаванням коду

Code:

Given(/^I have variable a$/) do
@a = 50
end

And(/^I have variable b$/) do
@b = 70
end

When(/^I multiplication a and b$/) do 
@mul = @a * @b
end

Then(/^I display the Result$/) do 
puts "Multiplication of #{@a} and #{@b} is #{@mul}"
end

Крок 10) Тепер знову запустіть файл функцій.

Запуск файлу функцій вдруге після визначення кроків

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

Cucumber вивід консолі після запуску файлу функцій із визначеними кроками

загальний Cucumber Помилки встановлення та як їх виправити

Більшість невдач на цьому етапі виникають через навколишнє середовище, а не через CucumberЦе ті, кого варто впізнати з першого погляду.

Повідомлення Викликати виправляти
«огірок» не розпізнається як внутрішня чи зовнішня команда Каталог Ruby bin не знаходиться в PATH, або ви знаходитесь у звичайному вікні cmd. відкритий Запустіть командний рядок за допомогою Rubyабо перевстановіть Ruby з вибраною опцією PATH.
SSL_connect повернуто=1 errno=0 state=error: перевірка сертифіката не вдалася RubyGems не може перевірити ланцюжок сертифікатів, зазвичай за корпоративним проксі-сервером. Оновіть RubyGems за допомогою gem update –system або налаштуйте проксі-сервер за допомогою ключа –http-proxy.
ПОМИЛКА: Не вдалося створити розширення gem native Відсутній комплект розробки MSYS2. Запустіть ridk install та виберіть опції набору інструментів MSYS2 та MINGW.
недійсний параметр: -version Для довгого варіанту використовувався один дефіс. Введіть огірок – варіант з двома дефісами.
Невизначений крок із запропонованим фрагментом коду, надрукованим під ним Cucumber знайдено файл функцій, але відповідного визначення немає. Вставте запропонований фрагмент коду у файл у features/step_definitions та заповніть його тілом.
неможливо завантажити такий файл — watir Гем встановлено для іншої версії Ruby, ніж та, що працює. Перевірте ruby ​​-v та gem list watir у тому ж запиті, а потім перевстановіть gem там.

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

Поширені запитання

Ні. Cucumber-JVM охоплює Java, Котлін та Скала, Cucumber.js обкладинки JavaСкрипти та порти існують для кількох інших мов програмування. Версія Ruby, описана тут, є оригінальною реалізацією, а синтаксис Gherkin ідентичний для всіх них.

Будь-який редактор працює, оскільки файл функцій — це звичайний текст. RubyMine додає автодоповнення Gherkin та перехід до визначення, тоді як Visual Studio Code пропонує подібну поведінку безкоштовно через розширення Ruby та Cucumber розширення.

Так, для будь-якого пакету, який запускає більше однієї людини. Gemfile з явною версією cucumber та зафіксованим Gemfile.lock означає, що кожна машина та кожен агент CI вирішує один і той самий gem, що усуває цілий клас збоїв типу «працює на моїй машині».

Зовсім ні. Watir це зручна обгортка Selenium, тому ви можете вимагати gem selenium-webdriver безпосередньо у визначеннях кроків. Watir просто надає коротший синтаксис елементів для проєктів Ruby.

Cucumber вже друкує фрагмент коду для кожного невизначеного кроку, а помічники штучного інтелекту розширюють його, заповнюючи тіло з навколишніх об'єктів сторінки. Розглядайте вивід як перший чернетку, оскільки згенеровані селектори часто бувають неправильними.

Так. Copilot розпізнає такі поняття, як «Особливість», «Сценарій», «Дано», «Коли» та «Тоді», і пропонує подальші сценарії в тому ж стилі. Найслабше він оцінює, які сценарії дійсно додають покриття, а не повторюють існуючий.

Оновлення патчів в межах однієї гілки, такі як з 3.4.0 до 3.4.3, можуть повторно використовувати той самий каталог та зберігати існуючі геми. Переміщення між стабільними гілками потребує нового цільового каталогу, оскільки геми з розширеннями C несумісні між ними.

Три варіанти покривають більшість потреб: –dry-run перевіряє, чи кожен крок має визначення, не виконуючи нічого, –tags запускає позначену підмножину сценаріїв, а –format встановлює репортер, наприклад, pretty output локально та JSON або HTML для сервера збірки.

Підсумуйте цей пост за допомогою: