Recherche…


Syntaxe

  • XCUIApplication () // Proxy pour une application. Les informations identifiant l'application sont spécifiées dans les paramètres cibles de Xcode comme "Application cible".
  • XCUIElement () // Un élément d'interface utilisateur dans une application.

Ajout de fichiers de test à un projet Xcode

Lors de la création du projet

Vous devez cocher "Inclure les tests d'interface utilisateur" dans la boîte de dialogue de création de projet.

entrer la description de l'image ici

Après avoir créé le projet

Si vous n'avez pas vérifié la UI target lors de la création du projet, vous pouvez toujours ajouter une cible de test ultérieurement.

Setps:

  • Alors que le projet est ouvert, allez dans File -> New -> Target
  • Rechercher un ensemble de iOS UI Testing Bundle

entrer la description de l'image ici

Identifiant d'accessibilité

Lorsque l'accessibilité est activée dans les utilitaires

  • Sélectionnez le storyboard .
  • Développez the Utilities
  • Sélectionner un Identity Inspector
  • Sélectionnez votre élément sur le storyboard
  • Ajouter un nouvel identifiant d'accessibilité (par exemple addButton )

entrer la description de l'image ici

Lorsque l'accessibilité est désactivée dans les utilitaires

  • Sélectionnez le storyboard .
  • Développez the Utilities
  • Sélectionner un Identity Inspector
  • Sélectionnez votre élément sur le storyboard
  • Ajouter un attribut dans les attributs User Defined Runtime Attributes
  • Pour le type de Key Path - accessibilityIdentifier
  • Pour le Type - `String
  • For Value - nouvel identifiant d'accessibilité pour votre élément (dans la view exemple)

entrer la description de l'image ici

Configuration dans le fichier UITest

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()
    }    
}

Dans [ ] ajoutez un identifiant d'accessibilité pour l'élément.

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"]

Éléments UITableViewCell

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

  • UITextField normal
let textField = app.textFields["textField"]
  • mot de passe UITextField
let passwordTextField = app.secureTextFields["passwordTextField"]

UITextView

let textView = app.textViews["textView"]

UISwitch

let switch = app.switches["switch"]

Des alertes

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

Désactiver les animations lors des tests de l'interface utilisateur

Dans un test, vous pouvez désactiver les animations en ajoutant dans setUp :

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

app est l'instance de XCUIApplication.

Déjeuner et terminer l'application pendant l'exécution

Demande de déjeuner pour les tests

override func setUp() {
    super.setUp()

    let app = XCUIApplication()

    app.launch()
}

Application de terminaison

func testStacOverFlowApp() {
    
    app.terminate()
}

Faire pivoter les appareils

Le périphérique peut être XCUIDevice.shared().orientation en modifiant l' orientation dans XCUIDevice.shared().orientation

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


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow