Cách chọn giá trị từ DropDown bằng Selenium Webdriver

Mục lục:

Anonim

Trong hướng dẫn này, chúng ta sẽ học cách xử lý DropDown trong Selenium và Multiple Select Operations.

Chọn lớp trong Selenium

Các Chọn Class trong Selenium là một phương pháp sử dụng để triển khai thẻ HTML SELECT. Thẻ chọn html cung cấp các phương thức trợ giúp để chọn và bỏ chọn các phần tử. Lớp Select là một lớp bình thường nên từ khóa New được sử dụng để tạo đối tượng của nó và nó chỉ định vị trí phần tử web.

Chọn Tùy chọn từ Hộp thả xuống

Sau đây là quy trình từng bước về cách chọn giá trị từ menu thả xuống trong Selenium:

Trước khi xử lý trình đơn thả xuống trong Selenium và kiểm soát các hộp thả xuống, chúng ta phải thực hiện hai điều sau:

  1. Nhập gói org.openqa.selenium.support.ui.Select
  2. Khởi tạo hộp thả xuống dưới dạng một đối tượng, Chọn trong Selenium WebDriver

Ví dụ: hãy truy cập trang Đăng ký của Mercury Tours (http://demo.guru99.com/test/newtours/register.php) và để ý hộp thả xuống "Quốc gia" ở đó.

Bước 1

Nhập gói "Chọn".

Bước 2

Khai báo phần tử thả xuống như một thể hiện của lớp Chọn. Trong ví dụ dưới đây, chúng tôi đặt tên cho phiên bản này là "drpCountry".

Bước 3

Bây giờ chúng ta có thể bắt đầu kiểm soát "drpCountry" bằng cách sử dụng bất kỳ phương pháp Chọn nào có sẵn để chọn menu thả xuống trong Selenium. Mã mẫu bên dưới sẽ chọn tùy chọn "ANTARCTICA."

Chọn các mục trong nhiều phần tử CHỌN

Chúng ta cũng có thể sử dụng phương thức selectByVibleText () để chọn nhiều tùy chọn trong một phần tử nhiều CHỌN. Ví dụ: chúng tôi sẽ lấy http://jsbin.com/osebed/2 làm URL cơ sở. Nó chứa một hộp thả xuống cho phép nhiều lựa chọn cùng một lúc.

Đoạn mã dưới đây sẽ chọn hai tùy chọn đầu tiên bằng phương thức selectByVibleText ().

Chọn phương pháp

Sau đây là các phương pháp phổ biến nhất được sử dụng trong danh sách thả xuống của Selenium.

phương pháp Sự miêu tả
selectByVibleText ()deselectByVosystemText () Ví dụ:
  • Chọn / bỏ chọn tùy chọn hiển thị văn bản phù hợp với tham số.
  • Tham số : Văn bản được hiển thị chính xác của một tùy chọn cụ thể
selectByValue ()deselectByValue () Ví dụ:
  • Chọn / bỏ chọn tùy chọn có thuộc tính "giá trị" khớp với tham số được chỉ định.
  • Tham số : giá trị của thuộc tính "value"
  • Hãy nhớ rằng không phải tất cả các tùy chọn thả xuống đều có cùng văn bản và "giá trị", như trong ví dụ bên dưới.
selectByIndex ()deselectByIndex () Ví dụ:
  • Chọn / bỏ chọn tùy chọn tại chỉ mục đã cho.
  • Tham số : chỉ số của tùy chọn được chọn.
isMultiple () Ví dụ:
  • Trả về TRUE nếu phần tử thả xuống cho phép nhiều lựa chọn cùng một lúc; FALSE nếu ngược lại.
  • Không cần tham số
deselectAll () Ví dụ:
  • Xóa tất cả các mục đã chọn. Điều này chỉ hợp lệ khi phần tử thả xuống hỗ trợ nhiều lựa chọn.
  • Không cần tham số

Đây là mã hoàn chỉnh

gói hàng mới;nhập org.openqa.selenium.WebDriver;nhập org.openqa.selenium.firefox.FirefoxDriver;nhập org.openqa.selenium.support.ui.Select;nhập org.openqa.selenium.By;public class accessDropDown {public static void main (String [] args) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");String baseURL = "http://demo.guru99.com/test/newtours/register.php";Trình điều khiển WebDriver = mới FirefoxDriver ();driver.get (baseURL);Chọn drpCountry = new Chọn (driver.findElement (By.name ("country")));drpCountry.selectByVosystemText ("ANTARCTICA");// Chọn các mục trong nhiều phần tử CHỌNdriver.get ("http://jsbin.com/osebed/2");Chọn hoa quả = mới Chọn (driver.findElement (By.id ("hoa quả")));fruit.selectByVbrokenText ("Chuối");fruit.selectByIndex (1);}}

Tóm lược

Thành phần Chỉ huy Sự miêu tả
Thả cái hộp xuống selectByVibleText () / deselectByVosystemText () chọn / bỏ chọn một tùy chọn theo văn bản hiển thị của nó
selectByValue () / deselectByValue () chọn / bỏ chọn một tùy chọn theo giá trị của thuộc tính "giá trị" của nó
selectByIndex () / deselectByIndex () chọn / bỏ chọn một tùy chọn theo chỉ mục của nó
isMultiple () trả về TRUE nếu phần tử thả xuống cho phép nhiều lựa chọn cùng một lúc; FALSE nếu khác
bỏ chọn tất cả() bỏ chọn tất cả các tùy chọn đã chọn trước đó

Để kiểm soát các hộp thả xuống, trước tiên bạn phải nhập gói org.openqa.selenium.support.ui.Select và sau đó tạo một phiên bản Chọn.