2016-06-24 6 views
10

मैं यूआई परीक्षण जो परीक्षण लॉगिन कार्यक्षमता है (और अन्य सामग्री का परीक्षण करने का उपयोग करता है), लेकिन कभी कभी ध्यान केंद्रित एक से दूसरे क्षेत्र से बदल जाता है जब field.typeText - no focused fields to fillक्या यूआई परीक्षण में कोड के माध्यम से "सॉफ़्टवेयर कीबोर्ड टॉगल करना" संभव है? कुंजीपटल खाल, और हालांकि कर्सर क्षेत्र में निमिष है, मैं पर त्रुटि मिल रही है -

किसी तरह मैंने महसूस किया है कि एक Hardware -> Keyboard -> toggle software keyboard पर क्लिक कुंजीपटल बनाता स्क्रीन पर जारी रहती है, तो परीक्षण काम करता है अच्छी तरह से है। लेकिन मैं इसे, किसी भी परीक्षण डिवाइस पर काम किसी भी डेवलपर मशीन पर बनाने की जरूरत है, तो मैं परेशान बिना प्रोग्राम के रूप में इस विकल्प को सेट करना चाहते परियोजना के रीडमी में "अगर परीक्षण विफल रहता है, के लिए जाना ... और ... सेट हाथ से"।

क्या यह संभव है? वर्तमान में

उत्तर

10

केवल जाना जाता वैकल्पिक हल जो कारण होगा सॉफ्टवेयर कीबोर्ड हमेशा उपस्थित रहने की Simulator.app में हार्डवेयर कीबोर्ड निष्क्रिय करने के लिए है। उदाहरण:

defaults write com.apple.iphonesimulator ConnectHardwareKeyboard -bool NO 
+0

तरह सिम्युलेटर में हाथ से सक्षम करने के बाद यह यूआई के लिए सक्षम रहता है लगता है भी परीक्षण करती है। उदास। – extempl

+0

हाँ है, लेकिन आप कम से कम अपने यूआई परीक्षण चलाने से पहले इसे अक्षम करने को स्वचालित और फिर कर सकते हैं यह यूआई परीक्षण के बाद पुन: सक्षम। कृपया सुनिश्चित करें कि आप इस बग के बारे में http://bugreport.apple.com पर एक रडार दर्ज करें। –

2

सिम्युलेटर की .plist फ़ाइल एकाधिक सिमुलेटर के लिए समर्थन जोड़ने के लिए बदल गई। Connectहार्डवेयर केबोर्ड बूलियन अब डिवाइस के यूडीआईडी ​​के नीचे घोंसला है। सौभाग्य से यह यूडीआईडी ​​प्लेस्ट फ़ाइल में भी संग्रहीत है। आप अपने यूआईटीएस्ट लक्ष्य के निर्माण चरणों के तहत 'रन स्क्रिप्ट' का उपयोग करके यह कोड जोड़ सकते हैं।

Xcode 9 जवाब:

#grab the UDID from the plist 
UDID=$(defaults read com.apple.iphonesimulator CurrentDeviceUDID) 

#overwrite the existing value with false 
#OR if the plist doesn't have that value add it in 
/usr/libexec/PlistBuddy -c "Set :DevicePreferences:$UDID:ConnectHardwareKeyboard 
false" ~/Library/Preferences/com.apple.iphonesimulator.plist 
|| 
/usr/libexec/PlistBuddy -c "Add :DevicePreferences:$UDID:ConnectHardwareKeyboard 
bool false" ~/Library/Preferences/com.apple.iphonesimulator.plist 
संबंधित मुद्दे

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