2010-07-27 16 views
5

जब मैं जेएमटर में HTTP अनुरोध करता हूं तो मुझे प्रतिक्रिया डेटा मिलता है जैसे "यह पृष्ठ जावास्क्रिप्ट का उपयोग करता है और एक जावास्क्रिप्ट सक्षम ब्राउज़र की आवश्यकता होती है।" इस समस्या को ठीक करना कैसे संभव है।जेएमटर और जावास्क्रिप्ट

उत्तर

13

जेएमटर ब्राउज़र नहीं है, और डाउनलोड किए गए पृष्ठों में जावास्क्रिप्ट की व्याख्या नहीं करता है।

JMeter wiki से:

JMeter जावास्क्रिप्ट या HTML पृष्ठों में एम्बेडेड एप्लेट पर कार्रवाई नहीं करता है।

JMeter प्रासंगिक संसाधनों डाउनलोड कर सकते हैं (कुछ एम्बेड किए गए संसाधन स्वचालित रूप से डाउनलोड कर रहे हैं सही विकल्प सेट हैं), लेकिन यह एचटीएमएल की प्रक्रिया है और किसी भी जावास्क्रिप्ट कार्यों निष्पादित नहीं करता है।

यदि पृष्ठ यूआरएल बनाने या फॉर्म जमा करने के लिए जावास्क्रिप्ट का उपयोग करता है, तो आप आवश्यक सैंपलर बनाने के लिए प्रॉक्सी रिकॉर्डिंग सुविधा का उपयोग कर सकते हैं। यदि यह संभव नहीं है, तो जावास्क्रिप्ट क्या कर रहा है यह निर्धारित करने के लिए कोड का मैन्युअल निरीक्षण हो सकता है।

आप जो कर रहे हैं उसके आधार पर, आप फ़ायरफ़ॉक्स के लिए Selenium IDE का उपयोग करके निष्पादन परीक्षण बना सकते हैं। परीक्षण आपके ब्राउज़र में चलाएगा ताकि जावास्क्रिप्ट भी चलाए जा सके। ध्यान दें कि मैंने कभी भी जेनटर के विकल्प के रूप में सेलेनियम का उपयोग नहीं किया है और दोनों उपकरणों के लिए सामान्य विशेषताओं के बारे में नहीं जानते हैं।

+0

मैं प्रॉक्सी रिकॉर्डिंग का इस्तेमाल किया और मैं चर मेरे द्वारा प्रविष्ट देख सकते हैं, लेकिन प्रतिक्रिया में मुझे लगता है कि संदेश मिलता है, यह भी इस संदेश को जब मैं अक्षम जावास्क्रिप्ट के साथ फ़ायरफ़ॉक्स में चलाने के रूप में ही है। क्या JMeter के साथ इस एप्लिकेशन की तरह परीक्षण करना संभव है। – Gogoo

+1

यह वास्तव में इस बात पर निर्भर करता है कि आप किसके लिए परीक्षण कर रहे हैं। जेएमटर शुरू में सर्वर कार्यक्षमता का परीक्षण करने के लिए बनाया गया था (भारी भार के तहत, प्रदर्शन के लिए, प्रतिक्रिया समय आदि)। यदि जावास्क्रिप्ट का उपयोग जीयूआई प्रभावों के लिए किया जाता है जो ऐप की कार्यक्षमता (यानी इसे फैंसी दिखने के लिए) से इंटरैक्ट नहीं करते हैं, तो आप उस कार्यक्षमता का परीक्षण करने के लिए जेएमटर का उपयोग कर सकते हैं, जो संदेश आपको प्राप्त होता है (यह कुछ का फ़िल्टर होना चाहिए अपने ऐप में सॉर्ट करें जो जेएस के लिए परीक्षण सक्षम है जिसे आप बंद कर सकते हैं)। यदि दूसरी ओर जावास्क्रिप्ट एक जरूरी है, तो आपको ब्राउज़र क्षमताओं की आवश्यकता है और जेएमटर (कम से कम अभी तक) प्रदान नहीं करता है। –

-4

इसे हल करने के लिए आपको अपने थ्रेड में HTTP कुकी/कैश प्रबंधक जोड़ने की आवश्यकता है।

+2

यह उत्तर पूरी तरह से अमान्य और भ्रामक है – rsakhale

1

मुझे लगता है कि आप वास्तविक ब्राउज़र परीक्षण (आईई/फ़ायरफ़ॉक्स/क्रोम/सेलेनियम) चलाने के लिए वेबड्राइवर प्लगइन का उपयोग कर सकते हैं।

अच्छा प्रलेखन here

0

आप add WebDriver to JMeter test पूरी तरह से पेज प्रतिपादन मूल्यांकन करने के लिए कर सकते है।

वेब ड्राइवर नमूना ब्राउज़र (क्लाइंट-साइड) पर प्रदर्शन मीट्रिक निष्पादन और संग्रह को स्वचालित करता है। इस बिंदु तक प्रदर्शन परीक्षण का एक बड़ा हिस्सा चीजों के सर्वर पक्ष पर रहा है। हालांकि, प्रौद्योगिकी की प्रगति के साथ, एचटीएमएल 5, जेएस और सीएसएस सुधार, ग्राहक के लिए को अधिक से अधिक तर्क और व्यवहार को धक्का दिया गया है। यह वेबसाइट/वेबएप के समग्र कथित प्रदर्शन में जोड़ता है, लेकिन यह मीट्रिक जेएमटर में उपलब्ध नहीं है। चीजें जो संपूर्ण ब्राउज़र निष्पादन समय में जोड़ती हैं उनमें शामिल हो सकते हैं:

  1. क्लाइंट-साइड जावास्क्रिप्ट निष्पादन - उदाहरण के लिए। AJAX, जेएस टेम्पलेट्स
  2. सीएसएस ट्रांसफॉर्म - उदाहरण के लिए। 3 डी मैट्रिक्स ट्रांसफॉर्म, एनिमेशन
  3. तृतीय पक्ष प्लगइन्स - उदाहरण के लिए। फेसबुक जैसी, डबल क्लिक करें विज्ञापन, साइट विश्लेषण, आदि

ये सब बातें समग्र ब्राउज़र निष्पादन समय में जोड़ने के लिए है, और इस परियोजना समय यह सब इस सामग्री प्रतिपादन पूरा करने के लिए ले जाता है को मापने के लिए करना है।

आधिकारिक गाइड: https://jmeter-plugins.org/wiki/WebDriverTutorial/