Sök…
Syntax
- XCUIA-ansökan () // Proxy för en applikation. Informationen som identifierar applikationen anges i Xcode-målinställningarna som "Target Application".
- XCUIElement () // Ett användargränssnittselement i en applikation.
Lägga till testfiler till Xcode Project
När du skapar projektet
Du bör markera "Inkludera UI-test" i projektdialogrutan.
Efter att ha skapat projektet
Om du missade att kontrollera UI target
när du skapade projekt, kan du alltid lägga till testmål senare.
Setps:
- När projektet är öppet går du till
File
->New
->Target
- Hitta
iOS UI Testing Bundle
Tillgänglighetsidentifierare
När tillgänglighet aktiverad i Verktyg
- Välj
storyboard
. - Expandera
the Utilities
- Välj
Identity Inspector
- Välj ditt element på storyboard
- Lägg till en ny tillgänglighetsidentifierare (i exempel
addButton
)
När tillgänglighet är inaktiverad i Verktyg
- Välj
storyboard
. - Expandera
the Utilities
- Välj
Identity Inspector
- Välj ditt element på storyboard
- Lägg till attribut i
User Defined Runtime Attributes
- För
Key Path
typ -accessibilityIdentifier
- För
Type
- `String - För
Value
- ny tillgänglighet identifierare för din del (i exempelview
)
Ställa in i UITest-fil
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()
}
}
I [ ]
lägg till Accessibility Identifier för element.
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-element
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 UITextField
let textField = app.textFields["textField"]
- lösenord UITextField
let passwordTextField = app.secureTextFields["passwordTextField"]
UITextView
let textView = app.textViews["textView"]
UISwitch
let switch = app.switches["switch"]
varningar
let alert = app.alerts["About yourself"] // Title of presented alert
Inaktivera animationer under UI-testning
I ett test kan du inaktivera animationer genom att lägga till i setUp
:
app.launchEnvironment = ["animations": "0"]
Där app
är exempel på XCUIA-ansökan.
Lunch och avsluta ansökan när du kör
Lunchapplikation för testning
override func setUp() {
super.setUp()
let app = XCUIApplication()
app.launch()
}
Avsluta ansökan
func testStacOverFlowApp() {
app.terminate()
}
Rotera enheter
Enheten kan roteras genom att ändra orientation
i XCUIDevice.shared().orientation
:
XCUIDevice.shared().orientation = .landscapeLeft
XCUIDevice.shared().orientation = .portrait
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow