Ricerca…


Sintassi

  • XCUIApplication () // Proxy per un'applicazione. Le informazioni che identificano l'applicazione sono specificate nelle impostazioni del target Xcode come "Target Application".
  • XCUIElement () // Un elemento dell'interfaccia utente in un'applicazione.

Aggiunta di file di test a Xcode Project

Quando si crea il progetto

Dovresti selezionare "Includi test UI" nella finestra di dialogo di creazione del progetto.

inserisci la descrizione dell'immagine qui

Dopo aver creato il progetto

Se ti sei perso il controllo UI target durante la creazione del progetto, puoi sempre aggiungere il target di prova in un secondo momento.

Setps:

  • Mentre il progetto è aperto, vai su File -> New -> Target
  • Trova iOS UI Testing Bundle

inserisci la descrizione dell'immagine qui

Identificatore di accessibilità

Quando l'accessibilità è abilitata nelle utilità

  • Seleziona lo storyboard .
  • Espandi the Utilities
  • Seleziona Identity Inspector
  • Seleziona il tuo elemento nello storyboard
  • Aggiungi un nuovo identificatore di accessibilità (in esempio addButton )

inserisci la descrizione dell'immagine qui

Quando l'accessibilità è disabilitata nelle utilità

  • Seleziona lo storyboard .
  • Espandi the Utilities
  • Seleziona Identity Inspector
  • Seleziona il tuo elemento nello storyboard
  • Aggiungi attributo in User Defined Runtime Attributes
  • Per il tipo di Key Path : accessibilityIdentifier
  • Per Type - `String
  • Per Value : nuovo identificatore di accessibilità per il tuo elemento (nella view esempio)

inserisci la descrizione dell'immagine qui

Impostazione nel file 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()
    }    
}

In [ ] aggiungi identificatore di accessibilità per elemento.

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

Elementi 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

  • normale UITextField
let textField = app.textFields["textField"]
  • password UITextField
let passwordTextField = app.secureTextFields["passwordTextField"]

UITextView

let textView = app.textViews["textView"]

UISwitch

let switch = app.switches["switch"]

avvisi

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

Disattiva le animazioni durante il test dell'interfaccia utente

In un test puoi disabilitare le animazioni aggiungendo in setUp :

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

Dove app è istanza di XCUIApplication.

Pranzo e terminare l'applicazione durante l'esecuzione

Applicazione del pranzo per i test

override func setUp() {
    super.setUp()

    let app = XCUIApplication()

    app.launch()
}

Termina l'applicazione

func testStacOverFlowApp() {
    
    app.terminate()
}

Ruota i dispositivi

Il dispositivo può essere ruotato cambiando l' orientation in XCUIDevice.shared().orientation :

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


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow