iOS UITests - 检测当前是否有任何 XCUIElement 被点击 运行
iOS UITests - Detect if any XCUIElement have ever been tapped on current run
在处理 iOS、UITest 时,如何检测特定的 XCUIElement 是否已被点击?
例如,
let app = XCUIApplication()
let button1 = app.tabBars.buttons["Home"]
button1.tap()
let button2 = app.tabBars.buttons["Home"].tap()
button2.tap() // Here, I want to detect button2 as already tapped
XCUIElement.isEnabled
、XCUIElement.isSelected
和 XCUIElement.value
可以为您提供有关元素的状态信息。
如果您希望切换按钮 on/off,请在 UIControl(UIButton 继承自 UIControl)上使用启用或选定状态来设置这些属性并通过 XCUIElement 从您的测试中访问它们。
如果您希望按钮计算它被点击的次数,请在每次点击时增加您应用中的值,并在您的测试中访问 value
属性。
您将在应用程序代码中执行此操作,而不是在UI 测试目标(来自UI 测试)中执行此操作。
实现此目的的方法有很多种,但一种方法是在按钮被点击一次后将其禁用。如果您希望此功能永久用于测试,那么将此应用程序逻辑包装在 #if DEBUG
子句中可能是个好主意。此外,我建议通过启动参数从 UI 测试切换此逻辑 on/off, 可以 从 UI 测试设置。
在处理 iOS、UITest 时,如何检测特定的 XCUIElement 是否已被点击?
例如,
let app = XCUIApplication()
let button1 = app.tabBars.buttons["Home"]
button1.tap()
let button2 = app.tabBars.buttons["Home"].tap()
button2.tap() // Here, I want to detect button2 as already tapped
XCUIElement.isEnabled
、XCUIElement.isSelected
和 XCUIElement.value
可以为您提供有关元素的状态信息。
如果您希望切换按钮 on/off,请在 UIControl(UIButton 继承自 UIControl)上使用启用或选定状态来设置这些属性并通过 XCUIElement 从您的测试中访问它们。
如果您希望按钮计算它被点击的次数,请在每次点击时增加您应用中的值,并在您的测试中访问 value
属性。
您将在应用程序代码中执行此操作,而不是在UI 测试目标(来自UI 测试)中执行此操作。
实现此目的的方法有很多种,但一种方法是在按钮被点击一次后将其禁用。如果您希望此功能永久用于测试,那么将此应用程序逻辑包装在 #if DEBUG
子句中可能是个好主意。此外,我建议通过启动参数从 UI 测试切换此逻辑 on/off, 可以 从 UI 测试设置。