2016-01-08 13 views
6

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

+0

Btw, जब मैं था कुंजीपटल के डीबग मोड में पहुंच की तलाश करने की कोशिश कर रहा है, मैं इसे ऐप में नहीं देख सकता। तो मुझे लगता है कि चूंकि यह एक सिस्टम कीबोर्ड है, इसलिए हम इसे – user2823793

उत्तर

0

दो पर्यवेक्षकों

NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardVisible:", name: UIKeyboardDidShowNotification, object: nil) 
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardHidden:", name: UIKeyboardDidHideNotification, object: nil) 

func keyboardVisible(notif: NSNotification) { 
    print("keyboardVisible") 
} 

func keyboardHidden(notif: NSNotification) { 
    print("keyboardHidden") 
} 

जब भी कुंजीपटल दिख रहा है जोड़े keyboardVisible बुलाया जाएगा और जब भी कुंजीपटल छिपा हुआ है keyboardHidden बुलाया जाएगा।

+0

नहीं देख सकते हैं, मैं इसे यूआई टेस्ट कोड में जोड़ता हूं, लेकिन यह – user2823793

+1

काम नहीं करता है, यह मेरा कोड ओवरराइड 'func setUp() { super.setUp() है NSNotificationCenter.defaultCenter()। AddObserver (स्वयं, चयनकर्ता: "कीबोर्डडिडशो", नाम: UIKeyboardDidShowNotification, ऑब्जेक्ट: XCUIAplication()) } ' – user2823793

11

इस चेक का प्रयास करें:

let app = XCUIApplication() 
XCTAssert(app.keyboards.count > 0, "The keyboard is not shown") 

या जैसे विशिष्ट कुंजीपटल चाबियाँ के लिए जाँच:

let app = XCUIApplication() 
XCTAssert(app.keyboards.buttons["Next:"].exists, "The keyboard has no Next button") 

आप कीबोर्ड पर बातचीत को नियंत्रित कर सकते हैं:

let app = XCUIApplication() 
app.keyboards.buttons["Next:"].tap() 
संबंधित मुद्दे