2010-07-27 46 views
5

Khi tôi thực hiện yêu cầu HTTP trong JMeter, tôi nhận được dữ liệu phản hồi như "Trang này sử dụng JavaScript và yêu cầu trình duyệt hỗ trợ JavaScript". Làm cách nào để khắc phục vấn đề này.JMeter và JavaScript

Trả lời

13

JMeter không phải là trình duyệt và không diễn giải JavaScript trong các trang đã tải xuống.

Từ JMeter wiki:

JMeter không xử lý Javascript hoặc applet nhúng vào các trang HTML. JM2 có thể tải xuống các tài nguyên liên quan (một số tài nguyên được nhúng được tải xuống tự động nếu các tùy chọn chính xác được đặt), nhưng không xử lý HTML và thực thi bất kỳ chức năng Javascript nào.

Nếu trang sử dụng Javascript để tạo URL hoặc gửi biểu mẫu, bạn có thể sử dụng cơ sở Ghi hình proxy để tạo mẫu cần thiết. Nếu điều này là không thể, sau đó kiểm tra thủ công mã có thể là cần thiết để xác định Javascript đang làm gì.

Tùy thuộc vào những gì bạn đang làm, bạn có thể tạo thử nghiệm thực thi bằng cách sử dụng Selenium IDE cho Firefox. Bài kiểm tra sẽ chạy trong trình duyệt của bạn để JavaScript cũng sẽ chạy. Lưu ý rằng mặc dù tôi không bao giờ sử dụng Selenium như là một thay thế cho JMeter và không biết về các tính năng phổ biến cho cả hai công cụ.

+0

tôi đã sử dụng Proxy Recording và tôi có thể thấy biến mà tôi bước vào nhưng trong hồi âm Tôi nhận được tin nhắn đó, cũng thông điệp này cũng giống như khi tôi chạy trong Firefox với disable JavaScript. Có thể thử nghiệm như ứng dụng này với JMeter. – Gogoo

+1

Nó thực sự phụ thuộc vào những gì bạn đang thử nghiệm. JMeter ban đầu được tạo ra để kiểm tra chức năng của máy chủ (dưới tải nặng, hiệu năng, thời gian phản hồi, vv). Nếu JavaScript chỉ được sử dụng cho các hiệu ứng GUI không tương tác với chức năng của ứng dụng (ví dụ để làm cho nó trông lạ mắt) thì bạn có thể sử dụng JMeter để kiểm tra chức năng đó, bỏ qua thông điệp bạn nhận được (nó phải là bộ lọc của một số sắp xếp trong ứng dụng của bạn rằng các thử nghiệm cho JS được bật mà bạn có thể tắt). Nếu mặt khác JavaScript là phải, sau đó bạn cần khả năng trình duyệt và JMeter không (ít nhất là) cung cấp những người. –

-4

Bạn cần thêm Trình quản lý cookie/bộ nhớ cache HTTP vào chuỗi của mình để giải quyết vấn đề này.

+2

Câu trả lời này hoàn toàn không hợp lệ và gây hiểu nhầm – rsakhale

1

Tôi cho rằng bạn có thể sử dụng plugin WebDriver để chạy các kiểm tra trình duyệt thực (IE/Firefox/Chrome/Selenium).

Có tài liệu tốt here

0

Bạn có thể add WebDriver to JMeter test để đánh giá đầy đủ các render trang.

Trình điều khiển Web Trình tự động thực hiện và thu thập Số liệu hiệu suất trên Trình duyệt (phía máy khách). Một phần lớn của thử nghiệm hiệu suất, cho đến thời điểm này, đã ở phía máy chủ của điều. Tuy nhiên, với sự tiến bộ của công nghệ, HTML5, JS và CSS cải tiến, ngày càng nhiều logic và hành vi đã được đẩy xuống cho khách hàng. Điều này thêm vào hiệu suất tổng thể được nhận thức của trang web/webapp , nhưng chỉ số này không có sẵn trong JMeter. Mọi thứ bổ sung vào thời gian thực thi trình duyệt tổng thể có thể bao gồm:

  1. Thực thi Javascript phía máy khách - ví dụ: Các mẫu AJAX, JS
  2. Biến đổi CSS - ví dụ: Biến đổi ma trận 3D, hoạt ảnh
  3. plugin của bên thứ ba - ví dụ: Facebook như thế nào, quảng cáo nhấp đúp, phân tích trang web, vv

Tất cả những điều này thêm vào thời gian thực hiện trình duyệt tổng thể, và dự án này nhằm mục đích để đo thời gian cần thiết để hoàn thành vẽ tất cả nội dung này.

hướng dẫn chính thức: https://jmeter-plugins.org/wiki/WebDriverTutorial/