Cách tải xuống và cài đặt CUCUMBER trong Windows

⚡ Tóm tắt thông minh

Cucumber cài đặt trên Windows Cần bốn thành phần theo thứ tự: Ruby cùng với bộ công cụ phát triển của nó, Cucumber Bao gồm chính gem đó, một trình soạn thảo như RubyMine, và một thư viện trình điều khiển trình duyệt. Mỗi thứ đều được cài đặt trong vài phút.

  • 🔘 Đầu tiên là Ruby: Cucumber Đây là một gem Ruby, vì vậy trình cài đặt Ruby+Devkit từ RubyInstaller phải được cài đặt trước khi thực hiện bất kỳ thao tác nào khác.
  • ☑️ Một lệnh: Lệnh `gem install cucumber` sẽ tải gem và các thư viện phụ thuộc của nó trực tiếp từ RubyGems ngay trên dòng lệnh.
  • Xác minh ngay lập tức: Chạy lệnh `cucumber –version` sẽ xác nhận gem đã được nhận diện và tệp thực thi nằm trong biến môi trường PATH của hệ thống.
  • 🧪 (Tùy chọn chỉnh sửa) RubyMine cung cấp tính năng tô sáng cú pháp và điều hướng từng bước, nhưng bất kỳ trình soạn thảo nào lưu trữ văn bản thuần túy đều có thể chạy tệp tính năng.
  • 🛠️ Trình điều khiển trình duyệt: Watir kết thúc tốt đẹp Selenium và điều khiển trình duyệt; tên gem hiện đại là watir, chứ không phải watir-webdriver đã ngừng hoạt động.
  • 📊 Bố cục cố định: Các tệp tính năng nằm trong thư mục features, các định nghĩa bước nằm trong thư mục features/step_definitions, hoặc Cucumber Không thể khớp một bước.

Tải về và cài đặt Cucumber on Windows với Ruby, RubyMine và Watir

Cucumber Việc lắp đặt có vẻ tốn thời gian, nhưng thực ra khá dễ dàng một khi các bộ phận được sắp xếp đúng thứ tự. Dưới đây là sơ đồ các bộ phận cần được lắp đặt để tạo ra sản phẩm. Cucumber làm việc.

Điều kiện tiên quyết để cài đặt Cucumber on Windows

Cucumber Được phân phối dưới dạng gem Ruby, vì vậy mọi thứ sẽ không hoạt động cho đến khi Ruby được cài đặt. Hãy xác nhận những điều sau trước khi tải xuống bất cứ thứ gì:

  • Windows Hệ điều hành 10 trở lên, 64-bit. RubyInstaller không còn khuyến nghị sử dụng bản dựng 32-bit trừ khi bạn phụ thuộc vào các DLL gốc 32-bit hoặc các đối tượng COM.
  • Quyền quản trị viên. Trình cài đặt ghi vào thư mục Program Files và chỉnh sửa biến môi trường PATH.
  • Kết nối Internet. Cả hai lệnh `gem install` bên dưới đều tải các gói từ RubyGems.
  • Khoảng 1 GB dung lượng ổ đĩa trống Đối với Ruby cộng với bộ công cụ phát triển MSYS2, và còn nhiều hơn nữa nếu bạn thêm RubyMine.
  • Một trình duyệt để tự động hóa. Watir trình điều khiển Chrome, Edge hoặc Firefox thông qua SeleniumVì vậy, ít nhất một thiết bị phải được cài đặt.

Có hai lệnh đáng nhớ để sử dụng sau này: ruby -v in ra phiên bản Ruby, và đá quý -v Lệnh này in ra phiên bản RubyGems. Nếu cả hai đều thất bại, điều đó có nghĩa là biến môi trường PATH chưa được cập nhật và bạn nên chạy lại trình cài đặt thay vì gỡ lỗi.

Cài đặt Ruby và DevKit

Hãy bắt đầu với gói Ruby+Devkit, gói này bao gồm bộ công cụ biên dịch mà các gem có phần mở rộng C cần.

Bước 1) Đi đến https://rubyinstaller.org/downloads/ và chọn trình cài đặt. Trang tải xuống được hiển thị bên dưới.

Trang tải xuống RubyInstaller liệt kê các trình cài đặt Ruby và Ruby+Devkit.

⚠️ Ghi chú phiên bản: Kho lưu trữ DevKit riêng biệt mà hướng dẫn ban đầu đề cập đến đã được thay thế bằng bộ công cụ MSYS2, mà Ruby+Devkit Gói cài đặt được cung cấp dưới dạng một thành phần có thể lựa chọn. RubyInstaller hiện khuyến nghị bản dựng Ruby+Devkit 4.0.X (x64) cho người dùng mới và bộ công cụ sẽ được cập nhật sau này. cài đặt ridk Thay vì chạy lại dk.rb, các bước dưới đây vẫn không thay đổi.

Bước 2) Mở tập tin đã tải xuống. Trên màn hình đầu tiên:

  1. Chấp nhận giấy phép
  2. Nhấp vào nút Tiếp theo

Màn hình thỏa thuận cấp phép trình cài đặt Ruby với nút Tiếp theo

Bước 3) Trên màn hình tiếp theo:

  1. Chọn thư mục cài đặt của bạn
  2. Chọn tất cả các tùy chọn
  3. Nhấp vào Cài đặt

Chọn thư mục cài đặt Ruby và chọn tất cả các tùy chọn cài đặt.

Bước 4) Trên màn hình tiếp theo, bấm Tiếp theo.

Màn hình chọn thành phần cài đặt Ruby trước khi quá trình sao chép bắt đầu.

Bước 5) Chờ quá trình cài đặt hoàn tất.

Tiến trình cài đặt Ruby diễn ra trong khi các tập tin đang được sao chép vào ổ đĩa.

Bước 6) Nhấp vào Hoàn tất.

Màn hình cài đặt Ruby cuối cùng với nút Hoàn tất.

Bước 7) Sau khi quá trình cài đặt hoàn tất, hãy chạy Ruby từ... Windows Thực đơn bắt đầu.

Windows Mục menu Bắt đầu mở cửa sổ dòng lệnh với Ruby

Bước 8) Bạn sẽ thấy cửa sổ dòng lệnh Ruby tương tự như sau: Windows Cửa sổ lệnh.

Cửa sổ dòng lệnh Ruby đã sẵn sàng để chấp nhận các lệnh gem.

đặt Cucumber

Khi Ruby nằm trong biến môi trường PATH, việc cài đặt gem chỉ là một lệnh duy nhất.

Bước 1) Nhập gem install cucumber trong cửa sổ dòng lệnh Ruby. Lệnh này tải xuống và cài đặt... Cucumber Ngay trên dòng lệnh.

Tôi đã gõ lệnh `gem install cucumber` vào cửa sổ dòng lệnh Ruby.

Sau vài giây Cucumber Quá trình cài đặt bắt đầu và báo cáo từng phần phụ thuộc mà nó tải về.

Cucumber Kết quả cài đặt gem liệt kê các thư viện phụ thuộc đang được cài đặt.

Bước 2) Để xác minh xem Cucumber Đã cài đặt thành công, loại phiên bản dưa chuộtLưu ý có hai dấu gạch ngang — một dấu gạch ngang duy nhất không phải là lựa chọn dài hợp lệ.

Lệnh `cucumber --version` hiển thị các phiên bản đã cài đặt. Cucumber phiên bản

Cài đặt IDE RubyMine

Trình soạn thảo không thực sự cần thiết, nhưng RubyMine hiểu Gherkin và có thể nhảy từ bước này sang bước định nghĩa của nó. Hãy làm theo các bước bên dưới để cài đặt.

Màn hình chào mừng của trình hướng dẫn cài đặt RubyMine

Bước 1) Nhấp vào Tiếp theo để tiếp tục cài đặt RubyMine.

Trang đầu tiên của trình cài đặt RubyMine với nút Tiếp theo.

Bước 2) Chọn vị trí cài đặt.

Chọn thư mục cài đặt RubyMine

Bước 3) Thiết lập các tùy chọn cài đặt.

Các tùy chọn cài đặt RubyMine, chẳng hạn như lối tắt và liên kết tệp.

Bước 4) Chọn thư mục Menu Bắt đầu.

Chọn thư mục menu Bắt đầu cho lối tắt RubyMine

Bước 5) Nhấp vào Cài đặt.

Trình cài đặt RubyMine đã sẵn sàng để sao chép các tập tin sau khi bạn nhấp vào nút Cài đặt.

Bước 6) Nhấp vào Hoàn tất.

Màn hình cài đặt RubyMine đã hoàn tất với nút Hoàn tất.

Bước 7) Chọn Không nhập cài đặt.

Hộp thoại cài đặt nhập khẩu xuất hiện khi khởi chạy RubyMine lần đầu.

Bước 8) Nhấp vào Đánh giá.

Cửa sổ kích hoạt giấy phép RubyMine với tùy chọn Đánh giá

Bước 9) Chấp nhận giấy phép.

Chấp nhận thỏa thuận cấp phép RubyMine

Bước 10) Chọn Bỏ qua các mục còn lại và Đặt mặc định.

Màn hình tùy chỉnh ban đầu của RubyMine với các tùy chọn Bỏ qua phần còn lại và Đặt mặc định.

Bước 11) Mở trình soạn thảo.

Màn hình chào mừng của RubyMine với tùy chọn Mở

Bước 12) Tạo dự án mới.

Hộp thoại tạo dự án mới trong RubyMine

⚠️ Ghi chú phiên bản: RubyMine là một phần mềm trả phí. JetBrains sản phẩm có thời gian dùng thử giới hạn, đó chính là điều mà nút "Đánh giá" ở Bước 8 bắt đầu. Một lựa chọn thay thế miễn phí là Visual Studio Code với một viên Ruby và một Cucumber (Gherkin) phần mở rộng; phần còn lại của hướng dẫn này hoạt động tương tự trong cả hai trình soạn thảo.

Cài đặt watir-webdriver

Cucumber Nó chỉ thực hiện các bước. Một thứ khác phải mở trình duyệt, và công việc đó thuộc về... Watir, một lớp bao bọc Ruby xung quanh SeleniumNếu bạn muốn điều khiển trình duyệt trực tiếp, cùng một dự án có thể gọi một hàm thông thường. Tập lệnh WebDriver.

Bước 1) Bấm vào Khởi động Command Prompt với Ruby và chạy lệnh cài đặt gem install watir-webdriver.

Tôi đang chạy lệnh `gem install watir-webdriver` trong cửa sổ dòng lệnh Ruby.

Bước 2) Gem watir-webdriver được cài đặt thành công.

Thông báo trên console xác nhận gem watir-webdriver đã được cài đặt.

⚠️ Lưu ý về việc ngừng hỗ trợ: Thư viện watir-webdriver đã được tích hợp vào thư viện chính. nước viên đá quý tại Watir 6.0, và kho lưu trữ của nó hiện chỉ hướng người dùng đến phiên bản thay thế. Trên một máy mới, hãy chạy gem install watir Thay vào đó. Lệnh lịch sử ở trên được giữ lại vì đó là những gì ảnh chụp màn hình hiển thị.

Cucumber Cấu trúc thư mục dự án

Cucumber Chương trình tự động tìm kiếm tập tin theo quy ước chứ không phải theo cấu hình, vì vậy bố cục quan trọng hơn vẻ bề ngoài ban đầu. Một dự án tối thiểu trông như thế này:

Đường dẫn Những Đặt Giữ (Holds)
đặc trưng/ Mọi tập tin .feature đều được viết bằng Gherkin. Cucumber Tìm kiếm ở đây theo mặc định.
features/step_definitions/ Các tập tin Ruby có các khối lệnh khớp với từng dòng Given, When và Then.
tính năng/hỗ trợ/ Mã thiết lập được tải trước khi bất kỳ bước nào chạy, chẳng hạn như env.rb, nơi trình duyệt thường được mở và đóng.

Hai quy tắc này sẽ giúp tránh được rất nhiều sự nhầm lẫn về sau. Cucumber bỏ qua từ khóa khi nó khớp với một bước, vì vậy Giả sử tôi có biến aSau đó tôi có biến a Xung đột với cùng một định nghĩa. Và văn bản bước trong tệp tính năng phải khớp chính xác với biểu thức chính quy trong tệp bước, bao gồm cả dấu câu.

Tên Cucumber Script

Ví dụ dưới đây nhân hai số, điều này đủ để chứng minh rằng tệp tính năng, tệp bước và gem đều đang tương tác với nhau.

Bước 1) Mở trình soạn thảo RubyMine từ... Windows Thực đơn bắt đầu.

Mở RubyMine từ Windows Menu bắt đầu

Giao diện bảng điều khiển RubyMine hiển thị như hình bên dưới.

Giao diện bảng điều khiển RubyMine hiển thị sau khi trình chỉnh sửa được mở.

Bước 2) Tạo một dự án mới trong trình soạn thảo RubyMine.

Bắt đầu một dự án mới từ bảng điều khiển RubyMine.

Đặt tên và địa điểm cho dự án, sau đó xác nhận.

Nhập tên dự án và vị trí vào hộp thoại dự án mới.

Bước 3) Tạo thư mục tập tin.

Tạo thư mục mới bên trong dự án RubyMine.

Thư mục mới xuất hiện trong cây thư mục dự án.

Cây thư mục dự án hiển thị thư mục tính năng mới được tạo.

Bước 4) Tạo và lưu tệp tin trong thư mục của bạn/tính năng/ với cái tên yourfilename.feature.

Tạo tệp tính năng bên trong thư mục features.

Hãy xác nhận tên tệp sao cho nó kết thúc bằng phần mở rộng .feature.

Đặt tên cho tệp mới với phần mở rộng .feature.

Bước 5) Để thực thi kịch bản của chúng ta, hãy lưu các lệnh sau vào tệp tính năng.

Tệp tính năng đã được mở trong trình soạn thảo RubyMine, sẵn sàng cho kịch bản.

Mã 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

Bước 6) Bây giờ hãy chạy tập tin tính năng đầu tiên.

Nhấp vào Khởi động Command Prompt với Ruby và chạy lệnh cucumber từ thư mục dự án.

Khởi chạy cửa sổ dòng lệnh Ruby để chạy tệp tính năng.

Màn hình điều khiển hiển thị kết quả như hình bên dưới.

Kết quả đầu ra trên bảng điều khiển từ lần đầu tiên Cucumber chạy tệp tính năng

Bước 7) Tạo tệp định nghĩa bước cho tệp tính năng.

Tạo một thư mục mới trong trình soạn thảo RubyMine.

Tạo thư mục mới trong dự án RubyMine để lưu trữ các định nghĩa bước.

Đặt tên cho thư mục định nghĩa bước mới.

Bước 8) Lưu tệp tin vào yourfolder/features/step_definititons với cái tên test_step.rb.

Lưu một tệp Ruby mới vào thư mục định nghĩa bước.

Nhập test_step.rb làm tên tệp định nghĩa bước.

Bước 9) Viết đoạn mã sau vào tệp bước.

Tệp định nghĩa bước phải được mở trong trình soạn thảo trước khi thêm mã.

Mã 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

Bước 10) Bây giờ hãy chạy lại tập tin tính năng.

Chạy lại tập tin tính năng lần thứ hai sau khi các bước đã được xác định.

Kết quả được in ra trên bảng điều khiển và mỗi bước đều được báo cáo là đã hoàn thành.

Cucumber Hiển thị đầu ra trên bảng điều khiển sau khi tập tin tính năng được chạy với các bước đã xác định.

Chung Cucumber Các lỗi cài đặt và cách khắc phục chúng

Hầu hết các thất bại ở giai đoạn này đều xuất phát từ môi trường chứ không phải từ bản thân người gây ra lỗi. CucumberĐây là những loài dễ nhận biết ngay từ cái nhìn đầu tiên.

Tin nhắn Nguyên nhân Sửa chữa
'cucumber' không được nhận dạng là lệnh nội bộ hoặc lệnh bên ngoài. Thư mục bin của Ruby không có trong biến môi trường PATH, hoặc bạn đang sử dụng cửa sổ cmd thông thường. Mở Khởi động Command Prompt với RubyHoặc cài đặt lại Ruby với tùy chọn PATH được chọn.
SSL_connect trả về=1 errno=0 state=error: xác minh chứng chỉ không thành công RubyGems không thể xác thực chuỗi chứng chỉ, thường là do hệ thống nằm sau máy chủ proxy của công ty. Cập nhật RubyGems bằng lệnh `gem update –system`, hoặc cấu hình proxy bằng tùy chọn `-http-proxy`.
LỖI: Không thể xây dựng phần mở rộng gốc của gem. Bộ công cụ phát triển MSYS2 bị thiếu. Chạy lệnh ridk install và chọn các tùy chọn bộ công cụ MSYS2 và MINGW.
Tùy chọn không hợp lệ: -version Dấu gạch ngang đơn được sử dụng cho tùy chọn dài. Nhập cucumber –version với hai dấu gạch ngang.
Bước không xác định, với đoạn mã gợi ý được in bên dưới. Cucumber Đã tìm thấy tệp tính năng nhưng không tìm thấy định nghĩa phù hợp. Sao chép đoạn mã được đề xuất vào một tệp trong thư mục features/step_definitions và điền nội dung vào phần thân.
Không thể tải tệp như vậy — watir Gem này được cài đặt cho một phiên bản Ruby khác với phiên bản đang chạy. Kiểm tra lệnh `ruby -v` và `gem list watir` trong cùng một cửa sổ lệnh, sau đó cài đặt lại gem ở đó.

Khi kịch bản nhân báo cáo thành công, quá trình cài đặt hoàn tất và dự án đó có thể phát triển thành một dự án hoàn chỉnh. kiểm tra tự động hóa phòng suite, cho dù nó được sử dụng cho thử nghiệm chức năng hoặc hàng đêm kiểm tra hồi quy.

Câu Hỏi Thường Gặp

STT Cucumber-JVM bao gồm JavaKotlin và Scala, Cucumber.js bao gồm JavaScript và các phiên bản port đã có sẵn cho một số ngôn ngữ khác. Phiên bản Ruby được mô tả ở đây là bản triển khai gốc, và cú pháp Gherkin giống hệt nhau trên tất cả các phiên bản đó.

Bất kỳ trình soạn thảo nào cũng hoạt động được, vì tệp tính năng là văn bản thuần túy. RubyMine bổ sung tính năng tự động hoàn thành Gherkin và nhảy đến định nghĩa, trong khi đó Visual Studio Code cung cấp chức năng tương tự miễn phí thông qua một tiện ích mở rộng Ruby và một Cucumber gia hạn.

Đúng vậy, đối với bất kỳ bộ ứng dụng nào có nhiều hơn một người chạy. Một Gemfile với phiên bản Cucumber được chỉ định rõ ràng và một Gemfile.lock đã được cam kết có nghĩa là mọi máy và mọi tác nhân CI đều giải quyết cùng một gem, điều này loại bỏ toàn bộ các lỗi "chỉ hoạt động trên máy của tôi".

Không ở tất cả. Watir là một lớp bọc tiện lợi bên ngoài SeleniumVì vậy, bạn có thể yêu cầu trực tiếp gem selenium-webdriver trong các định nghĩa bước của mình. Watir Đơn giản chỉ là cung cấp cú pháp phần tử ngắn gọn hơn cho các dự án Ruby.

Cucumber Nó đã in sẵn một đoạn mã cho mỗi bước chưa được định nghĩa, và các trợ lý AI sẽ mở rộng điều đó bằng cách điền vào phần thân từ các đối tượng trang xung quanh. Hãy coi đầu ra như một bản nháp đầu tiên, vì các bộ chọn được tạo ra thường không chính xác.

Nó làm được điều đó. Copilot nhận biết các yếu tố Tính năng, Kịch bản, Điều kiện đã cho, Khi nào và Sau đó, và sẽ đề xuất thêm các kịch bản khác theo cùng kiểu. Điểm yếu của nó là khả năng đánh giá kịch bản nào thực sự bổ sung thêm nội dung thay vì chỉ lặp lại kịch bản hiện có.

Việc nâng cấp bản vá trong cùng một nhánh, ví dụ từ 3.4.0 lên 3.4.3, có thể sử dụng lại cùng một thư mục và giữ nguyên các gem hiện có. Việc chuyển đổi giữa các nhánh ổn định cần một thư mục đích mới, vì các gem có phần mở rộng C không tương thích giữa chúng.

Ba tùy chọn đáp ứng hầu hết các nhu cầu: –dry-run kiểm tra xem mọi bước đều có định nghĩa mà không thực thi bất cứ điều gì, –tags chạy một tập hợp con các kịch bản được gắn nhãn, và –format thiết lập trình báo cáo, ví dụ: đầu ra đẹp mắt cục bộ và JSON hoặc HTML cho máy chủ xây dựng.

Tóm tắt bài viết này với: