我需要为简单的应用程序屏幕编写一些 UI 测试,该屏幕顶部有一个导航栏,屏幕其余部分有一个包含两个单元格的表格。
\n每个单元格包含:
\n这是一张图像,可让您了解屏幕上的元素\n
编写一个测试执行以下操作:
\nXCTest 无法识别包含错误的元素。
\n当我使用调试视图层次结构检查元素时,它就在那里,清晰可见,文本属性“不能少于或超过 10 位数字”,accessibiltyIndentifier“errorField”。
\n层次结构: UIWindow->UILayoutContainerView->UINavigationTransitionView->UIViewControllerWrapperView->UIView->Form->FormTextFieldCell->UITableViewCellContentView->UIView->UILabel
\n它有一个同级,也是 UILabel(“这是您必须放置 10 位会员卡的地方”) - 访问这个同级没有问题。我可以通过accessibilityIdentifier或其文本访问它:
\napp.staticTexts["hintField"]\napp.staticTexts["This is where you must put your 10-digit loyalty card"]\nRun Code Online (Sandbox Code Playgroud)\n但这些选项都不适用于我感兴趣的元素。当我打印 app.debugDescription 时,该元素不存在,就好像它不存在一样。
\n以下是用户输入错误并且错误文本已在屏幕上可见后 debugDescription 的输出:
\nElement subtree:\n \xe2\x86\x92Application 0x60000016e700: {{0.0, …Run Code Online (Sandbox Code Playgroud)