Trong phần này, bạn sẽ học cách xử lý các trình đơn thả xuống trong Selenium WebDriver.
Trước khi tiếp tục phần này, trước tiên chúng ta hãy hiểu một số điều cơ bản về xử lý các trình đơn thả xuống trong Selenium WebDriver.
Chọn trong Selenium WebDriver
Lớp ‘select’ trong Selenium WebDriver được sử dụng để chọn và bỏ chọn tùy chọn trong trình đơn thả xuống. Các đối tượng của kiểu Chọn có thể được khởi tạo bằng cách truyền tham số webElement thả xuống dưới dạng tham số cho phương thức khởi tạo của nó.
- WebElement testDropDown = driver.findElement(By.id(“testingDropdown”));
- Select dropdown = new Select(testDropDown);
Làm cách nào để chọn một tùy chọn từ menu thả xuống?
WebDriver cung cấp ba cách để chọn một tùy chọn từ menu thả xuống.
- selectByIndex – Nó được sử dụng để chọn một tùy chọn dựa trên chỉ mục của nó, bắt đầu bằng 0. Ví dụ: dropdown.selectByIndex ( 5 );
- selectByValue – Nó được sử dụng để chọn một tùy chọn dựa trên thuộc tính ‘giá trị’ của nó. Ví dụ: dropdown.selectByValue(“Database”);
- selectByVbrokenText – Nó được sử dụng để chọn một tùy chọn dựa trên văn bản trên tùy chọn. Ví dụ: dropdown.selectByVisibleText(“Database Testing”);
Xem thêm Selenium WebDriver sử lý Drag và Drop
Hãy để chúng tôi xem xét một trường hợp thử nghiệm trong đó chúng tôi sẽ tự động hóa các tình huống sau:
- Gọi trình duyệt Google Chrome
- Mở URL: https://www.testandquiz.com/selenium/testing.html
- Chọn tùy chọn “Database Testing” từ menu thả xuống
- Đóng trình duyệt
Chúng tôi sẽ tạo trường hợp thử nghiệm của mình từng bước để cung cấp cho bạn hiểu biết đầy đủ về cách xử lý các trình đơn thả xuống trong WebDriver.
Bước 1 . Khởi chạy Eclipse IDE và mở bộ thử nghiệm hiện có “Demo_Test” mà chúng tôi đã tạo trong các phiên trước của hướng dẫn này.
Bước 2 . Nhấp chuột phải vào thư mục “src” và tạo một tệp lớp mới từ New> Class.
Đặt tên Lớp của bạn là “Dropdwn_Test” và nhấp vào nút “Finish”.
Xem thêm AngularJS Select
Bước 3 . Hãy bắt đầu code.
Để gọi trình duyệt Google Chrome, chúng tôi cần tải xuống tệp ChromeDriver.exe và đặt thuộc tính hệ thống “Đang chạy thử nghiệm trên trình duyệt Chrome” thành đường dẫn của tệp ChromeDriver.exe của bạn.
Đây là mã mẫu để đặt thuộc tính hệ thống cho trình điều khiển Chrome:
// System Property for Chrome Driver System.setProperty("webdriver.chrome.driver","D:\\ChromeDriver\\chromedriver.exe");
Sau đó, chúng ta phải khởi tạo trình điều khiển Chrome bằng ChromeDriver Class.
Đây là mã mẫu để khởi tạo trình điều khiển Chrome bằng lớp ChromeDriver.
// Instantiate a ChromeDriver class. r driver=new ChromeDriver();
Kết hợp cả hai khối mã trên, chúng ta sẽ có được đoạn mã để khởi chạy trình duyệt Google Chrome.
// System Property for Chrome Driver m.setProperty("webdriver.chrome.driver","D:\\ChromeDriver\\chromedriver.exe"); // Instantiate a ChromeDriver class. river driver=new ChromeDriver();
Sau đó, chúng tôi cần viết mã sẽ tự động hóa kịch bản thử nghiệm thứ hai của chúng tôi (điều hướng đến URL mong muốn).
Đây là mã mẫu để điều hướng đến URL mong muốn:
// Launch Website driver.navigate().to("https://www.testandquiz.com/selenium/testing.html");
Mã hoàn chỉnh cho đến bây giờ sẽ trông giống như sau:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Partial_Link { public static void main(String[] args) { // System Property for Chrome Driver System.setProperty("webdriver.chrome.driver","D:\\ChromeDriver\\chromedriver.exe"); // Instantiate a ChromeDriver class. WebDriver driver=new ChromeDriver(); // Launch Website driver.navigate().to("https://www.testandquiz.com/selenium/testing.html"); } }
Bước 4. Bây giờ chúng tôi sẽ cố gắng xác định trình đơn thả xuống bằng cách kiểm tra các mã HTML của nó.
Thực hiện theo các bước dưới đây để tìm menu thả xuống trên trang web mẫu.
- Mở URL: https://www.testandquiz.com/selenium/testing.html
- Nhấp chuột phải vào menu thả xuống trên trang web mẫu và chọn Kiểm tra phần tử
- Nó sẽ khởi chạy một cửa sổ chứa tất cả các mã cụ thể liên quan đến sự phát triển của menu thả xuống.
- Hãy ghi lại thuộc tính id của nó.
Bước 5 . Để tự động hóa kịch bản thử nghiệm thứ ba của chúng tôi, chúng tôi cần viết mã sẽ chọn tùy chọn “Kiểm tra cơ sở dữ liệu” từ trình đơn thả xuống.
Đây là mã mẫu để:
//Using Select class for selecting value from dropdown Select dropdown = new Select(driver.findElement(By.id("testingDropdown"))); dropdown.selectByVisibleText("Database Testing"); Thus, our final test script will look something like this: import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.support.ui.Select; public class Dropdwn_Test { public static void main(String[] args) { // System Property for Chrome Driver System.setProperty("webdriver.chrome.driver","D:\\ChromeDriver\\chromedriver.exe"); // Instantiate a ChromeDriver class. WebDriver driver=new ChromeDriver(); // Launch Website driver.navigate().to("https://www.testandquiz.com/selenium/testing.html"); //Using Select class for selecting value from dropdown Select dropdown = new Select(driver.findElement(By.id("testingDropdown"))); dropdown.selectByVisibleText("Database Testing"); // Close the Browser driver.close(); } }
Ảnh chụp màn hình sau đây hiển thị cửa sổ Eclipse cho tập lệnh thử nghiệm của chúng tôi.
Bước 6. Nhấp chuột phải vào mã Eclipse và chọn Run As> Java Application .
Khi thực thi, tập lệnh kiểm tra ở trên sẽ khởi chạy trình duyệt Chrome và tự động hóa tất cả các kịch bản kiểm tra.
Xem thêm Hướng dẫn cài đặt MongoDB