iOS
Pruebas de interfaz de usuario
Buscar..
Sintaxis
- XCUIApplication () // Proxy para una aplicación. La información que identifica la aplicación se especifica en la configuración de destino de Xcode como la "Aplicación de destino".
- XCUIElement () // Un elemento de interfaz de usuario en una aplicación.
Agregando archivos de prueba a Xcode Project
Al crear el proyecto.
Debe marcar "Incluir pruebas de IU" en el cuadro de diálogo de creación de proyecto.
Después de crear el proyecto.
Si no pudo comprobar el UI target
al crear un proyecto, siempre podría agregar un objetivo de prueba más tarde.
Setps:
- Mientras el proyecto está abierto, vaya a
File
->New
->Target
- Encuentra
iOS UI Testing Bundle
Identificador de accesibilidad
Cuando la accesibilidad habilitada en Utilidades
- Seleccione
storyboard
. - Expandir
the Utilities
- Seleccione
Identity Inspector
- Selecciona tu elemento en el guión gráfico.
- Agregar nuevo identificador de accesibilidad (en el ejemplo
addButton
)
Cuando la accesibilidad está deshabilitada en Utilidades
- Seleccione
storyboard
. - Expandir
the Utilities
- Seleccione
Identity Inspector
- Selecciona tu elemento en el guión gráfico.
- Añadir atributo en los atributos de
User Defined Runtime Attributes
- Para el tipo de
Key Path
accessibilityIdentifier
Key Path
-accessibilityIdentifier
- Para
Type
- `Cadena - Para
Value
: nuevo identificador de accesibilidad para su elemento (en laview
ejemplo)
Configuración en el archivo 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()
}
}
En [ ]
agregue el identificador de accesibilidad para el 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"]
Elementos de 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
- normal
let textField = app.textFields["textField"]
- contraseña UITextField
let passwordTextField = app.secureTextFields["passwordTextField"]
UITextView
let textView = app.textViews["textView"]
UISwitch
let switch = app.switches["switch"]
Las alertas
let alert = app.alerts["About yourself"] // Title of presented alert
Deshabilitar animaciones durante la prueba de interfaz de usuario
En una prueba puedes deshabilitar animaciones agregando en setUp
:
app.launchEnvironment = ["animations": "0"]
Donde la app
es instancia de XCUIApplication.
Almuerzo y finalización de la aplicación mientras se ejecuta.
Aplicación de almuerzo para pruebas.
override func setUp() {
super.setUp()
let app = XCUIApplication()
app.launch()
}
Aplicación de terminación
func testStacOverFlowApp() {
app.terminate()
}
Rotar dispositivos
El dispositivo se puede girar cambiando la orientation
en XCUIDevice.shared().orientation
:
XCUIDevice.shared().orientation = .landscapeLeft
XCUIDevice.shared().orientation = .portrait
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow