Khả năng mong muốn

Desired Capabilities là một lớp trong Selenium được sử dụng để thiết lập các thuộc tính của trình duyệt nhằm 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ác 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 của trình điều khiển trình duyệt trong hệ thống, v.v. để xác định hành vi của trình duyệt tại thời điểm 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 tôi 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 khả năng mong muốn.

Trong hướng dẫn này, bạn sẽ học-

Tại sao chúng ta cần Khả năng mong muốn?

Desired Capabilities là cần thiết vì mọi kịch bản Thử nghiệm phải được thực thi 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, Thiết bị di động, trình mô phỏng di động, trình mô phỏng di động, v.v. Lớp Khả năng mong muốn giúp chúng tôi cho webdriver biết chúng tôi sẽ sử dụng môi trường nào trong tập lệnh thử nghiệm của mình.

phương pháp setCapability của Loại khả năng mong muốn, được giải thích trong phần sau của hướng dẫn, có thể được sử dụng trong Selenium Grid. Nó được sử dụng để thực hiện song song trên các cấu hình máy khác nhau.

Ví dụ: Lưới

Nó được sử dụng để thiết lập các thuộc tính của trình duyệt (Ví dụ: Chrome, IE), Tên nền tảng (Bán tại. Linux, Windows) được sử dụng trong khi thực thi các trường hợp thử nghiệm.

Trong trường hợp tự động hóa di động, khi chúng tôi thực hiện các thử nghiệm trên các 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 trong Android) có thể được đặt.

Khả năng mong muốn trong Selenium WebDriver

Ví dụ về trình giả lập ở trên cho thấy tập hợp nền tảng là android và tập hợp phiên bản nền tảng là IceCream Sandwich (4.x).

Khả năng mong muốn hữu ích hơn trong các trường hợp như:

  • Trong tự động hóa ứng dụng dành cho thiết bị di động, nơi các thuộc tính trình duyệt và thuộc tính thiết bị có thể được đặt.
  • Trong lưới Selenium khi chúng ta muốn chạy các trường hợp thử nghiệm trên một trình duyệt khác 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 khác nhau

Ở đây chúng ta sẽ thấy một loại phương thức khả năng mong muốn khác nhau và xem cách sử dụng một trong các phương pháp này Phương pháp setCapability .

  1. getBrowserName()
 public java.lang.String getBrowserName()
  1. setBrowserName()
 public void setBrowserName(java.lang.String browserName)
  1. getVersion()
 public java.lang.String getVersion()
  1. setVersion()
 public void setVersion(java.lang.String version)
  1. getPlatform ()
 public Platform getPlatform()
  1. setPlatform ()
 public Platform setPlatform()
  1. phương pháp getCapability

Phương thức getCapability của lớp Des mong muốn 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)
  1. Phương pháp setCapability()

Ứng dụng phương pháp setCapability() của lớp Khả năng mong muốn được sử dụng để đặt thuộc tính của môi trường thử nghiệm như tên thiết bị, tên hệ điều hành và phiên bản, tên trình duyệt và phiên bản, đường dẫn tuyệt đối của thử nghiệm (tệp .apk của Android đang thử nghiệm), Hoạt độ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)

Ví dụ cho phương pháp thiết lập khả năng

Chúng ta hãy xem xét một ví dụ mà chúng ta muốn chạy Test Case trên trình duyệt Internet explorer để mở trang web www.gmail.com bằng 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ờ chạy mã này từ Eclipse và kiểm tra bảng điều khiển.

Đầu ra:

Nó sẽ xuất hiện lỗi sau khi đoạn mã trên được thực thi. Lỗi xảy ra do đường dẫn đến trình điều khiển trình duyệt (IE trong trường hợp trên) không được đặt. Không thể định vị trình duyệt bằng mã selen.

Đường dẫn đến tệp thực thi trình điều khiển phải được đặt bởi thuộc tính hệ thống webdriver.ie.driver; thông tin về biểu mẫu, xem http://code.google.com/p/selenium/wiki/InternetExplorerDriver. Có thể tải xuống phiên bản mới nhất từ ​​http://code.google.com/p/selenium/downloads/list

11 tháng 12 năm 201212: 59: 43PM org.openqa.selenium.ie.InternetExplorerDriverServer khởi tạoLib

CẢNH BÁO: Phương pháp khởi động trình điều khiển IE này không được dùng nữa và sẽ bị loại bỏ trong selen 2.26. Vui lòng tải xuống IEDriverServer.exe từ http://code.google.com/p/selenium/downloads/list và đảm bảo rằng nó nằm trong PATH của bạn.

Dung dịch:

Giải pháp cho vấn đề trên được đưa ra trong phần cảnh báo lỗi của chính nó.

  • Tải xuống Internet ExplorerDriver máy chủ độc lập cho 32bit hoặc 64bit.
  • Lưu trình điều khiển vào một vị trí thích hợp trong hệ thống.
  • Đặt đường dẫn cho trình điều khiển bằng phương pháp System.setProperty .
  • Nó được sử dụng để đặt trình điều khiển IE với thuộc tính webdriver. Nó giúp xác định vị trí tệp thực thi trình điều khiển được lưu trữ trong vị trí hệ thống. (Bán tại: C: IEDriverLocationIEDriver.exe)
 
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();
 }
  
}

Giải thích mã:

Trong đoạn mã trên,

  • Các câu lệnh nhập là nhập các gói cần thiết cho trình điều khiển web selen, các gói bắt buộc cho trình điều khiển Internet Explorer, các gói cho các khả 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.
  • setProperty được sử dụng để thiết lập đường dẫn nơi trình điều khiển được đặt. Trình điều khiển Web sau đó định vị trình điều khiển được yêu cầu.
  • Trang web Gmail được mở trong trình duyệt Internet Explorer bằng phương pháp get .

Đầu ra:

Trường hợp thử nghiệm trên trình duyệt Internet explorer sẽ chạy thành công bằng cách sử dụng Selenium Webdriver.

Sự kết luận

Lớp Khả năng mong muốn sẽ giúp thiết lập một môi trường để xác định hành vi của browser/environment mà bài kiểm tra có thể được thực hiện.

Nó giúp khởi chạy ứng dụng của chúng tôi trong môi trường mong muốn có các khả năng mà chúng tôi mong muốn sử dụng.

Nếu bạn thấy bài viết Khả năng mong muốn trong Selenium WebDriver: thông tin và phương pháp (2022) hữu ích, hãy chia sẻ nó với bạn bè của bạn. Hẹn gặp lại các bạn trong những bài viết tiếp theo. Theo dõi softgeek.org để nhận được các bản cập nhật mới nhất!