Cách chọn giá trị từ trình đơn thả xuống trong Selenium WebDriver



Bài viết này giúp bạn hiểu lớp Chọn trong Selenium WebDriver là gì và cách Chọn một giá trị từ danh sách thả xuống trong Selenium WebDriver

Để thực hiện bất kỳ hành động nào, việc đầu tiênnhiệm vụ cần làm là xác định nhóm nguyên tố. Nói chung, khi làm việc với , bạn có thể phải chọn một số giá trị từ danh sách thả xuống và cũng thực hiện các hoạt động khác và xác thực chúng. Vì vậy, tôi sẽ hướng dẫn cách hiểu của bạn về lớp Chọn trong Selenium WebDriver và cách Lựa chọn một giá trị từ danh sách thả xuống trong Selenium WebDriver.

Tôi sẽ thảo luận về chủ đề này theo thứ tự sau:





Vì vậy, hãy bắt đầu.

Chọn lớp trong Selenium WebDriver

Các Lựa chọn lớp học là một về cơ bản cung cấp việc triển khai thẻ HTML SELECT. Thẻ Chọn cung cấp các phương thức trợ giúp với các tùy chọn chọn và bỏ chọn. Lớp này có thể được tìm thấy dưới Hỗ trợ của Selenium.UI.Select gói hàng. Select thực sự là một lớp bình thường, vì vậy đối tượng của nó cũng được tạo bởi từ khóa Mới và cũng chỉ định vị trí của phần tử web.



Cú pháp:

Chọn oSelect = new Chọn ()

Nó sẽ xuất hiện một lỗi yêu cầu thêm đối số vào lệnh. Vì vậy, chỉ định vị trí phần tử web bằng cách sử dụng .

Nó nói rõ rằng Lựa chọn đang yêu cầu một đối tượng kiểu phần tử cho hàm tạo của nó.



Sau đây,một khi bạn nhận được đối tượng của CHỌN Lớp , bạn có thể truy cập tất cả các phương thức nằm trong LỰA CHỌN lớp bằng cách gõ oSelect + dot sẽ cung cấp tất cả các phương thức trong lớp Chọn. Chọn bất kỳ phương pháp nào tùy theo trường hợp thử nghiệm của bạn.

Vì vậy, bây giờ chúng ta hãy tiếp tục tìm hiểu về các phương pháp khác nhau trong lớp Chọn này.

Chọn lớp trong Selenium WebDriver: Các lệnh Chọn khác nhau

Sau đây là các phương pháp thường được sử dụng nhất để xử lý danh sách thả xuống.

một. selectByVibleText: selectByVibleText (String arg0): void

Rất dễ dàng để chọn hoặc chọn một tùy chọn được đưa ra dưới bất kỳ trình đơn thả xuống nào và nhiều hộp lựa chọn với phương pháp này. Nó nhận một tham số của String là một trong những giá trị trong số Chọn phần tử và nó không trả lại gì.

Cú pháp: oSelect.selectByVosystemText (“văn bản”)

Thí dụ:

Chọn oSelect = new Chọn (driver.findElement (By.id ('hộp tìm kiếm'))) oSelect.selectByVbrokenText ('Blog')

2 . selectByIndex: selectByIndex (int arg0): void

Phương pháp này gần giống với ‘selectByVbrokenText’, nhưng sự khác biệt duy nhất ở đây là người dùng phải cung cấp số chỉ mục cho tùy chọn thay vì văn bản tùy chọn. Nó nhận tham số số nguyên là giá trị chỉ mục của Chọn phần tử và nó không trả lại gì.

Synatx: oSelect.selectByIndex (int)

Thí dụ:

Chọn oSelect = new Chọn (driver.findElement (By.id ('Seacrch-box'))) oSelect.selectByIndex (2)

3. selectByValue: selectByValue (String arg0): void

Phương pháp này một lần nữa tương tự như những gì tôi đã thảo luận trước đó, sự khác biệt duy nhất trong phương pháp này, là nó yêu cầu giá trị của tùy chọn thay vì văn bản tùy chọn hoặc chỉ mục. Nó nhận tham số Chuỗi là một trong các giá trị của Chọn phần tử và nó không trả lại bất cứ điều gì.

di chuột trong css là gì

Cú pháp: oSelect.selectByValue (“văn bản”)

Thí dụ:

Chọn oSelect = new Chọn (driver.findElement (By.id ('Hộp tìm kiếm'))) oSelect.selectByValue ('Đào tạo chứng chỉ Selenium')

Bốn. getOptions: getOptions (): Danh sách

Phương pháp này giúp lấy tất cả các tùy chọn thuộc thẻ Chọn. Nó không có tham số và trả về Danh sách .

Cú pháp: oSelect.getOptions ()

Thí dụ:

Chọn oSelect = new Chọn (driver.findElement (By.id ('Hộp tìm kiếm'))) Danh sách elementCount = oSelect.getOptions () System.out.println (elementCount.size ())

Vì vậy, hãy chuyển sang chủ đề tiếp theo và tìm hiểu về các phương pháp Nhiều lựa chọn

Chọn lớp trong Selenium WebDriver: Lệnh Multiple SELECT hoạt động như thế nào?

Thuộc tính multiple select là một biểu thức boolean. Khi điều này xuất hiện, nó chỉ định rằng nhiều tùy chọn có thể được chọn cùng một lúc. Các tùy chọn này khác nhau đối với các hệ điều hành và trình duyệt khác nhau, cụ thể là:

  • Cho cửa sổ: Giữ nút điều khiển (ctrl) để chọn nhiều tùy chọn.
  • Đối với Mac: Nhấn giữ nút lệnh để chọn nhiều tùy chọn.

Sẽ thân thiện với người dùng khi sử dụng các hộp kiểm thay vì sử dụng các cách thực hiện các thao tác khác nhau vì bạn phải thông báo cho người dùng rằng có nhiều lựa chọn. Có một phương pháp thực sự giúp chỉ định rằng bạn có thể sử dụng nhiều tùy chọn được chọn.

isMultiple

isMultiple (): boolean - Phương thức này cho biết liệu phần tử SELECT có hỗ trợ nhiều tùy chọn lựa chọn cùng một lúc hay không. Phương thức này không chấp nhận gì nhưng trả về một giá trị boolean (true / false).

Cú pháp: oSelect.isMultiple ()

Thí dụ:

Chọn oSelect = new Select (driver.findElement (By.id (Element_ID))) oSelect.selectByIndex (index) oSelect.selectByIndex (index) // Hoặc có thể được sử dụng như oSelect.selectByVibleText (text) oSelect.selectByVibleText (text) / / Hoặc có thể được sử dụng như oSelect.selectByValue (giá trị) oSelect.selectByValue (giá trị)

Chọn lớp trong Selenium WebDriver: Các phương thức DeSelect

Khi bạn chọn một phần tử cụ thể trên trang web, có một số phương pháp sẽ giúp bạn bỏ chọn phần tử đó. Nhưng thách thức duy nhất trong những phương pháp này là chúng không hoạt động DropDown và chỉ làm việc cho Nhiều lựa chọn các yếu tố.

Trong trường hợp bạn muốn bỏ chọn bất kỳ tùy chọn nào đã chọn trước, điều đó có thể được thực hiện với

  • bỏ chọn tất cả ()
  • deselectByIndex
  • bỏ chọnByValue
  • deselectByVnabletext

Hãy để chúng tôi hiểu các phương pháp một cách chi tiết.

  • bỏ chọn tất cả (): Nó 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.

Thí dụ: o Chọn. bỏ chọn tất cả ()

  • deselectByIndex ():bỏ chọn tùy chọn tại chỉ mục đã cho.

Thí dụ: o Chọn. deselectByIndex (2)

  • deselectByValue (): Phương pháp này giúp bỏ chọn tùy chọn có “ giá trị Thuộc tính ”khớp với tham số cụ thể.

Thí dụ: o Chọn. deselectByValue (“13”)

  • deselectByVosystemtext (): Phương pháp này giúp bỏ chọn tùy chọn hiển thị văn bản phù hợp với tham số.

Chọn lớp trong Selenium WebDriver: Làm cách nào để chọn một tùy chọn từ trình đơn thả xuống?

Nhập sqoop từ oracle sang hdfs

Tôi sẽ giúp các bạn hiểu cách này Lựa chọn phương pháp hoạt động với một ví dụ thời gian thực.

Trong trường hợp này, tôi sẽ xem xét làm việc trên một trang web thương mại điện tử nổi tiếng facebook.com.

  • Đầu tiên, thêm các thư viện Java vào hệ thống của bạn.
  • Một IDE nơi bạn có thể viết đoạn mã. Tôi sẽ cân nhắc làm việc trên Eclipse IDE vì nó thân thiện với người dùng.
  • Thêm thư viện Selenium vào dự án.
  • Lấy URL của trang web.
  • Thực hiện các hành động mong muốn trên danh sách thả xuống.

