Tương quan trong LoadRunner với Ví dụ về Web_Reg_Save_Param

Mục lục:

Anonim

Tương quan là gì?

Tương quan, như tên cho thấy, là một cơ chế xác định mối quan hệ giữa hai biến hoặc thực thể. Từ điển định nghĩa nó là "mối quan hệ thống kê giữa hai hoặc nhiều biến số mà những thay đổi có hệ thống trong biến số kia đi kèm với những thay đổi có hệ thống về giá trị của một biến số".

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về

  • Tại sao chúng ta cần Tương quan?
  • Tương quan tự động
  • Tương quan thủ công
  • Hiểu hàm Web_reg_save_param

Tại sao chúng ta cần Tương quan?

Hãy hiểu mối quan hệ đồng với tình huống sau.

Hãy xem xét bạn đang ghi một tập lệnh bằng LoadRunner.

Giao tiếp Máy khách-Máy chủ

  1. Trong khi Ghi, máy khách gửi yêu cầu đến máy chủ để bắt đầu một phiên
  2. Máy chủ nhận yêu cầu và cấp phát ID phiên mới ABC
  3. Khách hàng lưu trữ id phiên ABC trong tập lệnh.
  4. Khách hàng bắt đầu phiên với ID ABC và gửi yêu cầu đến máy chủ để cho phép nó ghi lại
  5. Máy chủ nhận dạng ID ABC và cho phép máy khách ghi lại tập lệnh

  1. Bây giờ, chúng ta hãy nghiên cứu giao tiếp máy khách-máy chủ trong quá trình phát lại
  2. Trong khi Phát lại, một máy khách gửi yêu cầu đến máy chủ để bắt đầu một phiên
  3. Máy chủ nhận yêu cầu và cấp phát ID phiên mới XYZ
  4. Khách hàng bắt đầu phiên với ID phiên đã ghi trước đó là ABC và gửi yêu cầu đến máy chủ để cho phép nó ghi lại
  5. Máy chủ không thể xác định ID ABC vì nó mong đợi ID XYZ mà nó đã cấp phát và phiên không thành công.

Chúng tôi cần một giải pháp để nắm bắt phân tích cú pháp giá trị động được gửi trong thời gian chạy và trả lại giá trị này cho máy chủ. Đây là cách giao tiếp máy khách-máy chủ sẽ như thế nào với giải pháp này

  1. Trong khi Phát lại, một máy khách gửi yêu cầu đến máy chủ để bắt đầu một phiên
  2. Máy chủ nhận yêu cầu và cấp phát ID phiên mới ZZZ
  3. Khách hàng phân tích cú pháp id phiên mới này ZZZ từ yêu cầu.
  4. Khách hàng gửi yêu cầu bắt đầu phiên với id ZZZ
  5. Máy chủ nhận ra ID ZZZ và cho phép máy khách phát lại tập lệnh

Đây không là gì ngoài mối tương quan .

Bấm vào đây nếu video không thể truy cập được

Trong trường hợp VUGen, mối tương quan là mối quan hệ ràng buộc giữa một phản hồi và bất kỳ yêu cầu nào trước đó.

Có nhiều tình huống khác nhau khi yêu cầu dựa trên phản hồi đã nhận trước đó từ máy chủ, chẳng hạn như ID phiên, ngày / giờ máy chủ được tìm nạp từ máy chủ. Các giá trị này khác nhau mỗi khi bạn chạy ứng dụng hoặc ghi tập lệnh. Rõ ràng, nếu việc thực thi tập lệnh phụ thuộc vào một giá trị được máy chủ trả về, điều đó có nghĩa là bạn cần tìm một cơ chế mà bạn có thể “bắt” phản hồi của máy chủ và đính kèm vào những yêu cầu mà máy chủ mong đợi. Điều này thường được gọi là Tương quan trong LoadRunner.

Nói một cách dễ hiểu, giải pháp bằng cách sử dụng Tương quan là:

  1. Ghi lại giá trị đầu ra từ một bước
  2. Sử dụng giá trị đã chụp ở trên để làm đầu vào cho tất cả các bước tiếp theo

Tương quan được phân loại thành 2 loại trong VUGen / LoadRunner:

  • Tương quan tự động
  • Tương quan thủ công

Tương quan tự động

LoadRunner cung cấp một cơ chế để dễ dàng thực hiện tương quan theo kiểu tự động.

VUGen sẽ yêu cầu bạn chạy một tập lệnh đã ghi ít nhất hai lần để nó có thể so sánh nội bộ các giá trị khác nhau trong phản hồi của máy chủ.

