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

Mục lục:

Anonim

Khả năng mong muốn

Khả năng mong muốn 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-

  • Khả năng mong muốn là gì?
  • Tại sao chúng ta cần Khả năng mong muốn?
  • Các loại phương pháp khả năng mong muốn khác nhau
  • Ví dụ cho phương pháp khả năng thiết lập

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

Khả năng mong muốn 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.

Các phương pháp setCapability của lớp DesiredCapabilities, đượ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ụ: Grid

Nó được sử dụng để đặt các thuộc tính của trình duyệt (Ví dụ: Chrome, IE), Tên nền tảng (Ví dụ: Linux, Windows) được sử dụng trong khi thực hiện các 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 các thử nghiệm trên các loại thiết bị di động khác nhau, có thể đặt Phiên bản Nền tảng Nền tảng Di động (ví dụ: iOS, Android) (Ví dụ: 3.x, 4.x trong Android).

Ví dụ về trình giả lập ở trên cho thấy bộ nền tảng là android và bộ 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 pháp khả năng mong muốn khác và xem cách sử dụng một trong những 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 (phiên bản java.lang.String)
  1. getPlatform ()
nền tảng công cộng 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 abilityName)
  1. Phương thức setCapability ()

Phương thức 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 ứng dụng đang thử nghiệm (tệp .apk của ứng dụng Android đang thử nghiệm), Hoạt động ứng dụng (trong Android) và appPackage (trong Java).

"setCapability method" trong Java có các khai báo dưới đây:

setCapability: public void setCapability (java.lang.String abilityName, boolean value)
setCapability: public void setCapability (java.lang.String abilityName, java.lang.String value)
setCapability: public void setCapability (java.lang.String abilityName, Platform value)
setCapability: public void setCapability (java.lang.String key, java.lang.Object value)

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

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ã.

nhập org.openqa.selenium.WebDriver;nhập org.openqa.selenium.ie.InternetExplorerDriver;lớp công cộng IEtestforDesosystemCapabilities {public static void main (String [] args) {Trình điều khiển WebDriver = new InternetExplorerDriver ();driver.manage (). window (). Maxim ();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:

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.

Giải pháp :

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 máy chủ độc lập Internet ExplorerDriver 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 thức 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. (Ví dụ: "C: \ IEDriverLocation \ IEDriver.exe")
nhập org.openqa.selenium.WebDriver;nhập org.openqa.selenium.ie.InternetExplorerDriver;nhập org.openqa.selenium.remote.DesosystemCapabilities;lớp công cộng IEtestforDesosystemCapabilities {public static void main (String [] args) {// nó được sử dụng để xác định khả năng của IEKhả năng mong muốn của khả năng = Des mong muốnCapabilities.internetExplorer ();functions.setCapability (CapabilityType.BROWSER_NAME, "IE");Khả năng.setCapability (InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, đúng);System.setProperty ("webdriver.ie.driver", "C: \\ IEDriverServer.exe");// nó được sử dụng để khởi tạo trình điều khiển IETrình điều khiển WebDriver = InternetExplorerDriver mới (khả năng);driver.manage (). window (). Maxim ();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 chứa trình điều khiển. Trình điều khiển Web sau đó định vị trình điều khiển cần thiết.
  • 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.

Phần 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 trình duyệt / môi trường mà bài kiểm tra có thể được thực thi.

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.

Bài viết này được đóng góp bởi Krithika Ramkumar