2015-09-24 32 views
9

SFSafariViewController'ı otomatik hale getirmenin bir yolu var mı? Xcode 7 UI test özelliğini beğendim, ancak SFSafariViewController otomasyonunu desteklemiyor gibi görünüyor. Ben test ediyorum UI akışlarının bazıları bir web tarayıcısı gerektirir, böylece uygulama bir web görünümü daha güvenli hale getirmek için SFSafariViewController kullanır. Bir uzantıyı başlattı bir eylem sayfasını dokunarakSFSafariViewController'ı UI testlerinde otomatikleştirmek için herhangi bir yol var mı?

Örnek:

+0

Ben de bununla çok ilgileniyorum. Bunun etrafında bir çeşit yol buldun mu? – Martin

+0

@Martin Maalesef şu anda hiçbir şey yok. –

+0

Tam olarak ne yapmak istediğinizi bana açık değil. –

cevap

2

o (şu anda direkt etkileşimlerle kırık) uzantıları başlatılması benzer ise, aradığınız unsurdur noktada ekrana dokunmayı deneyin:

func tapElementInActionSheetByPosition(element: XCUIElement!) { 
    let tableSize = app.tables.elementBoundByIndex(0).frame.size 
    let elementFrame = element.frame 

    // get the frame of the cancel button, because it has a real origin point 
    let CancelY = app.buttons["Cancel"].frame.origin.y 

    // 8 is the standard apple margin between views 
    let yCoordinate = CancelY - 8.0 - tableSize.height + elementFrame.midY 

    // tap the button at its screen position since tapping a button in the extension picker directly is currently broken 
    app.coordinateWithNormalizedOffset(CGVectorMake(elementFrame.midX/tableSize.width, yCoordinate/app.frame.size.height)).tap() 
} 

Not: XCUIApplication sorgu katmanında dokunmanız gerekir. Öğeye pozisyona dokunmak işe yaramıyor.

İlgili konular