Xcode UITest:如何断言标签具有粗体文本?

时间:2019-01-31 09:35:46

标签: swift xcode uikit xcode-ui-testing assertion

我有一个按钮可以将UIView标签中的普通文本更改为粗体文本。在UITesting中,如何断定当我按下按钮时普通文本变为粗体文本?

  let app = XCUIApplication()
  let label = app.staticTexts["myLabel"]
  app.buttons["Bold"].tap()
  XCTAssertEqual(label.value as! String, "Hello")

2 个答案:

答案 0 :(得分:0)

您不能这样做。由于XCUITest是功能测试,因此 声明字体,颜色等视觉要求,则应该编写单元测试。

答案 1 :(得分:0)

我不认为有一种方法可以通过UIKit协议访问UI组件(或UIFont的任何成员,包括XCUIElementAttributes)(该协议用于传递以下信息的可访问性信息) XCTest环境)。

但是,您可以随意在accessibilityValueaccessibilityLabel属性中编写任何内容,然后再阅读。对我来说,这是在需要时克服XCTest限制的唯一方法(但是它会破坏可访问性用户体验,因此您应该考虑到这一点)