2016-05-25 6 views
0

I XCUITest bin mit AppleTV UI Tests zu tun mit Xcode 7.3.Gibt es eine ähnliche getText() von WebElement für XCUIElement

Es hat XCUIElement gleiche wie WebElement. Aber gibt es eine ähnliche Art von getText() Methode für XCUIElement, die in Selenium WebElement vorhanden ist.

Grundsätzlich möchte ich Text von der XCUIElement erfassen.

Z. B:

let ele:XCUIElement = XCUIApplication().collectionViews.cells[ 
               "Sign In to Activate"]. 

So ist es trotzdem, um den Wert zu erhalten: "Anmelden und Aktivieren" aus dem Element. Irgendeine Hilfe ?

Antwort

1

Mit UI-Tests müssen Sie möglicherweise über Ihr Problem ein wenig anders denken. Anstatt zu versuchen, einen Wert eines bekannten Elements zu lesen, überprüfen Sie, ob das Element überhaupt existiert.

In der Praxis bedeutet dies zu überprüfen, dass ein Etikett mit Ihrem erwarteten Wert in Ihrer Webansicht angezeigt wird. Also, wenn Sie Etikett warten auf den „Anmelden und Aktivieren“ erscheinen Sie es über die folgende behaupten kann:

let app = XCUIApplication() 
let signInLabel = app.staticTexts["Sign In to Activate"] 
XCTAssert(signInLabel.exists) 

Oder, wenn das Element ist eigentlich ein Link, den Zugriff darauf über links, etwa so:

let signInLink = app.links["Sign In to Activate"] 
XCTAssert(signInLink.exists) 
2

Sobald Sie eine StaticText- XCUIElement haben, können Sie den Text mit dem label Eigenschaft erhalten.

Sie können den Text einer Zelle nicht abrufen, da eine Zelle kein staticText (UILabel) -Objekt ist. Wenn Ihre Zelle ein UILabel (Text) enthält, müssen Sie dieses Objekt zuerst finden.

Sie können alle Textelemente auf dem Bildschirm erhalten, indem app.staticTexts tun -. Sie werden dann die Liste der Textelemente auf nur einen verengen müssen Sie daran interessiert sind, dies zu tun, eine accessibilityIdentifier addieren, UILabel im Code deiner App.

label.accessibilityIdentifier = "myLabelIdentifier" // This can be whatever String you like 

Wenn Sie mehrere Zellen, wo das Etikett wieder verwendet wird, werden Sie auch die Zelle zu identifizieren, müssen in der Lage, Sie in zu interessieren. Wenn Sie beispielsweise das Textelement in der dritten Zelle finden möchten: