单击 XCUITest 中的按钮后,如何验证和断言是不是正在播放动画?

Posted

技术标签:

【中文标题】单击 XCUITest 中的按钮后,如何验证和断言是不是正在播放动画?【英文标题】:How do I verify and assert if an animation is playing after clicking a button in XCUITest?单击 XCUITest 中的按钮后,如何验证和断言是否正在播放动画? 【发布时间】:2017-08-25 22:16:13 【问题描述】:

在 XCUITest 上进行动画测试时,我似乎找不到任何信息。 我正在测试的场景是:

When a button is pressed Then animation will be displayed on the icon

我该怎么做?

【问题讨论】:

动画完成后会发生什么?用户是否可以再次单击该按钮,动画将播放第二次?还是动画改变了按钮的状态? 【参考方案1】:

我建议在按钮动画时在按钮上设置一个有意义的accessibilityValue,这样可以让用户听到某些事情正在发生——然后您可以在测试中检查相应 XCUIElement 的value 属性。

// product code
@IBAction func buttonPressed(_: UIButton) 
    self.button.accessibilityIdentifier = "MyButton"
    self.button.accessibilityValue = "is animating"
    // start animating your button


// Test code
let button = self.app.buttons["MyButton"]
button.tap()
XCTAssertEqual(button.value as! String, "is animating")

【讨论】:

谢谢!我去看看

以上是关于单击 XCUITest 中的按钮后,如何验证和断言是不是正在播放动画?的主要内容,如果未能解决你的问题,请参考以下文章

Swift XCUITest:如何在执行 UI 测试时单击 UIImagePickerController() 的默认“选择”按钮?

XCUITest:调用的测试函数中的断言不起作用

如何从 XCUITest 中的 MenuItem 读取值?

是否可以直接在XCUITest中打开屏幕?

执行 XCUITest 时,Tap 方法在今日视图中不起作用

在 XCUITest 中获取 Button 状态