サーチ…
構文
- XCUIApplication()//アプリケーションのプロキシアプリケーションを識別する情報は、Xcodeターゲット設定で「ターゲットアプリケーション」として指定されています。
- XCUIElement()//アプリケーション内のユーザーインターフェイス要素。
Xcodeプロジェクトにテストファイルを追加する
プロジェクトを作成するとき
プロジェクト作成ダイアログで「UIテストを含める」をチェックする必要があります。
プロジェクトの作成後
プロジェクトの作成中にUI target
をチェックしていなかった場合は、後でテストターゲットを追加することができます。
Setps:
- プロジェクトを開いている間、
File
- >New
- >Target
-
iOS UI Testing Bundle
を探す
アクセシビリティ識別子
ユーティリティでアクセシビリティが有効になっている場合
-
storyboard
選択します。 -
the Utilities
-
Identity Inspector
選択 - ストーリーボードであなたの要素を選択してください
- 新しいアクセシビリティ識別子を追加する(例:
addButton
)
ユーティリティでアクセシビリティが無効になっている場合
-
storyboard
選択します。 -
the Utilities
-
Identity Inspector
選択 - ストーリーボードであなたの要素を選択してください
-
User Defined Runtime Attributes
に属性を追加する -
Key Path
タイプ -accessibilityIdentifier
-
Type
- `String -
Value
- 要素の新しいアクセシビリティ識別子(サンプルview
)
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()
}
}
[ ]
に要素のアクセシビリティ識別子を追加します。
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要素
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
- 通常のUITextField
let textField = app.textFields["textField"]
- パスワードUITextField
let passwordTextField = app.secureTextFields["passwordTextField"]
UITextView
let textView = app.textViews["textView"]
UISwitch
let switch = app.switches["switch"]
アラート
let alert = app.alerts["About yourself"] // Title of presented alert
UIテスト中にアニメーションを無効にする
テストでは、 setUp
追加することでアニメーションを無効にすることができます:
app.launchEnvironment = ["animations": "0"]
ここで、 app
はXCUIApplicationのインスタンスです。
実行中にランチと終了のアプリケーション
テストのためのランチアプリケーション
override func setUp() {
super.setUp()
let app = XCUIApplication()
app.launch()
}
アプリケーションの終了
func testStacOverFlowApp() {
app.terminate()
}
デバイスを回転する
デバイスは、 XCUIDevice.shared().orientation
orientation
を変更することで回転できますXCUIDevice.shared().orientation
:
XCUIDevice.shared().orientation = .landscapeLeft
XCUIDevice.shared().orientation = .portrait
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow