2012-12-04 7 views
5

के साथ परीक्षण छवि अपलोड करना क्या कोई जानता है कि मैं वेबटेस्ट का उपयोग करके छवि अपलोड का परीक्षण कैसे कर सकता हूं। मेरे वर्तमान कोड है:Django और Webtest

form['avatar'] =('avatar', os.path.join(settings.PROJECT_PATH, 'static', 'img', 'avatar.png')) 
res = form.submit() 

प्रतिक्रिया मैं निम्नलिखित त्रुटि मिलती है में "एक वैध छवि अपलोड फ़ाइल अपलोड की है या तो कोई छवि या कोई दूषित चित्र था।।"।

किसी भी मदद की सराहना की जाएगी।

+0

मुझे लगता है कि जब आप फ़ाइल के वस्तु पास करना चाहिए में अपेक्षित फ़ाइलें प्रदान करने के लिए मिल गया। – power

+0

नहीं, अगर फ़ाइल ऑब्जेक्ट वेबटेस्ट रिटर्न पास हो गया है "ValueError: फ़ाइल सामग्री नहीं होनी चाहिए" –

+2

यदि आप image_file.read() पास करते हैं तो क्या होता है? – power

उत्तर

6

पावर सही था। दुर्भाग्यवश (या नहीं) मैंने वेब जवाब देने में आधे घंटे बिताए जाने के बाद उसका जवाब पाया। यहां कुछ और जानकारी दी गई है।

फ़ाइलों को केवल पथ पारित करने के लिए कोशिश कर रहा है आप निम्नलिखित अपवाद लाता है:

webtest/app.py", line 1028, in _get_file_info

ValueError: upload_files need to be a list of tuples of (fieldname, filename, filecontent) or (fieldname, filename); you gave: ...

समस्या है कि तुमसे कहा था यह नहीं है कि यह स्वचालित रूप से टपल भेजने और बनाने के लिए फ़ील्ड नाम संलग्न कर देगा है 4 आइटम एक आइटम में 3 आइटम tuple। अंतिम समाधान था:

avatar = ('avatar', 
      file(os.path.join(settings.PROJECT_PATH, '....', 'avatar.png')).read()) 

बहुत खराब वहाँ सभ्य उदाहरण नहीं है, लेकिन मुझे उम्मीद है कि इस किसी और भी मदद मिलेगी)

1

आजकल चयनित जवाब मेरी मदद नहीं किया।

लेकिन मैं जिस तरह से .submit() विधि आर्ग

form.submit(upload_files=[('avatar', '/../file_path.png')) 
संबंधित मुद्दे