2017-11-20 2 views
1

Ich habe eine Aufgabe, UITest erfolgreich zu erhalten, wenn erwartet Element (Warnung in meinem Fall) nicht vor Timeout (auf Serveranforderung) angezeigt.Erfolg auf UITest, wenn waitForExpections fehlschlägt

Code:

let element = app.alerts["test text"] 
let existsPredicate = NSPredicate(format: "exists == true") 
expectation(for: existsPredicate, evaluatedWith: element, handler: nil) 

waitForExpectations(timeout: 10, handler: nil) 

// when timeout expired test should finish with success 

hat keine Lösungen über das Internet finden.

Antwort

1

Оооо, Sie sollten darauf achten, es ist UITest. In diesem Fall hat die Erwartung eine schöne Eigenschaft: isInverted. Setzen Sie dies auf wahr, sagt, dass Erwartung nicht beabsichtigt ist.)))

let element = app.alerts["test text"] 
let existsPredicate = NSPredicate(format: "exists == true") 
let expectation = expectation(for: existsPredicate, evaluatedWith: element, handler: nil) 
expectation.isInverted = true // if alert doesn't appear during 10 seconds, then test passed 

waitForExpectations(timeout: 10, handler: nil) 
+0

Es ist interessant! Senden Sie bitte ein Beispielcode. – Igor

+0

Brilliant! Genau das, was ich brauchte! Danke für diesen Hinweis! Postleitzahl und ich werde Ihre Antwort akzeptieren. – Igor

+0

Ich habe es selbst hinzugefügt. Löschen Sie bitte die vorherige Antwort. – Igor

Verwandte Themen