2010-07-27 24 views
5

當我在JMeter中創建HTTP請求時,我得到響應數據,如「此頁面使用JavaScript並且需要啓用JavaScript的瀏覽器」。怎麼可能解決這個問題。JMeter和JavaScript

回答

13

JMeter不是瀏覽器,並且不解釋下載頁面中的JavaScript。

JMeter wiki

JMeter的不處理Javascript或內嵌在HTML頁面中的小程序。

JMeter可以下載相關資源(如果設置了正確的選項,會自動下載一些嵌入式資源 ),但它不會處理HTML並執行任何Javascript函數。

如果頁面使用Javascript建立URL或提交表單, 可以使用Proxy Recording工具創建必要的採樣器。 如果這不可行,那麼手動檢查代碼可能是 以確定Javascript正在做什麼。

根據您正在做的事情,您可以使用Firefox的Selenium IDE創建執行測試。測試將在您的瀏覽器中運行,以便JavaScript也能運行。但請注意,我從未使用Selenium作爲JMeter的替代品,也不知道這兩種工具的共同特徵。

+0

我使用代理服務器的記錄,我可以看到我輸入變量,但在迴應我得到的消息,也是這個信息是一樣的,當我在Firefox瀏覽器禁用了JavaScript的。是否有可能像JMeter一樣測試這個應用程序。 – Gogoo 2010-07-27 14:42:59

+1

這真的取決於你正在測試的東西。 JMeter最初是爲了測試服務器功能而設計的(在重負載下,性能,響應時間等)。如果JavaScript只用於不與應用程序功能交互的GUI效果(即使其看起來很花哨),那麼您可以使用JMeter來測試該功能,繞過您所得到的消息(它應該是一些過濾器排序在您的應用程序測試JS啓用,你可以關閉)。另一方面,如果JavaScript是必須的,那麼你需要瀏覽器功能,而JMeter沒有(至少)提供這些功能。 – 2010-07-27 17:43:19

-4

您需要將HTTP Cookie/Cache Manager添加到您的線程才能解決此問題。

+2

此答案完全無效且誤導人 – rsakhale 2016-09-28 12:49:02

1

我想你可以使用WebDriver插件來運行真正的瀏覽器測試(IE/Firefox/Chrome/Selenium)。

有良好的文檔here

0

可以add WebDriver to JMeter test充分評估的頁面渲染。

Web驅動程序採樣器自動執行和收集瀏覽器(客戶端)上的性能指標 。 性能測試的很大一部分,到目前爲止,已經在服務器端的 的東西。然而,隨着技術的進步,HTML5,JS和CSS的改進,越來越多的邏輯和行爲被推送到客戶端 。這增加了 website/webapp的整體感知性能,但是這個指標在JMeter中不可用。增加整體瀏覽器執行時間的東西 可能包括:

  1. 客戶端Javascript執行 - 例如, AJAX,JS模板
  2. CSS轉換 - 例如, 3D矩陣變換,動畫
  3. 第三方插件 - 例如。 Facebook的喜歡,雙擊廣告,站點分析等

所有這些東西添加到瀏覽器的整體執行時間,這 項目旨在衡量了完成渲染的所有 此內容的時間。

官方指導價:https://jmeter-plugins.org/wiki/WebDriverTutorial/