Khả năng mong muốn trong Selenium webdriver
⚡ Tóm tắt thông minh
Khả năng mong muốn là Selenium Lớp này lưu trữ các cài đặt trình duyệt, nền tảng và thiết bị dưới dạng các cặp khóa-giá trị, cho phép một bộ kiểm thử duy nhất nhắm mục tiêu đến nhiều môi trường khác nhau. Selenium Lưới điện, lưới điện toán đám mây và tự động hóa di động.
Khả năng mong muốn là gì?
Khả năng mong muốn là một lớp trong Selenium được sử dụng để đặt thuộc tính của trình duyệt để thực hiện kiểm tra trình duyệt chéo của các ứng dụng web. Nó lưu trữ các khả năng dưới dạng cặp khóa-giá trị và các khả năng này được sử dụng để đặt các thuộc tính của trình duyệt như tên trình duyệt, phiên bản trình duyệt, đường dẫn trình điều khiển trình duyệt trong hệ thống, v.v. nhằm xác định hành vi của trình duyệt trong thời gian chạy.
- Khả năng mong muốn cũng có thể được sử dụng để cấu hình phiên bản trình điều khiển của Selenium WebDriver.
- Chúng ta có thể cấu hình phiên bản trình điều khiển như FirefoxDriver, ChromeDriver, InternetExplorerDriver bằng cách sử dụng các chức năng mong muốn.
Ghi chú phiên bản: Selenium 4 Thay thế DesiredCapabilities bằng các lớp Tùy chọn trình duyệt — ChromeOptions, FirefoxOptions, EdgeOptions, InternetExplorerOptions. Các ví dụ dưới đây giữ nguyên cú pháp ban đầu.
Tại sao chúng ta cần những Năng lực mong muốn?
Các năng lực mong muốn là cần thiết vì mọi Kiểm tra kịch bản nên được thực hiện trên một số môi trường thử nghiệm cụ thể. Môi trường thử nghiệm có thể là trình duyệt web, Số Điện Thoại Thiết bị, trình giả lập di động, mô phỏng di động, v.v. Lớp Desired Capabilities giúp chúng ta cho WebDriver biết môi trường nào chúng ta sẽ sử dụng trong kịch bản kiểm thử của mình.
Phương thức setCapability của lớp DesiredCapabilities, được giải thích ở phần sau của trang này, có thể được sử dụng trong Selenium Lưới. Nó được sử dụng để thực hiện một thao tác. thực hiện song song trên các cấu hình máy khác nhau.
Ví dụ: Lưới (như hình bên dưới).
Nó được sử dụng để đặt thuộc tính trình duyệt (Ví dụ: Chrome, IE), Tên nền tảng (Ví dụ: Linux, Windows) được sử dụng trong quá trình thực thi Trường hợp thử nghiệm.
Trong trường hợp tự động hóa thiết bị di động, khi chúng tôi thực hiện thử nghiệm trên nhiều loại thiết bị di động khác nhau, Nền tảng di động (ví dụ: iOS, Android) Phiên bản nền tảng (Ví dụ: 3.x,4.x in Android) có thể thiết lập.
Ví dụ trình giả lập bên dưới hiển thị nền tảng được thiết lập là Android và phiên bản nền tảng được thiết lập là IceCream Sandwich (4.x).
Khả năng mong muốn sẽ hữu ích hơn trong các trường hợp như:
- Trong tự động hóa ứng dụng di động, nơi có thể đặt thuộc tính trình duyệt và thuộc tính thiết bị.
- In Selenium Grid hữu ích khi chúng ta muốn chạy các trường hợp kiểm thử trên các trình duyệt khác nhau với các hệ điều hành và phiên bản khác nhau.
Các loại phương pháp khả năng mong muốn
Ở đây, chúng ta sẽ xem xét các phương thức Desired Capabilities khác nhau và cách sử dụng một trong số đó, phương thức setCapability().
#1) getBrowserName()
public java.lang.String getBrowserName()
#2) setBrowserName()
public void setBrowserName(java.lang.String browserName)
#3) getVersion()
public java.lang.String getVersion()
#4) setVersion()
public void setVersion(java.lang.String version)
#5) getPlatform()
public Platform getPlatform()
#6) setPlatform()
public Platform setPlatform()
#7) Phương thức getCapability()
Phương thức getCapability() của lớp DesiredCapabilities có thể được sử dụng để lấy khả năng hiện đang được sử dụng trong hệ thống.
public java.lang.Object getCapability(java.lang.String capabilityName)
#8) Phương thức setCapability()
Phương thức setCapability() của lớp Desired Capabilities được sử dụng để thiết lập các thuộc tính của môi trường kiểm thử như tên thiết bị, tên và phiên bản hệ điều hành, tên và phiên bản trình duyệt, đường dẫn tuyệt đối của ứng dụng cần kiểm thử (tệp .apk của ứng dụng). Android ứng dụng đang được thử nghiệm), Hoạt động của ứng dụng (trong Android) và appPackage (trong Java).
“phương thức setCapability” trong Java có các khai báo dưới đây:
setCapability : public void setCapability(java.lang.String capabilityName,boolean value)
setCapability :public void setCapability(java.lang.String capabilityName,java.lang.String value)
setCapability :public void setCapability(java.lang.String capabilityName,Platform value)
setCapability :public void setCapability(java.lang.String key,java.lang.Object value)
Đặt khả năng trong Selenium Ví dụ
Hãy xem xét một ví dụ, trong đó chúng ta muốn chạy trường hợp kiểm thử trên trình duyệt Internet Explorer để mở trang web www.gmail.com. Selenium WebDriver.
Sau đây là mã.
import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; public class IEtestforDesiredCapabilities { public static void main(String[] args) { WebDriver driver = new InternetExplorerDriver(); driver.manage().window().maximize(); driver.get("http://gmail.com"); driver.quit(); } }
Bây giờ hãy chạy mã này từ Eclipse và kiểm tra bảng điều khiển.
Đầu ra:
Khi đoạn mã trên được thực thi, nó sẽ báo lỗi sau. Lỗi xảy ra vì đường dẫn đến trình điều khiển trình duyệt (IE trong trường hợp trên) chưa được thiết lập. Trình duyệt không thể được định vị bởi... Selenium Mã.
The path to the driver executable must be set by the webdriver.ie.driver system property; formore information, see http://code.google.com/p/selenium/wiki/InternetExplorerDriver. The latest version can be downloaded from http://code.google.com/p/selenium/downloads/list Dec 11, 201212:59:43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib WARNING: This method of starting the IE driver is deprecated and will be removed in selenium 2.26. Please download the IEDriverServer.exe from http://code.google.com/p/selenium/downloads/list and ensure that it is in your PATH.
Giải pháp:
Giải pháp cho vấn đề trên được đưa ra trong phần cảnh báo của chính lỗi đó.
- Tải xuống máy chủ độc lập Internet ExplorerDriver cho 32bit hoặc 64bit.
- Lưu driver vào vị trí thích hợp trong hệ thống.
- Thiết lập đường dẫn cho trình điều khiển bằng phương thức System.setProperty. Phương thức này được sử dụng để thiết lập trình điều khiển IE với thuộc tính webdriver. Nó giúp định vị tệp thực thi của trình điều khiển được lưu trữ trong thư mục hệ thống. (Ví dụ: “C:\IEDriverLocation\IEDriver.exe”)
Ghi chú phiên bản: Selenium Phiên bản 4.6 trở lên sẽ tự động giải quyết vấn đề trình điều khiển thông qua... Selenium Quản trị viên, vì vậy System.setProperty là tùy chọn. Đoạn mã cũ bên dưới không thay đổi.
import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; import org.openqa.selenium.remote.DesiredCapabilities; public class IEtestforDesiredCapabilities { public static void main(String[] args) { //it is used to define IE capability DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability(CapabilityType.BROWSER_NAME, "IE"); capabilities.setCapability(InternetExplorerDriver. INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); System.setProperty("webdriver.ie.driver", "C:\\IEDriverServer.exe"); //it is used to initialize the IE driver WebDriver driver = new InternetExplorerDriver(capabilities); driver.manage().window().maximize(); driver.get("http://gmail.com"); driver.quit(); } }
Code Giải thích:
Trong đoạn mã trên,
- Các câu lệnh nhập khẩu sẽ nhập các gói cần thiết cho Selenium WebDriver, các gói cần thiết cho trình điều khiển Internet Explorer và các gói cho các chức năng mong muốn.
- setCapability lấy các khả năng khác nhau làm biến đầu vào, sau đó được trình điều khiển web sử dụng để khởi chạy ứng dụng trong môi trường mong muốn.
- Phương thức setProperty được sử dụng để thiết lập đường dẫn nơi đặt trình điều khiển. Sau đó, WebDriver sẽ tìm kiếm trình điều khiển cần thiết.
- Gmail trang web được mở trong trình duyệt Internet Explorer bằng cách sử dụng phương thức “get”.
Đầu ra:
Trường hợp kiểm thử trên trình duyệt Internet Explorer sẽ chạy thành công bằng cách sử dụng Selenium WebDriver.