Tôi đã giải thích điều này bằng cách sử dụng 2 chương trình khác nhau. Chương trình đầu tiên sẽ giúp bạn chọn một giá trị từ danh sách thả xuống và chương trình thứ hai giúp thực hiện các thao tác khác nhau trên danh sách thả xuống.

  • Đầu tiên, hãy đặt .
  • Lấy URL của Facebook .
  • Tạo một đối tượng và tìm phần tử bằng cách sử dụng bộ định vị phần tử.
  • Chọn đối tượng của WebElement bằng các phương pháp Chọn.
  • Thoát thực thi trình điều khiển.

Tham khảo mã này:

package Edurekaa import org.junit.Test import org.openqa.selenium.By import org.openqa.selenium.JavascriptExecutor import org.openqa.selenium.WebDriver import org.openqa.selenium.WebElement import org.openqa.selenium.chrome.ChromeDriver import org.openqa.selenium.support.ui.Select public class SelectClass {@Test public static void main (String [] args) ném InterruptException {System.setProperty ('webdriver.chrome.driver', 'C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') WebDriver driver = new ChromeDriver () driver.get (' http://www.facebook.com ') driver.manage (). window (). Maximum () //js.executeScript('window. scrollBy (0,300) ') WebElement month_dropdown = driver.findElement (By.id (' day ')) Chọn oSelect = new Chọn (tháng_dropdown) oSelect.selectByIndex (3) Thread.sleep (3000) WebElement year_yy = driver.findElement (Bởi .id ('year')) Chọn year_y = mới Chọn (year_yy) year_y.selectByValue ('2000') Thread.sleep (3000) WebElement month_m = driver.findElement (By.id ('month')) Sele ct month_d1 = new Chọn (month_m) month_d1.selectByVcturesText ('Jul') driver.quit ()}}

Chương trình thứ hai đề cập đến việc thực hiện các hành động trên danh sách thả xuống. Trong trường hợp này, chúng ta hãy in số tháng và cả tên.

  • Tạo danh sách các Phần mềm Web và Chọn các tùy chọn.
  • Lấy kích thước của tháng thả xuống.
  • In kích thước của danh sách tháng.
  • Tạo một đối tượng khác của WebElement và lấy tên của tháng.
  • In số bằng vòng lặp for.
  • Thoát thực thi trình điều khiển.
package Edurekaa import java.util.List import org.junit.Test import org.openqa.selenium.By import org.openqa.selenium.JavascriptExecutor import org.openqa.selenium.WebDriver import org.openqa.selenium.WebElement import org.openqa .selenium.chrome.ChromeDriver import org.openqa.selenium.support.ui.Select public class SelectClass2 {@Test public static void main (String [] args) ném InterruptException {System.setProperty ('webdriver.chrome.driver', ' C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') Trình điều khiển WebDriver = new ChromeDriver () JavascriptExecutor js = (JavascriptExecutor) trình điều khiển driver.get (' http://www.facebook.com ') driver.manage (). Window () .maximize () //js.executeScript('window.scrollBy(0,300) ') WebElement month_dropdown = driver.findElement (By.id (' month ')) Chọn oSelect = mới Chọn (month_dropdown) Danh sách & ampampltWebElement & ampampgt month_list = oSelect.getOptions ( ) int total_month = month_list.size () System.out.println ('Tổng số là' + total_month) cho (WebElement ele: month_list) {String month_name = ele.getText () System.out.println ('Các tháng là' + month_name)} driver.quit ()}}

Bây giờ với phần này, chúng ta sẽ kết thúc blog “Cách chọn từ trình đơn thả xuống trong Selenium WebDriver”. Tôi hy vọng các bạn thích bài viết này và hiểu cách hoạt động của lớp Chọn trong Selenium.

Bây giờ bạn đã hiểu cách Chọn giá trị từ danh sách thả xuống bằng Selenium, hãy xem của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 650.000 người học hài lòng trải dài trên toàn cầu. Khóa học này được thiết kế để giới thiệu cho bạn các tính năng hoàn chỉnh của Selenium và tầm quan trọng của nó trong phần mềm kiểm thử.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến vấn đề này trong phần nhận xét của “Cách chọn từ trình đơn thả xuống trong Selenium WebDriver” và chúng tôi sẽ liên hệ lại với bạn.