Tương quan tự động có thể được phân thành 3 loại:

  • Tự động phát hiện tương quan
  • Tương quan dựa trên quy tắc
  • Tương quan tất cả các tuyên bố
Tên quy tắc Khi nào sử dụng
Tự động phát hiện tương quan Phát hiện và tương quan dữ liệu động cho các máy chủ ứng dụng được HP LoadRunner hỗ trợ
Dựa trên quy tắc Được sử dụng khi làm việc với máy chủ ứng dụng không được hỗ trợ mà ngữ cảnh đã biết.
Tương quan tất cả Giúp tương quan tất cả dữ liệu động theo kiểu mù.

Mặc dù Tương quan Tự động có vẻ đơn giản hơn, nhưng nó có thể dễ xảy ra lỗi và hoạt động không quá 5% các trường hợp. Nó luôn luôn được khuyến khích sử dụng tương quan thủ công.

Để định cấu hình tương quan tự động tại thời điểm ghi, hãy thực hiện cấu hình dưới đây trong Cài đặt thời gian ghi sau khi tập lệnh đã được ghi.

Nhấp vào Record => Recording Options (hoặc nhấp Ctrl + F7),

>

Cửa sổ bên dưới sẽ mở ra:

Nhấp vào Tương quan => Cấu hình - cửa sổ bên dưới sẽ mở ra.

Tại đây, bạn cần đánh dấu là đã chọn so với tất cả các ứng dụng (ASPNET), v.v., được sử dụng trong ứng dụng chủ đề của bạn. Ở phía bên phải, bạn có thể thấy các quy tắc sẽ phát hiện các ứng cử viên có thể có cho mối tương quan, ví dụ: _VIEWSTATE. Bạn cũng có thể thêm nhiều ứng dụng hoặc quy tắc tùy chỉnh bằng cách nhấp vào nút Quy tắc mới.

Bạn cũng có thể nhấp vào RULES, bạn sẽ thấy như dưới đây:

Để Tương quan tự động hoạt động, bạn cần đảm bảo Quét quy tắc được đánh dấu là đã chọn. Nếu bạn nhấp vào các giá trị tương quan tự động được tìm thấy, VUGen sẽ không nhắc bạn lựa chọn sau khi tìm thấy ứng cử viên tương quan, thay vào đó, nó sẽ chỉ tương quan giữa chúng.

Chúng tôi sẽ hiểu API được sử dụng cho tương quan sau. Tuy nhiên, nên sử dụng so sánh HTML thay vì so sánh văn bản.

Khi bạn đã chọn bất kỳ quy tắc nào, hãy nhấp vào nút OK để đóng cửa sổ.

Nhấp vào từ menu và VUGen sẽ tạo lại tập lệnh (mà không cần phải ghi lại) với các cấu hình mới. VUGen sẽ tự động thêm một đoạn mã bắt buộc để xử lý mối tương quan. Chúng ta sẽ xem xét mẫu chi tiết hơn trong phần Tương quan thủ công.

Xin lưu ý, nếu bạn thực hiện tương quan theo cách thủ công hoặc sử dụng tương quan tự động, đoạn mã sẽ chứa chính xác cú pháp và chức năng.

Các bước để tự động tương quan một tập lệnh:

  1. Ghi lại một kịch bản
  2. Tập lệnh phát lại
  3. Xác định các giá trị tương quan
  4. Chọn các giá trị và nhấp vào nút tự động tương quan
  5. Xác minh tập lệnh bằng cách chạy lại. Một cuộc chạy thành công có nghĩa là tương quan thành công.

Tiền boa:

  • Sự tương quan giúp chạy tập lệnh của bạn với các giá trị khác nhau
  • Sự tương quan cũng làm giảm kích thước tập lệnh của bạn

Tương quan thủ công

Tương quan thủ công là viết mã trực tiếp vào tập lệnh của bạn để phục vụ cho các giá trị luôn thay đổi. Chúng tôi có thể chia nó thành các bước dưới đây:

  1. Xác định giá trị để nắm bắt
  2. Tìm ranh giới văn bản bên phải và bên trái của giá trị cần nắm bắt (WEB)
  3. Tìm sự xuất hiện của các ranh giới văn bản nên được sử dụng
  4. Thêm hàm web_reg_save_param vào tập lệnh, phía trên đoạn mã yêu cầu trang có giá trị để nắm bắt
  5. Thêm tên tham số, ranh giới bên trái, ranh giới bên phải và sự xuất hiện vào hàm
  6. Tham số hóa giá trị động trong tập lệnh mỗi khi nó xảy ra
  7. Xác minh việc thực thi đúng
