2012-10-15 16 views
5

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

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

यहाँ प्रपत्र का एक उदाहरण है:

<form method="POST" enctype="multipart/form-data" action="...."> 
    <input type="text" name="first_name" id="first_name"> 
    <input type="text" name="last_name" id="last_name"> 
    <input type="file" name="thumbnail" id="thumbnail"> 
    <input type="submit" value="Create" name="submit" id="submit"> 
</form> 

मेरे WebTest कोड इस तरह दिखता है:

response = self.app.get(url(controller=self.controller, action='create')) 
form = response.form              

log.debug(form.submit_fields())           

form.set('first_name', 'test1-1')           
form.set('last_name', 'test1-1')            
form.set('thumbnail', '')             

log.debug(form.submit_fields())           
response = form.submit() 

प्रतिक्रिया मैं जब मैं चलाने यह है कि थंबनेल प्रस्तुत मूल्यों से याद आ रही है है , यहां तक ​​कि सोचा कि फार्म वैधता द्वारा फ़ील्ड की आवश्यकता नहीं है। जब मैं नाक से कोड उत्पादन की तुलना में और जब यह एक खोल के माध्यम से चल मैंने देखा है कि submit_fields से उत्पादन विभिन्न

शैल आउटपुट था:

[('first_name', ''),('last_name', '')] #First log call 
[('first_name', 'test1-1'),('last_name', 'test1-1'), ('thumbnail', '')] #Second log call 

नाक आउटपुट:

[(u'first_name', ''), (u'last_name', ''), (u'thumbnail', <File name="thumbnail" id="thumbnail">)] #First log call 
[(u'first_name', 'test1-1'), (u'last_name', 'test1-1'),(u'thumbnail', <File name="thumbnail" id="thumbnail">)] #Second log call 

आप के रूप में देख सकते हैं कि खोल में एक अंतर है थंबनेल टुपल नहीं है, लेकिन इसे एक खाली स्ट्रिंग पर सेट करता है जो किसी समस्या के बिना गुजरता है। हालांकि, नाक में पहले से ही एक ट्यूपल है और यह मूल्य को रीसेट नहीं करता है। क्या कोई मुझे इस बारे में सहायता कर सकता है? Form.submit दृष्टिकोण का उपयोग करते समय WebTest में मल्टीपार्ट फ़ॉर्मों को आजमाने में कोई समस्या है?

आपकी मदद के लिए अग्रिम धन्यवाद।

लाइब्रेरी सूचना: Pylons-1.0.1 WebTest-1.4.0 WebOb-1.2.3 नाक-1.2.1

+0

क्या आपने form.set ('थंबनेल', '', इंडेक्स = 0) का उपयोग करने का प्रयास किया था? –

+0

आपकी टिप्पणी के लिए धन्यवाद @pi, हालांकि, मेरी समझ से इंडेक्स वैल्यू केवल तभी जरूरी है जब वे फॉर्म पर एक ही नाम वाले एकाधिक फ़ील्ड हों। मैंने इसे सुरक्षित पक्ष में रहने की कोशिश की, लेकिन यह कुछ भी अलग नहीं किया। जाहिर है कुछ और है कि मैं यहाँ याद कर रहा हूँ। –

+1

क्या आपने form.set ('थंबनेल', कोई नहीं) की कोशिश की है? – alecxe

उत्तर

1

आप log.debug(form.submit_fields()) में log.debug को दूर करने की कोशिश की?

नाक कभी-कभी लॉगिंग के साथ अजीब तरह से बातचीत करने के लिए जाना जाता है क्योंकि यह आउटपुट के कुछ आंतरिक पुनर्निर्देशन करता है।

+0

हां, असल में मूल संस्करण में लॉग इन नहीं था। इसलिए इसे हटाने से मुझे इस समय मिलने वाले परिणामों पर कोई असर नहीं पड़ेगा। हालांकि समय लेने के लिए धन्यवाद। –

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