Khẳng định & Xác minh trong Selenium IDE

⚡ Tóm tắt thông minh

Selenium IDE với Scripts và Commands cho phép người kiểm thử ghi lại, chỉnh sửa và phát lại các thao tác trên trình duyệt bằng Selenese — ngôn ngữ lệnh nhẹ của IDE. Bài viết này sẽ hướng dẫn cách ghi lại một script, viết Selenese thủ công, lựa chọn giữa Assert và Verify, và gỡ lỗi bằng điểm dừng (breakpoint).

  • 🎬 Ghi nhận đầu tiên: Selenium IDE tự động ghi lại các cú nhấp chuột, thao tác nhập liệu và xác nhận trong khi bạn sử dụng trình duyệt.
  • 🧩 Ngôn ngữ Selenese: Mỗi lệnh có tên lệnh, mục tiêu tùy chọn và giá trị tùy chọn — không bao giờ có nhiều hơn hai tham số.
  • 🛑 Khẳng định so với Xác minh: Lệnh Assert dừng quá trình kiểm thử khi xảy ra lỗi; lệnh Verify ghi lại lỗi và tiếp tục bước tiếp theo.
  • 🔍 Ba loại lệnh: Các hành động tương tác với trang, các phương thức truy cập đọc trạng thái vào các biến, các phương thức khẳng định kiểm tra các điều kiện.
  • 🐞 Công cụ hỗ trợ gỡ lỗi: Sử dụng các tùy chọn Thực thi lệnh, Điểm bắt đầu, Điểm dừng và Bước để kiểm tra hoặc chạy lại từng lệnh một.
  • 🤖 Tăng cường AI: Các công cụ kiểm thử AI tự động tạo mã Selenese, đề xuất các bộ định vị mạnh mẽ và chuyển đổi các tập lệnh IDE thành... Selenium Mã WebDriver.

Làm thế nào để bẻ khóa (hack) mật khẩu?

Chúng tôi sẽ sử dụng Mercury Chúng ta sẽ sử dụng trang web Tours làm ứng dụng web thử nghiệm. Đây là một hệ thống đặt vé máy bay trực tuyến chứa tất cả các yếu tố cần thiết cho hướng dẫn này. Cơ sở của nó là... URL is https://demo.guru99.com/test/newtours/.

Bây giờ chúng ta hãy tạo tập lệnh thử nghiệm đầu tiên trong Selenium Chúng ta sẽ sử dụng IDE với phương pháp phổ biến nhất — bằng cách ghi lại. Sau đó, chúng ta sẽ chạy kịch bản bằng tính năng phát lại.

Lưu ý: Hướng dẫn này sử dụng phương pháp cổ điển. Firefox-chỉ có Selenium IDE 1.x với Firebug được sử dụng để giới thiệu các nguyên tắc cơ bản của Selenese. Firebug đã bị loại bỏ vào năm... Firefox 57, và hiện đại Selenium IDE hiện là Chrome / Firefox Tiện ích mở rộng trình duyệt Edge với giao diện người dùng khác biệt. Các khái niệm, loại lệnh và tính năng gỡ lỗi của Selenese bên dưới vẫn áp dụng trực tiếp cho IDE mới.

Tạo tập lệnh bằng cách ghi âm

Bước 1)

  • Khởi động Firefox và Selenium SDI.
  • Nhập giá trị cho Cơ sở của chúng tôi. URL: https://demo.guru99.com/test/newtours/.
  • TogglBật nút Ghi âm (nếu nút này chưa được bật mặc định).

Selenium IDE với Base URL Nút cài đặt và ghi âm được bật.

Bước 2) In Firefox, hướng đến https://demo.guru99.com/test/newtours/. Firefox Bạn sẽ được chuyển hướng đến một trang tương tự như trang bên dưới.

Mercury Trang chủ các tour du lịch tại Firefox

Bước 3)

  • Nhấp chuột phải vào bất kỳ khoảng trống nào trên trang — ví dụ, trên Mercury Biểu tượng của các chuyến du lịch nằm ở góc trên bên trái. Điều này sẽ mở ra... Selenium Menu ngữ cảnh của IDE. Đừng Nhấp chuột vào bất kỳ đối tượng hoặc hình ảnh nào được liên kết.
  • Chọn hình ba gạch Hiển thị các lệnh có sẵn tùy chọn.
  • Chọn assertTitle exact: Welcome: Mercury ToursLệnh này kiểm tra xem tiêu đề trang có chính xác hay không.

Selenium Menu ngữ cảnh IDE với tùy chọn "Hiển thị các lệnh khả dụng"

Selenium Trình soạn thảo IDE hiển thị lệnh assertTitle đã được thêm vào

Bước 4)

  • Trong tạp chí Tên người dùng hộp văn bản của Mercury Các chuyến tham quan, nhập tên người dùng không hợp lệ invalidUNN.
  • Trong tạp chí Mật khẩu Nhập mật khẩu không hợp lệ vào ô văn bản. invalidPWD.

Tên người dùng nhập vào không hợp lệ. Mercury Các tour du lịch hình thành

Mật khẩu nhập vào không hợp lệ. Mercury Các tour du lịch hình thành

Bước 5) Nhấn vào Đăng nhập . Firefox Bạn sẽ được chuyển hướng đến trang hiển thị bên dưới.

Mercury Trang đăng nhập tour không thành công

Bước 6) TogglNhấn nút Ghi để dừng ghi âm. Kịch bản của bạn bây giờ sẽ giống với kịch bản bên dưới.

Selenium Tập lệnh được ghi lại bởi IDE sau khi dừngping máy ghi âm

Bước 7) Bây giờ hãy lưu lại kịch bản kiểm thử đã ghi. Trong Tập tin menu, chọn Lưu trường hợp kiểm thửhoặc nhấn Ctrl+S.

Tùy chọn Lưu trường hợp kiểm thử trong Selenium Menu Tệp IDE

Bước 8)

  • Chọn thư mục đích, sau đó đặt tên cho tệp. trường hợp thử nghiệm Đăng nhập không hợp lệ.
  • Nhấp chuột Tiết kiệm.

Lưu hộp thoại đặt tên Selenium Trường hợp kiểm thử IDE Invalid_login

Bước 9) Xin lưu ý rằng tệp được lưu dưới dạng HTML.

Tệp trường hợp kiểm thử đã lưu có phần mở rộng HTML.

Bước 10) Quay lại Selenium IDE và nhấp vào Phát lại nút để thực thi toàn bộ kịch bản. Selenium IDE tái hiện lại mọi thao tác một cách chính xác.

Selenium Nút Phát lại IDE thực thi kịch bản đã ghi.

Giới thiệu về Selenium Lệnh – Selenese

Selenese là ngôn ngữ chữ viết dùng để điều khiển Selenium Môi trường phát triển tích hợp (IDE). Các quy tắc rất đơn giản:

  • Mỗi lệnh Selenese chấp nhận tối đa hai tham số — một mục tiêugiá trị.
  • Không phải lúc nào cũng cần tham số. Số lượng tham số phụ thuộc vào lệnh.

Các loại lệnh

Các nhóm mệnh lệnh của người Selenese được chia thành ba loại. Mỗi loại có một vai trò khác nhau trong kịch bản.

Hoạt động Các lệnh tương tác trực tiếp với các phần tử trên trang. Ví dụ: click Tương tác với phần tử mà bạn nhấp vào; type Nhập một giá trị vào hộp văn bản và hộp văn bản sẽ trả về giá trị đó, tạo ra sự tương tác hai chiều.
Người truy cập Các lệnh lưu trữ một giá trị vào một biến. Ví dụ: storeTitle Chương trình chỉ đọc tiêu đề trang và lưu lại — nó không thay đổi bất cứ điều gì trên trang.
Khẳng định Các lệnh dùng để xác minh một điều kiện. Selenese cung cấp ba loại xác nhận: Khẳng định Dừng quá trình kiểm tra khi xảy ra lỗi. Xác minh ghi lại lỗi và tiếp tục, và Chờ Tạm dừng cho đến khi một điều kiện trở thành đúng (thời gian chờ mặc định là 30 giây, có thể cấu hình trong Tùy chọn > Chung).

Khẳng định so với Xác minh trong Selenium

Các sơ đồ bên dưới so sánh hành vi thực thi của lệnh Assert so với lệnh Verify khi quá trình kiểm tra thất bại giữa chừng.

Khẳng định hành vi lệnh dừngping bài kiểm tra thất bại

Xác minh hành vi của lệnh bằng cách tiếp tục thử nghiệm sau khi xảy ra lỗi đã được ghi lại.

Các lệnh chung

Lệnh Số tham số Mô tả Chi tiết
mở 0-2 Mở một trang bằng cách sử dụng URL.
nhấp chuột / nhấp chuột và chờ 1 Nhấp chuột vào một phần tử được chỉ định.
loại / loại khóa 2 Nhập một chuỗi các ký tự.
verifyTitle / assertTitle 1 So sánh tiêu đề trang thực tế với giá trị mong đợi.
xác minhTextPresence 1 Kiểm tra xem một đoạn văn bản nhất định có được tìm thấy trong trang hay không.
xác minhElementPresent 1 Kiểm tra sự hiện diện của một phần tử cụ thể.
bảng xác minh 2 So sánh nội dung của bảng với các giá trị mong đợi.
chờForPageToLoad 1 Tạm dừng quá trình thực thi cho đến khi trang tải xong.
chờForElementPresent 1 Tạm dừng quá trình thực thi cho đến khi phần tử được chỉ định xuất hiện.

Tạo tập lệnh thủ công với Firebug

Bây giờ chúng ta hãy tạo lại trường hợp kiểm thử tương tự theo cách thủ công bằng cách sử dụng lệnh ty.ping các lệnh. Hướng dẫn này sử dụng Firebug để kiểm tra các bộ định vị phần tử. (Trong phiên bản hiện đại) Selenium (Đối với IDE, hãy sử dụng DevTools tích hợp sẵn của trình duyệt thay vì Firebug.)

Bước 1) Mở Firefox và Selenium IDE. Nhập cơ sở URL https://demo.guru99.com/test/newtours/Nút Ghi âm phải ở trạng thái TẮT.

Selenium Công tắc ghi IDE ở trạng thái TẮT

Bước 2) Nhấp chuột vào dòng trống trên cùng trong Trình chỉnh sửa.

Chọn hàng trống đầu tiên trong Selenium Trình biên tập IDE

Kiểu open Nhập lệnh vào ô văn bản và nhấn Enter.

Lệnh mở được nhập vào Selenium Trường lệnh IDE

Bước 3) Điều hướng Firefox đến cơ sở URL và kích hoạt Firebug. Trong Trình chỉnh sửa IDE, chọn dòng bên dưới open lệnh và kiểu assertTitleHãy sử dụng các gợi ý tự động hoàn thành để có kết quả chính xác hơn.

Gợi ý tự động hoàn thành cho assertTitle trong Selenium IDE

Bước 4) Trong Firebug, hãy mở rộng <head> thẻ để hiển thị <title>Nhấp vào giá trị tiêu đề (Chào mừng: Mercury Chuyến du lịch) và dán nó vào Target trường trong Trình chỉnh sửa.

Sao chép tiêu đề trang từ Firebug vào trường đích của IDE.

Bước 5) Nhấp chuột vào dòng trống thứ ba trong Trình soạn thảo và nhập type trong trường Lệnh. Trong Firebug, nhấp vào Thanh tra .

Nhập lệnh đang được thêm vào Selenium Trình biên tập IDE

Nhấp chuột vào ô văn bản Tên người dùng. Firebug sẽ tự động hiển thị phần tử HTML phù hợp.

Firebug đang kiểm tra trường Tên người dùng trên Mercury Chuyến du lịch

Bước 6) Ô nhập liệu Tên người dùng không có ID, nhưng nó có thuộc tính NAME. Sao chép giá trị NAME và dán vào... Target lĩnh vực Selenium SDI.

Sao chép thuộc tính NAME của trường Tên người dùng

Vẫn còn trong Target trường, tiền tố userName với name= so Selenium IDE nhắm mục tiêu vào phần tử có thuộc tính NAME là userName.

Selenium Trường đích IDE với tên = bộ định vị userName

Kiểu invalidUN trong trường Giá trị. Tập lệnh của bạn giờ đã có lệnh thứ ba. Selenium Môi trường phát triển tích hợp (IDE) phân biệt chữ hoa chữ thường, vì vậy hãy nhập các giá trị và tên thuộc tính chính xác như chúng xuất hiện trong ứng dụng.

