Создайте свой первый Cucumber Скрипт (2 примера)

В этом уроке мы создадим Cucumber Скрипты для тестирования двух сценариев

Cucumber Сценарий 1: Умножить 2 Numbers

Шаг 1) Откройте редактор RubyMine через меню «Пуск» Windows.

Cucumber Скрипт: Умножить 2 Numbers

Шаг 2) В редакторе Rubymine нажмите «Создать новый проект».

Cucumber Скрипт: Умножить 2 Numbers

Шаг 3) Выберите местоположение проекта и нажмите «Создать».

Cucumber Скрипт: Умножить 2 Numbers

Шаг 4) Создать каталог файлов

Cucumber Скрипт: Умножить 2 Numbers

Шаг 5) Назовите каталог как «Особенность»

Cucumber Скрипт: Умножить 2 Numbers

Шаг 6) Создайте и сохраните файл в папке «yourfolder/features/» с именем «yourfilename.feature».

Cucumber Скрипт: Умножить 2 Numbers

Cucumber Скрипт: Умножить 2 Numbers

Шаг 7) Чтобы выполнить наш сценарий, сохраните следующую программу в файле функций.

Cucumber Скрипт: Умножить 2 Numbers

Код:

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

Шаг 8) Теперь давайте запустим наш первый функциональный файл!

Нажмите «Запустить командную строку с Ruby».

Cucumber Скрипт: Умножить 2 Numbers

И результат, который вы получаете,

Cucumber Скрипт: Умножить 2 Numbers

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

Шаг 9) Давайте создадим файл определения шага для нашего файла функций!

Создайте новую папку в редакторе Rubymine с именем «step_definition».

Cucumber Скрипт: Умножить 2 Numbers

Cucumber Скрипт: Умножить 2 Numbers

Шаг 10) Сохраните файл, как показано ниже, в «ваша папка/функции/шаг_определения» с именем test_step.rb.

Cucumber Скрипт: Умножить 2 Numbers

Cucumber Скрипт: Умножить 2 Numbers

Шаг 11) Напишите следующий код в файл шага

Cucumber Скрипт: Умножить 2 Numbers

Код:

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

Шаг 12) Теперь снова запустите наш файл функций:

Cucumber Скрипт: Умножить 2 Numbers

В результате

Cucumber Скрипт: Умножить 2 Numbers

Cucumber Скрипт 2: Проверка вывода при вводе или не вводе идентификатора электронной почты

В этом примере мы используем Ruby

Сценарий тестирования: Проверьте вывод, если идентификатор электронной почты НЕ введен.

Этапы тестирования:

  1. Открыть браузер
  2. Перейти к https://demo.guru99.com/
  3. Do введите идентификатор электронной почты
  4. Нажмите «Отправить»

Сценарий тестирования: Проверьте вывод при вводе идентификатора электронной почты.

Этапы тестирования:

  1. Открыть браузер
  2. Перейти к https://demo.guru99.com/
  3. Введите идентификатор электронной почты
  4. Нажмите «Отправить»

Код в файле функций

Feature: guru99 Demopage Login
To Login in Demopage we have to enter login details
Scenario: Register On Guru99 Demopage without email
Given I am on the Guru99 homepage
When enter blank details for Register
Then error email shown
Scenario: Register On Guru99 Demopage with valid email
Given I am on the Guru99 homepage
When enter details for Register
Then login details shown

Код в файле определения шага

require 'watir-webdriver'

require 'colorize'

browser = Watir::Browser.new

Given (/^I am on the Guru99 homepage$/)do

browser.goto "https://demo.guru99.com"

end

When (/^enter blank details for Register$/)do

browser.text_field(:name,"emailid").set(" ")

browser.button(:name,"btnLogin").click

end

Then (/^error email shown$/)do

puts " Email is Required".red

browser.close

end

When (/^enter details for Register$/)do

browser = Watir::Browser.new

browser.goto "https://demo.guru99.com"

browser.text_field(:name,"emailid").set("guru99@gmail.com")

browser.button(:name,"btnLogin").click

end

Then (/^login details shown$/)do

puts " Sucessfully register"

browser.close

end

Запустите код в командной строке, и вы получите

Проверьте вывод, когда идентификатор электронной почты введен или не введен