Zoeken…
Syntaxis
- XCUIApplication () // Proxy voor een toepassing. De informatie die de toepassing identificeert, wordt in de Xcode-doelinstellingen gespecificeerd als de "Doeltoepassing".
- XCUIElement () // Een gebruikersinterface-element in een toepassing.
Testbestanden toevoegen aan Xcode Project
Bij het maken van het project
Vink "UI-tests opnemen" aan in het dialoogvenster voor het maken van projecten.
Na het maken van het project
Als u tijdens het maken van het project het controleren van het UI target
hebt gemist, kunt u altijd later een testdoel toevoegen.
Setps:
- Terwijl het project open is, ga naar
File
->New
->Target
- Zoek een
iOS UI Testing Bundle
Toegankelijkheidsidentificatie
Wanneer Toegankelijkheid is ingeschakeld in Hulpprogramma's
- Selecteer
storyboard
. - Vouw
the Utilities
- Selecteer
Identity Inspector
- Selecteer uw element op het storyboard
- Voeg een nieuwe toegankelijkheidsidentificatie toe (bijvoorbeeld
addButton
)
Wanneer Toegankelijkheid is uitgeschakeld in Hulpprogramma's
- Selecteer
storyboard
. - Vouw
the Utilities
- Selecteer
Identity Inspector
- Selecteer uw element op het storyboard
-
User Defined Runtime Attributes
toevoegen in door deUser Defined Runtime Attributes
- Voor
Key Path
typeaccessibilityIdentifier
- Voor
Type
- `String - Voor
Value
- nieuwe toegankelijkheid identificatie voor uw element (in het voorbeeldview
)
Instellen in UITest-bestand
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()
}
}
Voeg in [ ]
Toegankelijkheidsidentificatie voor element toe.
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-elementen
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
- normaal UITextField
let textField = app.textFields["textField"]
- wachtwoord UITextField
let passwordTextField = app.secureTextFields["passwordTextField"]
UITextView
let textView = app.textViews["textView"]
UISwitch
let switch = app.switches["switch"]
Waarschuwingen
let alert = app.alerts["About yourself"] // Title of presented alert
Schakel animaties uit tijdens UI-testen
In een test kunt u animaties uitschakelen door setUp
toe te voegen:
app.launchEnvironment = ["animations": "0"]
Waar app
is exemplaar van XCUIApplication.
Lunch en beëindig applicatie tijdens het uitvoeren
Lunch applicatie voor het testen
override func setUp() {
super.setUp()
let app = XCUIApplication()
app.launch()
}
Toepassing beëindigen
func testStacOverFlowApp() {
app.terminate()
}
Roteer apparaten
Apparaat kan worden XCUIDevice.shared().orientation
door de orientation
in XCUIDevice.shared().orientation
XCUIDevice.shared().orientation = .landscapeLeft
XCUIDevice.shared().orientation = .portrait
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow