2016-01-08 15 views
6

Yeni Xcode 7 UI test çerçevesi altında hızlı bir UI metni yazıyorum. gereksinimi, sistem klavyesinin bir uygulamada gösterilip gösterilmediğini sınamaktır. Birisi bana bunun nasıl yapılacağına dair bir ipucu verebilir mi? teşekkürlerKlavye Xcode UI testinde gösteriliyorsa nasıl algılanır

+0

, ben iken klavyenin hata ayıklama modundaki erişilebilirliği aramaya çalışırken, uygulamada göremiyorum. bu yüzden bir sistem klavyesi olduğu için, bunu göremiyoruz yani – user2823793

cevap

0

keyboardVisible adı verilecek iki gözlemci

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") 
} 

klavye görünür zaman

ekleyin ve klavye gizlenir her keyboardHidden çağrılır.

+0

bunu UI sınama koduna ekliyorum, ancak – user2823793

+1

çalışmaz burada benim codeoverride 'func setUp() { super.setUp() NSNotificationCenter.defaultCenter() addObserver (kendi, seçici: "keyboardDidShow", ad: UIKeyboardDidShowNotification, object: XCUIApplication()) } ' – user2823793

11

Bu kontrolü deneyin:

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

Veya gibi özel klavye tuşları için kontrol edin:

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

Ayrıca klavyede etkileşimleri kontrol edebilir: BTW

let app = XCUIApplication() 
app.keyboards.buttons["Next:"].tap() 
İlgili konular