web_reg_save_param ("OracleAppJSESSIONID3","LB / IC = JSESSIONID =","RB / IC =;","Ord = l","Tìm kiếm = headers","RelFrameId = l",CUỐI CÙNG);web_reg_save_param ("Siebel_Analytic_ViewState2","LB / IC = ViewState \" value = \ "","RB / IC = \" ","Thứ tự = 1","Tìm kiếm = Nội dung","RelFrameId = l",CUỐI CÙNG);

Tương quan thủ công có thể được thực hiện bằng So sánh VUser. Các bước trong phương pháp so sánh tương quan VUser có thể được phân chia như sau:

  1. Xác định các giá trị động cần được tương quan
  2. Find Servers response containing the Dynamic value
  3. Capture the Dynamic value in a parameter
  4. Replace every occurrence of the Dynamic value with the parameter
  5. Verify Changes

Understanding Web_reg_save_param function

VUGen provides multiple functions or APIs to correlate candidates, including:

  • web_reg_save_param
  • web_reg_save_param_ex
  • web_reg_save_param_regexp
  • web_reg_save_param_xpath

While a brief introduction is being provided here, for a detailed understanding of functions and their parameters, open VUGen, write function (or use Steps Toolbox), move a cursor on the function and click F1 - get yourself acquainted with VUGen help and make a habit. You will have to deal with it a lot when working in the industry.

Here we go with the function details:

web_reg_save_param(Parameter Name , Left Boundary , Right Boundary )

List of Attributes

Convert: The possible values are:

HTML_TO_URL: convert HTML-encoded data to a URL-encoded data format

HTML_TO_TEXT: convert HTML-encoded data to plain text format; this attribute is optional.

Ignore Redirections: If "Ignore Redirections=Yes" is specified and the server response is redirection information (HTTP status code 300-303, 307), the response is not searched. Instead, after receiving a redirection response, the GET request is sent to the redirected location, and the search is performed on the response from that location.

This attribute is optional. The default is "Ignore Redirections=No".

LB: The left boundary of the parameter or the dynamic data. If you do not specify an LB value, it uses all of the characters from the beginning of the data as a boundary. Boundary parameters are case-sensitive. To further customize the search text, use one or more text flags. This attribute is required. See the Boundary Arguments section.

NOTFOUND: The handling option when a boundary is not found, and an empty string is generated.

"Not found=error", the default value, causes an error to be raised when a boundary is not found.

"Not found=warning" ("Not found=empty" in earlier versions), does not issue an error. If the boundary is not found, it sets the parameter count to 0 and continues executing the script. The "warning" option is ideal if you want to see if the string was found, but you do not want the script to fail.

Note: If Continue on Error is enabled for the script, then even when NOTFOUND is set to "error", the script continues when the boundary is not found, but an error message is written to the extended log file.

This attribute is optional as well.

ORD: Indicates the ordinal position or instance of the match. The default instance is 1. If you specify "All," it saves the parameter values in an array. This attribute is optional.

Note: The use of Instance instead of ORD is supported for backward compatibility, but deprecated.

RB: The right boundary of the parameter or the dynamic data. If you do not specify an RB value, it uses all of the characters until the end of the data as a boundary. Boundary parameters are case-sensitive. To further customize the search text, use one or more text flags. This attribute is required. See the Boundary Arguments section.

RelFrameID: The hierarchy level of the HTML page relative to the requested URL. The possible values are ALL or a number. Click RelFrameID Attribute for a detailed description. This attribute is optional.

Note: RelFrameID is not supported in GUI level scripts.

SaveLen : Độ dài của một chuỗi con của giá trị được tìm thấy, từ độ lệch được chỉ định, để lưu vào tham số. Thuộc tính này là tùy chọn. Giá trị mặc định là -1, cho biết để lưu vào cuối chuỗi.

SaveOffset : Phần bù của một chuỗi con của giá trị được tìm thấy, để lưu vào tham số. Giá trị bù phải không âm. Mặc định là 0. Thuộc tính này là tùy chọn.

Tìm kiếm: Phạm vi tìm kiếm - nơi tìm kiếm dữ liệu được phân tách. Các giá trị có thể có là Tiêu đề (Chỉ tìm kiếm tiêu đề), Nội dung (chỉ tìm kiếm dữ liệu nội dung, không phải tiêu đề), Không có tài nguyên (chỉ tìm kiếm nội dung HTML, loại trừ tất cả tiêu đề và tài nguyên) hoặc TẤT CẢ (nội dung tìm kiếm, tiêu đề và tài nguyên) . Giá trị mặc định là TẤT CẢ. Thuộc tính này là tùy chọn nhưng thường được ưu tiên.