我的应用程序选项卡中有4个选项卡。
我必须验证它们从左到右的位置相同 tabA tabB tabC tabD
例如失败看起来像这样 tabB tabC tabA tabD
有没有一种方法可以使用XCUITest进行测试。我在Xcode文档中查找了内容,但没有所需的内容。
答案 0 :(得分:0)
结合使用element(boundBy: Int)
和标签上的字符串-https://developer.apple.com/documentation/xctest/xcuielementquery/1500842-element
我假设您的标签包含一些文本(可以说标签上的文本是 tabA,tabB,tabC,tabD ),因此最好的解决方案是检查 标签上的文本 和标签的 索引 。 通过检查文本,您知道元素是正确的选项卡(tabA,tabB ...),并且通过检查元素索引,您知道它在正确的位置。
在此之后,它很简单-找到通往标签栏按钮的方式(通常为XCUIApplication.tabBars.buttons["tabA"]
)。比照这样检查他们的字符串和位置:
let app = XCUIApplication()
let tabA = XCUIApplication.tabBars.buttons["tabA"].element(boundBy: 0)//tabA is on the first position
let tabB = XCUIApplication.tabBars.buttons["tabB"].element(boundBy: 1)//tabB is on the second position etc...
let tabC = XCUIApplication.tabBars.buttons["tabC"].element(boundBy: 2)
let tabD = XCUIApplication.tabBars.buttons["tabD"].element(boundBy: 3)
XCTAssertTrue(tabA.exists)
XCTAssertTrue(tabB.exists)
XCTAssertTrue(tabC.exists)
XCTAssertTrue(tabD.exists)
编辑:建议不要使用字符串accessibilityIdentifier
-https://developer.apple.com/documentation/uikit/uiaccessibilityidentification#//apple_ref/occ/intfp/UIAccessibilityIdentification/accessibilityIdentifier