2015-08-28 17 views
6

पर मेन्यू बार ऐप्स के लिए यूआईटीएस्टिंग, मैं मैक ओएस एक्स पर 1 पॉसवर्ड, ड्रॉपबॉक्स जैसे मेनूबार ऐप के लिए एक्सकोड 7 यूआईटीस्टिंग का उपयोग करने की कोशिश कर रहा हूं। क्या एक्सकोड द्वारा पेश की गई नवीनतम सुविधा का उपयोग करके यूआई परीक्षण को स्वचालित करना संभव है 7? मैं आईओएस ऐप के लिए यूआई परीक्षण कार्यों को समझता हूं, लेकिन डेमो कभी नहीं दिखाता है कि यह ओएस ऐप काम करता है या नहीं। यदि यह ओएस एक्स ऐप के लिए काम करता है, लेकिन क्या यह मेन्यूबार ऐप के लिए काम करेगा? कृपया इस समस्या के माध्यम से मुझे मार्गदर्शन करें।एक्सकोड 7 ओएस एक्स

+1

मुझे यह वही समस्या है। आप यूआई टेस्ट ओएसएक्स ऐप्स कर सकते हैं, लेकिन यदि आप 'Info.plists' पर "एप्लिकेशन एजेंट (UIElement)" विकल्प सक्षम करते हैं तो 'XCUIAplication()। लॉन्च() 'काम करना बंद कर देता है। कोई विचार? – Gaston

उत्तर

1

मुझे एहसास है कि यह प्रश्न बहुत पुराना है, लेकिन मेरा जवाब साझा करना चाहता था।

मैंने अपनी Info.plist फ़ाइल w/LSUIElement का डुप्लिकेट बनाया है NO पर सेट करें। मैंने फिर एक नया "यूआईटीस्टिंग" कॉन्फ़िगरेशन बनाया और डुप्लिकेट में अपनी INFOPLIST_FILE बिल्ड सेटिंग की ओर इशारा किया। एक बेहतर विकल्प उपयोगकर्ता द्वारा परिभाषित बिल्ड सेटिंग बनाने के लिए किया गया था और फिर उस सेटिंग का मान LSUIElement पर असाइन करें, लेकिन एक्सकोड इसे w/Booleans की अनुमति नहीं देता है।

एक बार जब आप UITesting कॉन्फ़िगरेशन सेट अप कर लेंगे, तो आप परीक्षण के दौरान इस कॉन्फ़िगरेशन का उपयोग करने के लिए अपनी योजना संपादित कर सकते हैं।

1

मैं इस समस्या का एक बेहतर समाधान है, इस सवाल का जवाब से प्रेरित पाया: Info.plist से डॉक क्षमता को दूर करने के https://stackoverflow.com/a/5384319/96737

इसके बजाय, यह आवेदन के "सक्रियण नीति" स्थापित करने के लिए बेहतर है के रूप में "गौण" प्रोग्राम के रूप में ।

swift3 में

Xcode 8.1 के माध्यम से:

func applicationDidFinishLaunching(_ aNotification: Notification) { 
    NSApp.setActivationPolicy(NSApplicationActivationPolicy.accessory) 
} 

सबसे बड़ा लाभ यह है कि यह क्रम में और संशोधनों के बिना यूआई परीक्षण में काम करती है। यूआई परीक्षण के अंदर एप्लिकेशन चलाने वाले गीलेर के आधार पर आपको सक्रियण नीति को सक्रिय या निष्क्रिय करने की आवश्यकता नहीं है।

यह बस काम करता है।