Nhập lệnh nhắm mục tiêu tên=userName với giá trị invalidUN

Bước 7) Thêm lệnh thứ tư bằng cách gõping type trong trường Lệnh. Sử dụng Firebug. Thanh tra nút trên ô nhập mật khẩu.

Firebug đang kiểm tra trường Mật khẩu

Dán thuộc tính NAME (password) vào Target trường, tiền tố với name=và đặt Giá trị thành invalidPW.

Selenium Tập lệnh IDE sau khi thêm lệnh nhập mật khẩu

Bước 8) Thêm lệnh thứ năm bằng cách typing clickAndWait trong trường Lệnh. Sử dụng Firebug. Thanh tra trên nút Đăng nhập.

Firebug đang kiểm tra nút Đăng nhập.

Dán giá trị TÊN (login) vào Target lĩnh vực với name= tiếp đầu ngữ.

Hướng dẫn cuối cùng Selenium Tập lệnh IDE với năm lệnh

Bước 9) Lưu trường hợp kiểm thử như trước.

Sử dụng nút Tìm

Tìm kiếm nút trong Selenium IDE xác nhận rằng giá trị được nhập vào Target Trường này thực sự khớp với một phần tử giao diện người dùng trên trang.

Mở Đăng nhập không hợp lệ kiểm thử trường hợp từ phần trước và nhấp vào bất kỳ lệnh nào có dấu ngoặc đơn. Target mục nhập — ví dụ, lệnh thứ ba.

Tìm nút bên cạnh Target lĩnh vực trong Selenium IDE

Nhấp chuột Tìm kiếmÔ nhập tên người dùng trên Mercury Trang về các tour du lịch sẽ được làm nổi bật trong giây lát.

Trường Tên người dùng được tô sáng Firefox sau khi nhấp vào Tìm

Điểm nổi bật xác nhận điều đó Selenium IDE đã xác định vị trí chính xác. Nếu phần tử sai (hoặc không có phần tử nào) được tô sáng, thì cần phải sửa vị trí trong kịch bản.

Thực thi lệnh

Lệnh Execute Command chạy một dòng duy nhất của kịch bản mà không chạy toàn bộ trường hợp kiểm thử. Nhấp chuột vào dòng bạn muốn chạy và chọn một trong hai cách sau: Hành động > Thực thi lệnh này từ menu hoặc nhấn X trên bàn phím

Bước 1) Hãy đảm bảo trình duyệt đang ở chế độ... Mercury Trang chủ các tour du lịch. Nhấp vào tuyến đường bạn muốn đi — ví dụ: type | userName | invalidUN.

Nhập lệnh đã chọn để thực thi trong Selenium IDE

Bước 2) Ấn Bản X trên bàn phím

Bước 3) Ô nhập tên người dùng trên trang được điền sẵn bằng invalidUN.

Trường Tên người dùng được điền tự động sau khi Thực thi lệnh.

Việc thực thi các lệnh theo cách này phụ thuộc vào trang nào. Firefox Hiện đang hiển thị. Chạy lệnh tương tự trên GoogleTrang chủ của 's sẽ bị lỗi vì không có trường nào có tên là userName có.

Điểm xuất phát

Điểm khởi đầu cho biết Selenium IDE chỉ định dòng nào để bắt đầu thực thi. Phím tắt là S.

Điểm bắt đầu được thiết lập trên một Selenium dòng lệnh IDE

Trong ví dụ trên, quá trình phát lại bắt đầu từ dòng thứ ba (type | password | invalidPW). Một kịch bản kiểm thử chỉ có thể có một điểm bắt đầu duy nhất. Tương tự như lệnh Execute Command, điểm bắt đầu phụ thuộc vào trang hiện đang hiển thị và sẽ thất bại nếu trang đó không chính xác.

Điểm dừng

Các điểm ngắt cho biết Selenium IDE cho phép tự động tạm dừng kiểm thử tại một dòng nhất định. Phím tắt là B.

Chỉ báo điểm đột phá trên Selenium dòng lệnh IDE

Vùng được tô vàng thể hiện bước đang tạm dừng. Một trường hợp kiểm thử có thể có nhiều điểm dừng.

Bước

Bước Lệnh này chạy dòng tiếp theo sau khi trường hợp kiểm thử bị tạm dừng. Hãy sử dụng nó cùng với các điểm dừng để thực thi kịch bản từng lệnh một.

Quá trình kiểm tra tạm dừng tại clickAndWait trước khi nhấp vào Step

Trước khi nhấp vào Bước. Quá trình kiểm thử bị tạm dừng ở dòng này. clickAndWait | login.

Kiểm tra nâng cao để chuyển sang lệnh tiếp theo sau khi nhấp vào Bước

Sau khi nhấp vào Bước. clickAndWait | login Lệnh được thực thi và quá trình thực thi tạm dừng ở lệnh tiếp theo (verifyTitle | Sign-on: Mercury Tours). Dòng tiếp theo sẽ tạm dừng ngay cả khi không có điểm ngắt — đó là mục đích của Step.

Những điều quan trọng cần lưu ý khi sử dụng các định dạng khác trong chế độ xem nguồn

Cảnh báo về các định dạng xem mã nguồn không phải HTML

Selenium IDE 1.x chỉ hoạt động ổn định với định dạng HTML — các định dạng khác vẫn đang trong giai đoạn thử nghiệm. Không nên tạo hoặc chỉnh sửa các bài kiểm tra trong chế độ xem mã nguồn không phải HTML. Các sự cố đã biết tính đến phiên bản 1.9.1 là:

  • Bạn không thể sử dụng chức năng Phát lại hoặc chuyển về Chế độ xem Bảng mà không cần quay lại định dạng HTML.
  • Cách an toàn nhất để thêm lệnh trong Chế độ xem mã nguồn là ghi lại chúng.
  • Các chỉnh sửa thủ công trong Chế độ xem mã nguồn sẽ bị mất khi bạn chuyển sang định dạng khác.
  • Bạn có thể lưu trường hợp kiểm thử trong Chế độ xem mã nguồn, nhưng Selenium IDE có thể không mở lại được.

Cách được khuyến nghị để chuyển đổi các bài kiểm tra tiếng Selenese sang các ngôn ngữ khác là: Tệp > Xuất trường hợp kiểm thử dưới dạng… Menu, chứ không phải Chế độ xem mã nguồn.

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

Di sản Firefox-chỉ có Selenium IDE 1.x không còn được hỗ trợ nữa. Phiên bản hiện đại Selenium IDE là một tiện ích mở rộng trình duyệt dành cho Chrome. Firefoxvà Edge từ selenium.dev, hỗ trợ ghi và phát lại cũng như xuất sang mã WebDriver.

Sử dụng Assert cho các điều kiện tiên quyết bắt buộc mà khi đó bài kiểm tra không thể tiếp tục (ví dụ: trang bên phải phải tải xong trước). Sử dụng Verify khi các bước kiểm tra sau vẫn mang lại giá trị ngay cả khi bước kiểm tra hiện tại thất bại, chẳng hạn như xác minh nhiều trường trên một biểu mẫu.

Firebug đã ngừng hoạt động vào năm... Firefox 57. Sử dụng công cụ DevTools tích hợp sẵn của trình duyệt (F12) hoặc các tiện ích mở rộng như SelectorsHub, ChroPath hoặc Playwright Inspector để thu thập XPath và bộ định vị CSS cho Selenium tập lệnh.

Vâng. AI Các nền tảng thử nghiệm theo dõi phiên người dùng, tạo ra các lệnh Selenese, đề xuất các công cụ định vị mạnh mẽ và chuyển đổi các kịch bản đã ghi thành... Selenium Mã WebDriver trong Java, Python, hoặc là JavaViết kịch bản với thao tác thủ công ít hơn nhiều.

Trí tuệ nhân tạo tạo sinh (Generative AI) kiểm tra ảnh chụp DOM và đề xuất các bộ định vị ít có khả năng bị lỗi hơn — ưu tiên các thuộc tính kiểm thử dữ liệu hơn là XPath dễ bị lỗi. Các tác nhân AI tự phục hồi sẽ tự động viết lại các bộ định vị sau khi giao diện người dùng thay đổi, giữ cho...ping Selenium Các tập lệnh IDE màu xanh lá cây.

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