I've go a very simple calculator and I' trying to test whether a label gets updated when a button is tapped.
My test method looks like this:
let app = XCUIApplication()
- Do I need to know what the value is for the label to be able to query?
- Is there a way of querying for the label without knowing what the value is when the application starts?
With UI Testing you might have to think about your problem a little differently. Instead of asserting that something changed, check if the new thing exists.
In practice, this means to check that a label with your expected value appears. Don't check that an existing one changed to the correct state.
So, in your example, you can do the following. This will check that when you tap the "9" button a label with the text "42" appears.
let app = XCUIApplication() app.buttons["9"].tap() XCTAssert(app.staticTexts["42"].exists)