2012-08-29 7 views
5

यह मेरा पहला कैस्पर परीक्षण है, इसलिए मैं अभी भी मूल बातें के साथ संघर्ष कर रहा हूं। मैं अपने लॉगिन फॉर्म पर उपयोगकर्ता नाम और पासवर्ड भरना चाहता हूं, फिर इसे सबमिट करें। और फिर पुष्टि करें कि 'लॉग ऑफ' लिंक पर अगले पृष्ठ पर प्रस्तुत किया गया है (यह पुष्टि कर रहा है कि उपयोगकर्ता लॉग इन है)।कैस्परजेएस फॉर्म सबमिट क्यों करता है अगले पृष्ठ पर रीडायरेक्ट नहीं करता है?

लेकिन जहां तक ​​मैं कह सकता हूं, तब कहा जाता है, यूआरएल अभी भी वही है। ऐसा लगता है कि कोई पोस्ट नहीं है या अगले पृष्ठ पर रीडायरेक्ट हो रहा है। मैं क्या गलत कर रहा हूं?

casper.start "http://test.local.mycompany.local/", -> 
    @echo 'at ' + @getCurrentUrl() 
    @fill 'form', { UserAlias : 'joe', Password : 'password' }, true 

casper.then -> 
    @echo 'at ' + @getCurrentUrl() 
    @test.assertExists '#log-off-link', 'log-off link exists' 

casper.run -> 
    @test.done() 

तो @getCurrentUrl की गूंज दोनों उसी यूआरएल है, जो गलत है देता है।

+0

आपके द्वारा परीक्षण की जाने वाली वास्तविक साइट को देखे बिना मदद करने में बहुत मुश्किल है – NiKo

+0

दूसरा 'casper.then' निष्पादित होने से पहले यूआरएल को बदलने के लिए इंतजार नहीं करेगा, इस मामले में मैं 'casper.waitForUrl()' का उपयोग करूंगा कोई और दावा कर रहे हैं। – rusln

उत्तर

6

आप ब्राउज़र में कैस्पर के लिए स्वचालित परीक्षण जेनरेट करने के लिए chrome extension ressurectio का उपयोग करने का प्रयास कर सकते हैं। उपयोग और उपयोगी के लिए यह बहुत आसान है। कुछ पंक्तियों में हो सकता है (- जेनरेट कोड का हिस्सा) आपको कुछ फिक्स करना चाहिए लेकिन फिर भी यह बहुत उपयोगी और सुविधाजनक है।

2

मुझे एक ही समस्या थी। एक दिन मेरे कैस्पर परीक्षणों ने काम करना बंद कर दिया। रीडायरेक्ट के बाद अधिक सटीक कैस्पर बंद हो गए। समस्या वास्तव में यह थी कि मेरा सर्वर एक अवैध HTTP सेट-कुकी शीर्षलेख (एक अमान्य तिथि के साथ) लौटा रहा था। यह समाप्ति तिथि के साथ एक कॉन्फ़िगरेशन समस्या के कारण था। वैसे भी, ऐसा लगता है कि अगर कुछ हेडर वैल्यू में कोई गलत मान है तो कुछ कैस्पर को रीडायरेक्ट के लिए "स्थान" http शीर्षलेख जैसे अन्य शीर्षलेख मानों को अनदेखा कर देता है।

एक बार मैं कुकीज़ में समाप्ति तिथि के साथ समस्या तय HTTP सेट कुकी शीर्ष लेख ठीक था और casperjs फिर रीडायरेक्ट पालन करने के लिए शुरू कर दिया।

आशा है कि इससे मदद मिलती है!

1

ऐसा नहीं है कि कैस्पर नाम से खेतों नहीं मिल रहा है संभव है। आप की कोशिश कर सकते

casper.start "http://test.local.mycompany.local/", -> 
    @echo 'at ' + @getCurrentUrl() 
    @fillSelectors 'form', { 'input[name=UserAlias]' : 'joe', 'input[name=Password]' : 'password' }, true 

यह अपने कोड के रूप में ही मतलब यह होना चाहिए, लेकिन कभी कभी यह नहीं है।

संबंधित मुद्दे

 संबंधित मुद्दे