iOS
Testowanie interfejsu użytkownika
Szukaj…
Składnia
- XCUIApplication () // Proxy dla aplikacji. Informacje identyfikujące aplikację są określone w ustawieniach docelowych Xcode jako „Aplikacja docelowa”.
- XCUIElement () // Element interfejsu użytkownika w aplikacji.
Dodawanie plików testowych do projektu Xcode
Podczas tworzenia projektu
Należy zaznaczyć „Uwzględnij testy interfejsu użytkownika” w oknie dialogowym tworzenia projektu.
Po utworzeniu projektu
Jeśli przegapiłeś sprawdzanie UI target
podczas tworzenia projektu, zawsze możesz dodać cel testowy później.
Setps:
- Podczas otwierania projektu przejdź do
File
->New
->Target
- Znajdź
iOS UI Testing Bundle
Identyfikator dostępności
Po włączeniu ułatwień dostępu w Narzędziach
- Wybierz
storyboard
. - Rozwiń
the Utilities
- Wybierz
Identity Inspector
- Wybierz swój element w serii ujęć
- Dodaj nowy identyfikator ułatwień dostępu (na przykład
addButton
)
Gdy dostępność jest wyłączona w Narzędziach
- Wybierz
storyboard
. - Rozwiń
the Utilities
- Wybierz
Identity Inspector
- Wybierz swój element w serii ujęć
- Dodaj atrybut w
User Defined Runtime Attributes
- Dla typu
Key Path
-accessibilityIdentifier
- Dla
Type
- `Ciąg - Dla
Value
- nowy identyfikator dostępności dla Twojego elementu (wview
przykładowym)
Konfiguracja w pliku 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()
}
}
W [ ]
dodaj Identyfikator dostępności dla elementu.
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"]
Elementy 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 UITextField
let textField = app.textFields["textField"]
- hasło UITextField
let passwordTextField = app.secureTextFields["passwordTextField"]
UITextView
let textView = app.textViews["textView"]
UISwitch
let switch = app.switches["switch"]
Alerty
let alert = app.alerts["About yourself"] // Title of presented alert
Wyłącz animacje podczas testowania interfejsu użytkownika
W teście możesz wyłączyć animacje, dodając w setUp
:
app.launchEnvironment = ["animations": "0"]
Gdzie app
jest instancją XCUIApplication.
Obiad i zakończ aplikację podczas wykonywania
Aplikacja na lunch do testowania
override func setUp() {
super.setUp()
let app = XCUIApplication()
app.launch()
}
Zakończenie aplikacji
func testStacOverFlowApp() {
app.terminate()
}
Obróć urządzenia
Urządzenie można obracać, zmieniając orientation
w XCUIDevice.shared().orientation
XCUIDevice.shared().orientation = .landscapeLeft
XCUIDevice.shared().orientation = .portrait
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow