में हाल ही के से यह फिर से शुरू करने मैं अपनी समस्या का समाधान में मैं एक विशेष समय अंतराल के बाद पृष्ठभूमि और यह हाल ही के से फिर से लांच करने के लिए अपने एप्लिकेशन भेजने की जरूरत है, जहां के लिए देख रहा था। निष्क्रियivAppForDuration() को उपकरण UIAutomation में प्राप्त करने के लिए उपयोग किया गया था। क्या कोई जानता है कि XCTest में इसे कैसे प्राप्त किया जाए?एप्लिकेशन XCTest
उत्तर
यह सकारात्मक नहीं होगा अगर यह काम करेगा, क्योंकि मैंने अभी तक इसका परीक्षण नहीं किया है, लेकिन यह एक शॉट के लायक है। यदि कुछ और नहीं है तो आपको यह देखना चाहिए कि कहां देखना है। https://developer.apple.com/reference/xctest/xcuidevicebutton
आप के साथ इन का उपयोग कर सकते हैं: https://developer.apple.com/reference/xctest/xcuiapplication
XCUIDevice वर्ग आप डिवाइस पर एक बटन दबाने की अनुकरण करने के लिए अनुमति देता है:
XCUIApplication वर्ग दोनों समाप्त कर देंगे और प्रोग्राम के रूप में अपने एप्लिकेशन लॉन्च करने की विधियां उपलब्ध कराता UIControl और NSURLSessionTask आपके एप्लिकेशन को निलंबित करने के लिए।
इस प्रक्रिया स्विफ्ट 3 का उपयोग कर कुछ इस तरह (सिंटेक्स स्विफ्ट 2 और नीचे के लिए थोड़ा अलग हो सकता है) दिखाई देती हैं इसका एक उदाहरण:
func myXCTest() {
UIControl().sendAction(#selector(NSURLSessionTask.suspend), to: UIApplication.shared(), for: nil)
Timer.scheduledTimer(timeInterval: 5.0, target: self, selector: #selector(launchApp), userInfo: nil, repeats: false)
}
func launchApp() {
XCUIApplication().launch()
}
एक और तरीका है बस एक घर बटन प्रेस को क्रियान्वित किया जा सकता है, और फिर ऐप्स को दोबारा लॉन्च एक टाइमर गुजरता के बाद:
func myXCTest {
XCUIDevice().press(XCUIDeviceButton.Home)
Timer.scheduledTimer(timeInterval: 5.0, target: self, selector: #selector(launchApp), userInfo: nil, repeats: false)
}
न तो इन तरीकों से आप क्या कह रहे हैं कर सकते हैं, या पूरी तरह से काम है, लेकिन उम्मीद है कि, यह आप एक प्रारंभिक बिंदु दे देंगे की। आप इसके साथ खेल सकते हैं और एक समाधान ढूंढ सकते हैं जो आपके लिए काम करता है। सौभाग्य!
मैंने कोशिश की, घर बटन दबाए जाने के बाद ऐप को पृष्ठभूमि में ले जाया गया। लेकिन निलंबन समारोह ऐप को फिर से अग्रभूमि में लाने में सक्षम नहीं था। – rachit
तो टाइमर ने उलटी गिनती नहीं की और ऐप को फिर से लॉन्च किया? – user3353890
क्या यह समाधान किसी के लिए काम करता है? मुझे पता है कि इसमें 4 वोट हैं लेकिन क्या यह वास्तव में काम करता है? टिप्पणियों के आधार पर, यह स्पष्ट नहीं है। धन्यवाद। – rfodge
आप अपने वर्तमान परीक्षण के साथ Xcode 8.3 और iOS 10.3 का उपयोग कर सकते हैं, तो आप इस की कोशिश करना चाहते हो सकता है:
XCUIDevice.shared().press(XCUIDeviceButton.home)
sleep(60)
XCUIDevice.shared().siriService.activate(voiceRecognitionText: "Open {appName}")
अपने टेस्ट स्वीट फ़ाइल के शीर्ष पर @available(iOS 10.3, *)
शामिल करना न भूलें।
यह अपेक्षाकृत deactivateAppForDuration()
के बराबर होगी। बस अपनी वांछित अवधि में sleep()
बदलें।
- 1. स्विफ्ट बहुत स्मार्ट? XCTest
- 2. आयात XCTest मौजूदा परियोजना
- 3. जांचें कि क्या UIAlertController को XCTest केस
- 4. Xcode 5 - -bundle_loader केवल -bundle XCTest
- 5. एक गतिशील ढांचे में XCTest आयात करें
- 6. XCTest साथ परीक्षण लॉन्च नहीं कर सकते
- 7. sendAsynchronousRequest का परीक्षण कैसे करें: XCTest
- 8. XCTest अपवाद keyValueObservingExpectationForObject का उपयोग करते समय: मुख्यपथ: हैंडलर:
- 9. DTDeviceKit: एप्लिकेशन पहचानकर्ता XXX
- 10. xctest - बटन पर एक नया दृश्य लोड होने पर परीक्षण कैसे करें
- 11. प्रोजेक्ट का नाम बदलने के बाद मुझे <XCTest/XCTest.h> नहीं मिला।
- 12. XCTest के साथ UI तत्वों पर टैप करते समय मैं NSInternalInconsistencyException से कैसे बच सकता हूं?
- 13. XCTest के भीतर तेजी से वस्तुओं को नकल करने का सबसे अच्छा तरीका क्या है?
- 14. XCTest पर स्थिर लाइब्रेरी (उदा। कोकोपोड्स लाइब्रेरी) का उपयोग कैसे करें?
- 15. मैं एक्सकोड 5 के साथ कमांड लाइन से xctest कैसे चला सकता हूं?
- 16. कोडिनेटर एप्लिकेशन ताज़ा एप्लिकेशन
- 17. एप्लिकेशन
- 18. एप्लिकेशन
- 19. एप्लिकेशन
- 20. "एप्लिकेशन"
- 21. एप्लिकेशन
- 22. एप्लिकेशन
- 23. एप्लिकेशन
- 24. एप्लिकेशन
- 25. एप्लिकेशन
- 26. एप्लिकेशन
- 27. एंड्रॉइड एप्लिकेशन लाइफ साइक्ल जब एप्लिकेशन स्टोर
- 28. एप्लिकेशन एप्लिकेशन अधिसूचना सेटिंग्स प्रोग्रामेटिक रूप से
- 29. एप्लिकेशन। कंसोल एप्लिकेशन में वर्तमान "शून्य"
- 30. एप्लिकेशन लोडर: कोई योग्य एप्लिकेशन नहीं मिला
आप प्रवाह को रिकॉर्ड करने का प्रयास कर सकते हैं, जिससे आपको यह हासिल करने का एक अच्छा विचार मिलना चाहिए। पृष्ठभूमि को ऐप भेजने के बाद रिकॉर्डिंग रुक जाएगी नहीं। फिर नींद (एन) अपने परीक्षण निष्पादन या प्रेषण के बाद जब तक कि आप इसे वापस अग्रभूमि (और रिकॉर्डिंग बंद करें) – dogsgod
तक कोशिश की, मैंने कोशिश की। रिकॉर्डिंग करते समय पृष्ठभूमि में जाने के बाद, यह XCUIAplication() के तत्वों का उपयोग करके हालिया ऐप्स से ऐप तक पहुंचता है (यह रिकॉर्डर के लिए प्रतीत होता है। सिस्टम ui अब XCUIAplplication बन गया है)। इसलिए रिकॉर्डिंग चलाने की कोशिश करते समय, यह एक त्रुटि देता है। यदि आप ऐप छोड़ते हैं तो मूल रूप से आप अपने ऐप के XCUIAplication संदर्भ को खो देते हैं। – rachit
@rachit ने आपके लिए नीचे दिए गए समाधान का समाधान किया है? – user3353890