Open4

XCUITestをするときのTips

kamimikamimi

XCUITestを行うときのTips

https://qiita.com/y-some/items/d0c32f6e60e8ea2367fa

  • テストしたい要素の名前がわからない時は、XcodeのDebug View Hierarchyを使用して特定する
  • SwiftUIで要素に名前をつけたいときは、accessibilityIdentifierモディファイアを使用する
    • ただし、本番コードにテスト用のコードを書くことになるため、個人的にはあまり好みではない
Button(action: {
  isShownDialog.toggle()
}) {
  HStack(spacing: 10) {
    Image(systemName: "arrow.up.arrow.down")
    Text(viewModel.orderType.rawValue)
      .font(.system(size: 17))
  }
  .foregroundColor(.black)
}
.accessibilityIdentifier(SeachRepositoryPage.sortButtonID)
kamimikamimi
  • UITestを作成するときに、デフォルトでパフォーマンステストをするためのコードスニペットが追加されるようになった

https://www.chimehq.com/blog/xctest-performance

func testLaunchPerformance() throws {
        if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) {
            // This measures how long it takes to launch your application.
            measure(metrics: [XCTApplicationLaunchMetric()]) {
                XCUIApplication().launch()
          }
      }
}
kamimikamimi
  • 設定したAccessibility Identifierが実際どのviewに紐づいているのかを確かめるには、View Hierarchyで見たときに右側に出てくるやつを見るとわかる