2017-11-28 2 views
0

Ich habe eine UITest bekommt, das mit 10 in iOS erfolgreich ist (10.3):XCText: Abfrage für Text in Navigationsleiste

let app = XCUIApplication() 
let pageTitle = app.navigationBars["Module.ContainerView"].staticTexts["page title"] 
XCTAssert(pageTitle.exists) 

Dies scheitert jedoch in iOS 11 (11.1). Die app.navigationBars["Module.ContainerView"] existiert, die staticTexts davon sind ein leeres Array.

Haben Sie Ideen, wie Sie in der Navigationsleiste von iOS 11 nach einem Titel suchen?

+0

können Sie versuchen, das genaue Element durch Aufnahme zu finden. Starten Sie einfach die Aufzeichnung und klicken Sie auf die Navigationsleiste, in der der Titel angezeigt wird. Es wird Ihnen das genaue Element liefern. Ich denke, der Titelelementtyp ändert sich. app.navigationBars ["" Module.ContainerView "]. OtherElements [" "Seitentitel"] versuchen Sie es mit –

+0

Ich benutzte eine benutzerdefinierte Titelansicht in der Navigationsleiste. In iOS 11 müssen Sie die 'intrinsicContentSize' setzen, damit staticTexts angezeigt werden. –

+0

Sie haben Ihr Problem also selbst gelöst? Wenn ja, dann posten Sie Ihre gelöste Antwort hier, so dass jeder andere, der auf ein ähnliches Problem stößt, Hilfe bekommt. –

Antwort

0

Sie können den genauen Typ des Titels mithilfe der Aufnahmefunktion finden.

Als eine Lösung können Sie mit dem folgenden Code versuchen. Ich hoffe, es wird funktionieren.

let app = XCUIApplication() 
let pageTitle = 
app.navigationBars["Module.ContainerView"].otherElements["page title"] 
XCTAssert(pageTitle.exists) 
Verwandte Themen