Suche…


Syntax

  • XCUIApplication () // Proxy für eine Anwendung. Die Informationen zur Identifizierung der Anwendung werden in den Xcode-Zieleinstellungen als "Zielanwendung" angegeben.
  • XCUIElement () // Ein Benutzeroberflächenelement in einer Anwendung.

Testdateien zu Xcode Project hinzufügen

Beim Erstellen des Projekts

Sie sollten im Projekterstellungsdialog "UI-Tests einbeziehen" aktivieren.

Geben Sie hier die Bildbeschreibung ein

Nachdem Sie das Projekt erstellt haben

Wenn Sie beim Erstellen eines Projekts die Überprüfung des UI target verpasst haben, können Sie später immer ein Testziel hinzufügen.

Setps:

  • Während das Projekt geöffnet ist, gehen Sie zu File -> New -> Target
  • Suchen Sie ein iOS UI Testing Bundle

Geben Sie hier die Bildbeschreibung ein

Eingabehilfe

Wenn Eingabehilfen in Dienstprogrammen aktiviert ist

  • storyboard .
  • Erweitern Sie the Utilities
  • Wählen Sie Identity Inspector
  • Wählen Sie Ihr Element im Storyboard aus
  • Neuen Accessibility-Bezeichner addButton (im Beispiel addButton )

Geben Sie hier die Bildbeschreibung ein

Wenn Eingabehilfen in Dienstprogrammen deaktiviert ist

  • storyboard .
  • Erweitern Sie the Utilities
  • Wählen Sie Identity Inspector
  • Wählen Sie Ihr Element im Storyboard aus
  • Attribut in User Defined Runtime Attributes
  • Für Key Path - accessibilityIdentifier
  • Für Type - `String
  • Für Value - neue Zugänglichkeit Kennung für Ihr Element (in Beispiel view )

Geben Sie hier die Bildbeschreibung ein

Einrichten in UITest-Datei

import XCTest

class StackOverFlowUITests: XCTestCase {

    private let app = XCUIApplication()

    //Views

    private var view: XCUIElement!

    //Buttons

    private var addButton: XCUIElement!


    override func setUp() {
        super.setUp()
    
        app.launch()
    
        //Views
    
        view = app.otherElements["view"]
    
        //Buttons
    
        addButton = app.buttons["addButton"]
    }

    func testMyApp() {

        addButton.tap()
        view.tap()
    }    
}

Fügen Sie in [ ] Accessibility Identifier für Element hinzu.

UIView, UIImageView, UIScrollView

let imageView = app.images["imageView"]
let scrollView = app.scrollViews["scrollView"]
let view = app.otherElements["view"]

UILabel

let label = app.staticTexts["label"]

UIStackView

let stackView = app.otherElements["stackView"]

UITableView

let tableView = app.tables["tableView"]

UITableViewCell

let tableViewCell = tableView.cells["tableViewCell"]

UITableViewCell-Elemente

let tableViewCellButton = tableView.cells.element(boundBy: 0).buttons["button"]

UICollectionView

let collectionView = app.collectionViews["collectionView"]

UIButton, UIBarButtonItem

let button = app.buttons["button"]
let barButtonItem = app.buttons["barButtonItem"]

UITextField

  • normales UITextField
let textField = app.textFields["textField"]
  • Kennwort UITextField
let passwordTextField = app.secureTextFields["passwordTextField"]

UITextView

let textView = app.textViews["textView"]

UISwitch

let switch = app.switches["switch"]

Alarme

let alert = app.alerts["About yourself"] // Title of presented alert

Deaktivieren Sie Animationen während des UI-Tests

In einem Test können Sie Animationen deaktivieren, indem Sie setUp hinzufügen:

    app.launchEnvironment = ["animations": "0"]

Wo ist app Instanz von XCUIApplication.

Mittagessen und Anwendung während der Ausführung beenden

Mittagsanwendung zum Testen

override func setUp() {
    super.setUp()

    let app = XCUIApplication()

    app.launch()
}

Anwendung beenden

func testStacOverFlowApp() {
    
    app.terminate()
}

Geräte drehen

Das Gerät kann durch Ändern der orientation in XCUIDevice.shared().orientation

XCUIDevice.shared().orientation = .landscapeLeft
XCUIDevice.shared().orientation = .portrait


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow