2015-08-07 11 views
18

ग्रिड किया गया है। मैं एक्सकोड 7 का उपयोग कर अपने मौजूदा प्रोजेक्ट में यूआई परीक्षण जोड़ने की कोशिश कर रहा हूं। हालांकि यूआई टेस्ट रिकॉर्डिंग बटन हमेशा गहरा हुआ है। मैं यहाँ क्या याद कर रहा हूँ?एक्सकोड 7 यूआई टेस्ट, रिकॉर्डिंग बटन

एक्सकोड को पुनरारंभ करने का प्रयास किया। परियोजना की सफाई और पुनर्निर्माण और एक नया यूआई परीक्षण लक्ष्य जोड़ना। कोई और व्यवहार कर रहा है?

उत्तर

10

FWIW: मुझे यह समस्या थी और यह पता चला कि मैं गलत ओएस में सिम्युलेटर चलाने की कोशिश कर रहा था।

मैं आईओएस 8.एक्स का उपयोग करने की कोशिश कर रहा था, और यूआईटीएस्टिंग केवल आईओएस 9 + में काम करता है।

सिम्युलेटर संस्करण स्विच करें, और रिकॉर्ड बटन प्रकट होता है।

+0

ऐप्पल की समस्याओं के लिए फिक्स ... बस आश्चर्यजनक! – smac89

+1

और यह आईओएस 10+ के लिए काम नहीं कर रहा है, ऐसा क्यों होता है? दिलचस्प ... – yuchaozh

14

मैं थोड़ी देर के लिए भी इस पर अटक गया। रिकॉर्ड करने के लिए, आपको एक कक्षा में होना होगा कि एक्सकोड परीक्षण के रूप में पहचानता है। फिर इस एक के लिए एक और फाइल करने के लिए

import Foundation 
import XCTest 

class MyTests: XCTestCase { 
    func testSomething() { 

    } 
} 

सहेजें फ़ाइल, अपनी परियोजना को साफ, और स्विच: एक फ़ाइल की तरह कुछ के साथ अपने यूआई परीक्षण लक्ष्य में जोड़े। तब रिकॉर्ड बटन उपलब्ध होना चाहिए।

+0

धन्यवाद @Maldron, मैं कई बार किया था, लेकिन ऐसा नहीं हो पाया। यूआई परीक्षण लक्ष्य फिर से पढ़ा था। यूआई परीक्षण की तरह लगता है वास्तव में छोटी गाड़ी हैं। – rustylepord

+3

कभी-कभी एक्सकोड बग आउट होता है और एक परीक्षण केस को वास्तविक परीक्षण केस के रूप में नहीं पहचानता है (आप इसे या तो खेलने में सक्षम नहीं हैं, क्योंकि विधि घोषणा के बाईं ओर बार में विकल्प गुम है। मैं ज्यादातर उन पर मिलता हूं वैकल्पिक रूप से एक्सकोड को पुनरारंभ करके, और सिम्युलेटर या संलग्न परीक्षण डिवाइस को डिस्कनेक्ट करना और/या पुनरारंभ करना। कम से कम –

+0

एक्सकोड को पुनरारंभ करके मुझे मेरे लिए समस्या का समाधान हो गया है। धन्यवाद – Lisarien

-2

आपको उस व्यू क्लास को आयात करना चाहिए जिसे आप टेस्ट करना चाहते हैं। फिर कर्सर को टेस्ट विधि में रखें।

1

यह मूर्खतापूर्ण है, लेकिन मैंने पढ़े कुछ लेखों में छूट दी।

सुनिश्चित करें कि आपके पास यूआईटीएस्टिंग लक्ष्य है, नियमित परीक्षण लक्ष्य मेरे लिए ऐसा नहीं करता है।

1

मैं कुछ चीजें मेरे रिकॉर्ड बटन सक्षम करने के लिए किया था:

  1. (वैकल्पिक, अनुशंसित) -, अपनी परियोजना के लिए सभी परीक्षा योजनाओं और टेस्ट लक्ष्यों को हटाए जाने के लिए एक नया UITest लक्ष्य बनाने के द्वारा नए सिरे से शुरू करते हैं।
  2. सुनिश्चित करें कि आपकी यूआईटीएस्ट योजना और मुख्य परियोजना चलाने की योजना एक ही लक्ष्य को इंगित करती है।
  3. अपनी अन्य यूआईटीएस्ट योजनाओं को हटाने का प्रयास करें यदि उन्हें आसानी से पुनर्निर्मित किया जा सकता है/पूर्ण महत्व नहीं है।
  4. उत्पाद> (दबाकर रखें ALT कुंजी)> स्वच्छ बिल्ड फ़ोल्डर
  5. उत्पाद> स्वच्छ (बस सुरक्षित उपाय के लिए)
  6. बंद परियोजना, Xcode छोड़ दिया।
  7. सिम्युलेटर छोड़ें।
  8. अंत में, एक्सकोड फिर से खोलें, अपनी परियोजना लोड करें। अपनी यूआईटीएस्ट फ़ाइल पर नेविगेट करें और आनंद के छोटे लाल बटन को उपयोग के लिए उपलब्ध होना चाहिए।

साथ ही, सुनिश्चित करें कि आपका निर्माण/रन लक्ष्य आईफोन एक्स 9 .X पर सेट है।

11

मेरे पास एक ही समस्या थी और मेरा सेटअप सही था, आईओएस> = 9.0, लक्ष्य जोड़ा गया था।

समस्या एक्सकोडिंग इंडेक्सिंग थी जो इंडेक्सिंग के बाद थोड़ी देर (लगभग 1h) लेती थी, रिकॉर्डिंग बटन सक्रिय हो जाता था।

+1

यह नव निर्मित यूआई परीक्षण लक्ष्यों के लिए इस प्रश्न का सही उत्तर प्रतीत होता है। मेरे अनुक्रमण में 20 मिनट से ज्यादा समय लगे जिसके बाद बटन उपलब्ध था। – earnshavian

+0

मैंने एक्सकोड छोड़कर और फिर एक्सकोड को फिर से लॉन्च करके इस प्रक्रिया को तेज कर दिया। जैसे ही यह प्रसंस्करण समाप्त हो गया और मैंने कर्सर की स्थिति अपडेट की, रिकॉर्ड बटन उपलब्ध हो गया। – iCyberPaul

+0

मेरी समस्या को ठीक करने के लिए अनुक्रमण के लिए प्रतीक्षा कर रहा है। – Morgz

4

मेरे लिए, समस्या "संस्करण संपादक" फलक खुला था। जैसे ही मैंने सहायक संपादक को वापस स्विच किया, यह काम किया।

1

मुझे एक और समाधान मिला है जिसे मैंने यहां सूचीबद्ध नहीं देखा है।

यदि आप XCTestCase उपखंड कर रहे हैं, तो अपनी कक्षा को फिर से प्राप्त करने के लिए बदलें, फ़ाइल फ़ाइल को सहेजें, इसे अपने उप-वर्ग नाम पर वापस बदलें। कोई साफ या निर्माण की आवश्यकता नहीं है।

मेरी परियोजना के लिए मुझे XCTestCase का एक सब्सक्रास मिला है, चलो इसे APPMyTestCase पर कॉल करें। मुझे अक्सर पता चलता है कि रिकॉर्ड बटन गहरा हुआ है और कभी-कभी प्रत्येक टेस्ट विधि के बगल में छोटे हरे/लाल बटन भी अलग-अलग चलाने में सक्षम नहीं होते हैं। यदि मैं अपना सबक्लास वापस XCTestCase पर बदलता हूं तो दूसरी चीज फिर से काम करती है।

बदलें इस:

class APPLoadingPageUITests: APPMyTestCase { 
    // tests here 
} 
इस के लिए

:

class APPLoadingPageUITests: XCTestCase { 
    // tests here 
} 

और फिर वापस इस के लिए:

class APPLoadingPageUITests: APPMyTestCase { 
    // tests here 
} 

यह मेरे लिए यह तय हो गई।

0

प्रति फ़ाइल XCTestCase प्रति केवल एक उप-वर्ग होना सुनिश्चित करें। आप फ़ाइल नाम और कक्षा के नाम मिलान करना चाहते हैं।

मेरे अनुभव में, जब भी आपके पास यूआई परीक्षण काम करते हैं, यदि आप एक ही फ़ाइल में अपने काम कर रहे XCTestCase सबक्लास का नया सबक्लास जोड़ते हैं, तो रिकॉर्ड बटन अक्षम हो जाएगा (हालांकि अन्य सभी परीक्षण UI काम जारी रखेंगे)।

3

एक्सकोड 8.3 पर एक ही समस्या थी।

मैं tearDown विधि

override func tearDown() { 
     super.tearDown() 

    } 

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

10

लाल बटन को सक्षम करने के लिए आपको परीक्षा पद्धति पर कर्सर करना होगा:

enter image description here

+2

अनुस्मारक: परीक्षण विधि 'परीक्षण' से शुरू होती है –

0

एक परीक्षण विधि Xcode यह समझते हैं और जब रिकॉर्डिंग की अनुमति देने के लिए शब्द test के साथ शुरू हो गया है कर्सर विधि के अंदर है।

एक संकेत Xcode ने स्वीकार किया कि विधि एक समचतुर्भुज विधि नाम के लिए छोड़ दिया दिखाई दे रहा है:

enter image description here

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