DescriptLập trình QTP/UFT: Động & Tĩnh

Là gì Descriptive Lập trình?

DescriptLập trình ive được sử dụng để thực hiện các hoạt động trên một Đối tượng trong AUT mà định nghĩa của nó không được lưu trữ trong Kho lưu trữ Đối tượng. Sử dụng cơ chế này, bạn có thể bỏ qua việc nhận dạng từ Kho lưu trữ Đối tượng và cung cấp Đối tượng Description trong chính tuyên bố.

Tên đối tượng chỉ được sử dụng để ánh xạ một đối tượng trong tập lệnh với mô tả của nó trong kho đối tượng. Nghĩa là nếu bạn thay đổi tên đối tượng trong tập lệnh và kho lưu trữ đối tượng của mình, tập lệnh sẽ chạy. Xem video sau về khái niệm này

Nhấp chuột vào đây nếu video không thể truy cập được

Video nổi bật

  • Xóa đối tượng Description Tên đại lý Win Chỉnh sửa Box từ Kho lưu trữ đối tượng. Nếu bạn chạy thử nghiệm lại thì nó sẽ thất bại vì nó không thể nhận ra đối tượng. Hãy xem xét lý do tại sao tập lệnh bị lỗi
  • Trong thời gian chạy, Micro Focus UFT xác định hoạt động được thực hiện trên hộp WinEdit và Đối tượng Description trong Object Repository được lưu trữ dưới dạng Agent Name. Nó sử dụng tên này để theo dõi đối tượng trong một object repository. Đối với parent, bạn không thể có hai đối tượng con có cùng tên. Do đó, QTP ánh xạ duy nhất đối tượng trong repository. Sau đó, nó sử dụng mô tả được lưu trữ trong Object Repository và thay thế tên bằng mô tả. Sau đó, nó sử dụng câu lệnh này để xác định đối tượng trong ứng dụng đang được kiểm tra
  • Vì trong trường hợp của chúng tôi, chúng tôi đã xóa hoàn toàn mô tả đối tượng này nên tập lệnh không thành công
  • Nhưng điều gì sẽ xảy ra nếu thay vì QTP thay thế mô tả đối tượng, bạn với tư cách là người thử nghiệm chỉ định trực tiếp các mô tả đối tượng trong tập lệnh của mình. Đây không gì khác ngoài “Descriptive Lập trình”

các loại Descriptlập trình ive

Bạn có thể sử dụng Descripttôi đã lập trình theo hai cách

  1. tĩnh
  2. Năng động

tĩnh Descriptlập trình ive

Trong Phương pháp tĩnh, để nhận dạng đối tượng, bạn chỉ định thuộc tính của đối tượng theo định dạng sau

property:=values,

Định dạng này được gọi là cặp giá trị thuộc tính và được đặt trong dấu phẩy ngược

Nếu đối tượng của bạn sử dụng nhiều mô tả để nhận dạng, bạn có thể chỉ định những mô tả đó bằng dấu phẩy

Vì vậy, trong trường hợp của chúng tôi, mô tả cho Tên đại lý sẽ trở thành

"nativeclass:=Edit", "attached text:=Agent Name:"

Năng động Descriptlập trình ive

Phương pháp thứ hai để thực hiện hành động tương tự là sử dụng Dynamic Descriptlập trình ive

Trong trường hợp tập lệnh của bạn sử dụng ứng viên đối tượng lập trình mô tả nhiều lần, sẽ rất mệt mỏi khi chỉ định tất cả các cặp giá trị thuộc tính cho mỗi câu lệnh

Trong những trường hợp như vậy, bạn có thể sử dụng Descriptlớp ion được cung cấp bởi QTP

Cú pháp để tạo một đối tượng mô tả là

Set MyDescription = Description.Create();
MyDescription("property").Value = "property-value";

Đây là Phương pháp động

Tại sao sử dụng Descriptive Lập trình?

Bảng điểm video

  • Câu hỏi trị giá hàng triệu đô la là tại sao nên sử dụng DP khi quá trình Nhận dạng đối tượng được QTP xử lý
  • Giả sử bạn được giao nhiệm vụ kiểm tra một cổng thông tin việc làm. Bạn nhập truy vấn tìm kiếm vào cổng và
  • bài kiểm tra của bạn yêu cầu bạn chọn tất cả các công việc có sẵn. Và nhấp vào công việc ứng tuyển
  • Tuy nhiên, số lượng công việc được phản ánh sẽ phụ thuộc vào truy vấn tìm kiếm và các công việc có sẵn tại thời điểm thực thi tập lệnh nhưng không có cách nào để dự đoán trước số lượng công việc sẽ được phản ánh
  • Trong những trường hợp như vậy, bạn có thể sử dụng lập trình mô tả. Mặc dù bạn không biết số lượng và tên của các hộp kiểm nhưng bạn biết lớp cho các đối tượng là “WebCheckBox"
  • Bạn có thể sử dụng Phương thức ChildObject để trả về các đối tượng thuộc về một cha mẹ cụ thể
  • Một dòng mã như –
    Set allObjects = Browser("Jobs").Page("QTP").ChildObjects()
  • Sẽ trả lại tất cả các đối tượng con cho trang này.
  • Nhưng chúng tôi chỉ muốn WebCheckBox đối tượng. Để làm như vậy, chúng ta có thể tạo một đối tượng tạo bộ lọc và đặt thuộc tính của nó là hộp kiểm web và truyền bộ lọc này làm đối số cho phương thức ChildObjects
  • Trong trường hợp này, chỉ có các hộp kiểm được trả về.
  • Tiếp theo, bạn có thể viết một đoạn mã như thế này để truy cập toàn bộ tập hợp các hộp kiểm bắt đầu từ số không và bật tất cả các hộp kiểm.
  • Tiếp theo, bạn có thể nhấp vào nút áp dụng để hoàn thành bài kiểm tra
  • Vous sử dụng pouvez aussi DescriptLập trình để chạy các đối tượng khó ghi lại như Bảng điều khiển tự động ẩn, Đối tượng có hệ thống phân cấp thay đổi, Đối tượng bên trong lồng nhau, Menu phụ.
  • Bạn cũng có thể thực hiện các thao tác chuỗi nâng cao bằng cách sử dụng lập trình mô tả
  • Cùng với thuộc tính chỉ mục, lập trình mô tả có thể rất hữu ích trong việc xác định các đối tượng khó.
  • Nếu bạn sử dụng mô tả theo chương trình cho một đối tượng trong hệ thống phân cấp đối tượng, bạn sẽ cần sử dụng lập trình mô tả cho các đối tượng con kế tiếp
  • Ví dụ: đối với đối tượng trang, lập trình mô tả đã được sử dụng nhưng đối với đối tượng con kế tiếp, Kho lưu trữ đối tượng WinEdit được sử dụng thì không chính xác
  • Ngược lại ở đây, cả lập trình mô tả Trang và WinEdit đều được sử dụng, điều này đúng