Cách sử dụng giao dịch trong QTP/UFT

⚡ Tóm tắt thông minh

Giao dịch tại UFT Một cách đo thời gian chạy của một phần được chọn trong bài kiểm tra là bằng phương pháp wrap.ping Các bước giữa câu lệnh bắt đầu và câu lệnh kết thúc báo cáo thời lượng trong kết quả chạy.

  • 🔘 Mục đích: Một giao dịch chỉ tính thời gian của một quy trình nghiệp vụ, ví dụ như đặt vé máy bay, chứ không phải toàn bộ quy trình.
  • ☑️ Chèn: Menu Chèn sẽ thêm các câu lệnh Bắt đầu giao dịch và Kết thúc giao dịch xung quanh các bước đã chọn.
  • Báo cáo: Các phương thức Services.StartTransaction và Services.EndTransaction thực hiện cùng một công việc trực tiếp trong Trình chỉnh sửa.
  • 🧪 Kết quả: Báo cáo cuối cùng hiển thị tên, trạng thái, tổng thời gian và thời gian bị lãng phí.
  • 🛠️ Làm tổ: Các giao dịch có thể lồng nhau, nhưng hai giao dịch đang mở không bao giờ được có cùng tên.
  • ⚠️ Hội nhập: LoadRunner và Business Process Monitor chỉ đọc dữ liệu được ghi lại bên trong một giao dịch.

Cách sử dụng giao dịch trong QTP UFT

In UFT Một/QTPBạn có thể đo thời gian thực thi một phần của bài kiểm tra bằng cách định nghĩa các giao dịch. Bạn định nghĩa các giao dịch trong bài kiểm tra bằng cách bao quanh các phần thích hợp của bài kiểm tra bằng các câu lệnh bắt đầu và kết thúc giao dịch.

Các giao dịch có thể được chèn vào bất kỳ vị trí nào trong kịch bản và không có giới hạn về số lượng giao dịch có thể được thêm vào một bài kiểm tra.

⚠️ Quy tắc đặt tên sản phẩm: Công cụ này được cung cấp dưới dạng HP QuickTest Professional (QTP(ban đầu là HP, sau đó đổi tên thành Micro Focus Unified Functional Testing, và hiện nay được bán bởi...) OpenText, mà các trang trợ giúp hiện tại gọi nó là OpenText Kiểm thử chức năng. Các giao dịch hoạt động theo cùng một cách trong mọi phiên bản đó.

Cách chèn giao dịch vào QTP?

Bạn cũng có thể chèn một giao dịch trong một giao dịch

Video sau đây hướng dẫn bạn các bước để chèn Giao dịch vào UFT Một.

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

Ví dụ: bạn có thể muốn lưu ý thời gian thực hiện đặt một chuyến bay.

  1. In QTPHãy chọn tiểu bang thích hợp nơi bạn muốn bắt đầu giao dịch.
  2. Chọn Chèn Bắt đầu giao dịch. Bắt đầu hộp thoại giao dịch Box mở ra
  3. Đặt tên phù hợp cho giao dịch, nói “Thời gian đặt chỗ”
  4. Một tuyên bố giao dịch bắt đầu được thêm vào trong thử nghiệm
  5. Chọn trạng thái nơi bạn muốn kết thúc giao dịch
  6. Nhấp vào Chèn > Kết thúc giao dịch
  7. Hộp thoại kết thúc giao dịch Box Mở ra với danh sách tất cả các giao dịch có sẵn
  8. Bấm vào Được rồi. Một tuyên bố giao dịch kết thúc được thêm vào
  9. Hãy chạy thử nghiệm
  10. Trong kết quả, báo cáo giao dịch kết thúc đưa ra thời gian cần thiết để chèn đơn hàng

Lưu ý: Các hộp thoại tương tự được truy cập từ Chế độ xem từ khóavà Bước Generator Chèn các câu lệnh giống hệt nhau mà không cần mở menu Chèn.

Báo cáo giao dịch trong trình soạn thảo

Các hộp thoại phía trên viết hai vbscript các dòng vào bài kiểm tra. Cảm ơn.ping Tự mình thực hiện chúng trong Trình chỉnh sửa sẽ nhanh hơn khi đã quen thuộc với mẫu, và đó là lựa chọn duy nhất khi các bước được tạo tự động bằng mã.

Services.StartTransaction "Booking Time"

' the steps that book the flight go here

Services.EndTransaction "Booking Time"

Cả hai phương thức đều thuộc đối tượng Services. Câu lệnh start nhận một đối số, câu lệnh end nhận thêm một đối số tùy chọn.

Tuyên bố Lập luận Những gì nó
Dịch vụ.Bắt đầu giao dịch Họ tên Bắt đầu đo thời gian tại điểm đó trong quá trình chạy.
Dịch vụ.Kết thúc giao dịch Tên, [Trạng thái] Dừng quá trình đo và ghi lại kết quả.

Trạng thái tùy chọn quyết định cách giao dịch được đánh giá. Bỏ qua trạng thái này cũng giống như bỏ qua giao dịch. Tự động.

  • Tự động — Câu lệnh này được chấp nhận trừ khi có lỗi xảy ra giữa hai câu lệnh. Đây là cài đặt mặc định.
  • Qua — luôn kết thúc với trạng thái Đạt.
  • Fail — luôn kết thúc với trạng thái Thất bại.
Services.StartTransaction "Booking Time"
Wait 1
Services.EndTransaction "Booking Time", Pass

Đọc kết quả giao dịch

Sau khi quá trình kiểm tra hoàn tất, bước Kết thúc giao dịch trong kết quả chạy sẽ hiển thị bốn giá trị giải thích kết quả đo.

Trường kết quả Ý nghĩa
Tên giao dịch Tên được cung cấp trong câu lệnh khởi động
Trạng thái kết thúc Đạt hay không đạt, được quyết định bởi tham số trạng thái hoặc bởi Auto.
Tổng thời gian Thời gian trôi qua giữa câu lệnh bắt đầu và câu lệnh kết thúc.
Lãng phí thời gian Thời gian bên trong khoảng thời gian đó UFT Một người khác nói thêm

Thời gian bị lãng phí rất quan trọng vì công cụ này chạy các tiến trình ngầm trong khi giao dịch đang mở. (Phần cuối câu không liên quan đến đoạn văn bản gốc, nên tôi giữ nguyên để đảm bảo tính chính xác và đầy đủ hơn.)tracHãy lấy đó từ tổng thời gian để ước tính thời gian cần thiết cho riêng quá trình ứng dụng, và đó là con số đáng để so sánh giữa các phiên bản.

Thời lượng sử dụng cho một người dùng là một tiêu chí đánh giá chức năng, không phải là chỉ số tải. Khả năng xử lý đồng thời được đo bằng... kiểm tra năng suất công cụ, và một giao dịch tưởng chừng ổn với một người dùng vẫn có thể gặp sự cố khi có tới hơn một trăm người dùng tham gia.

Giao dịch lồng nhau và phân tán

Danh sách các bước nguồn ghi chú rằng một giao dịch có thể nằm bên trong một giao dịch khác, đó là cách để tách biệt một bước phụ chậm mà không làm mất tính đồng bộ về thời gian của toàn bộ quy trình. Giao dịch bên ngoài tiếp tục chạy trong khi giao dịch bên trong được mở và đóng.

Hai quy tắc giúp đảm bảo an toàn cho tổ chim.

  • Mỗi tên cần có một cặp tương ứng, và câu mở đầu phải xuất hiện trước câu kết thúc.
  • Chỉ có thể mở một giao dịch với cùng một tên tại một thời điểm. Việc mở giao dịch thứ hai với cùng tên sẽ khiến giao dịch đầu tiên bị hủy bỏ (Fail).

Giao dịch phân tán tiến xa hơn và bao gồm hai bài kiểm tra: Dịch vụ.StartDistributedTransaction mở nó trong bài kiểm tra đầu tiên và Dịch vụ.Kết thúc giao dịch phân tán Nó đóng lại ở giây thứ hai, được khớp bằng một ID duy nhất chứ không phải bằng tên. Chức năng này tồn tại cho Business Process Monitor và LoadRunner các kịch bản chỉ đọc dữ liệu được ghi lại bên trong một giao dịch và bỏ qua mọi thứ bên ngoài giao dịch đó.

Khi một bước trong giao dịch có thể thất bại một cách hợp lệ, hãy ghép giao dịch đó với một kịch bản phục hồi Vì vậy, chương trình chạy đến câu lệnh kết thúc thay vì dừng lại.ping nửa chừng.

Câu Hỏi Thường Gặp

Một giao dịch báo cáo kết quả được đặt tên kèm trạng thái vào kết quả chạy và vào LoadRunner. MercuryBộ đếm thời gian chỉ đo số mili giây đã trôi qua bên trong kịch bản, sau đó bạn tự báo cáo hoặc chuyển đổi kết quả đó.

Tính thời gian cho thao tác không liên quan bằng một MercurySử dụng bộ hẹn giờ, sau đó truyền giá trị đó cho Services.AddWastedTime. Thời gian bị lãng phí sẽ được trừ đi từ mỗi giao dịch đang mở, do đó thời lượng được báo cáo chỉ phản ánh luồng đang được kiểm thử.

Lỗi xảy ra trước câu lệnh kết thúc sẽ khiến quá trình chạy dừng lại theo mặc định. Trong ngăn Chạy của Cài đặt Kiểm thử, hãy đặt tùy chọn lỗi để tiếp tục bước tiếp theo sao cho câu lệnh kết thúc vẫn được thực thi và giao dịch được ghi lại.

Thông tin này hiển thị trong cửa sổ LoadRunner Controller chứ không phải cửa sổ Kết quả chạy. Chỉ những bước nằm trong một giao dịch mới được gửi đi, vì vậy bất kỳ bước nào nằm ngoài cặp bắt đầu và kết thúc sẽ không bao giờ đến được báo cáo hiệu suất.

Đúng vậy. Services.SetTransaction nhận một tên, một khoảng thời gian tính bằng giây và một trạng thái, cho phép một tập lệnh ghi lại phép đo mà nó tự tính toán thay vì phép đo do công cụ thực hiện.

Các mô hình học máy sẽ thiết lập mức cơ sở cho mỗi giao dịch được đặt tên trên các bản dựng và đưa ra cảnh báo khi thời lượng vượt quá phạm vi bình thường, phát hiện sự suy giảm chậm mà chỉ trạng thái đạt hoặc không đạt sẽ che giấu được.

Vâng. Trợ lý GitHub Hoàn thành cặp Services.StartTransaction và Services.EndTransaction từ một bình luận, mặc dù tên giao dịch và hằng số trạng thái vẫn cần được kiểm tra lại theo quy ước đặt tên đang được sử dụng.

Về mặt kỹ thuật không có giới hạn nào, nhưng chỉ một giao dịch cho mỗi quy trình kinh doanh sẽ giúp báo cáo dễ đọc hơn. Hàng tá giao dịch nhỏ sẽ làm lu mờ con số quan trọng dưới dạng nhiễu số liệu.

Tóm tắt bài viết này với: