UI标签的测试颜色(不是UI标签)
UITest color of a label (not UI label)
这是我正在使用的 table 的照片。
我只是想获得 "requested"(灰色)或 "draft"(橙色)的颜色。我能够通过
获得 "requested" 或 "draft" 的实际字符串
var timeSheetStatus =
app.tables.element.cells.elementBoundByIndex(0).staticTexts.elementBoundByIndex(1).label
但这只是一个字符串,而不是一个 UIlabel(如果它是一个 UILabel,我相信我可以做到 label.textColor)。我如何获得此字符串的颜色,以便断言它确实是灰色或橙色?
恐怕您无法通过 UI 测试来做到这一点。 UI 测试可以 "see" 界面仅在辅助功能公开的范围内。因此你可以 "see" 文本但你不能 "see" 这个东西是一个 UI 标签; UI 测试对此一无所知。因此,您无法探索其作为 UI 标签的性质。
您无法直接获取颜色,但如果您需要测试 UI 以确保标签正确突出显示,您可以设置辅助功能标签以包含颜色或事实等信息它被突出显示。
这也将提高应用程序的可用性,因为视障用户无论如何都看不到颜色。然后您可以编写测试以确保至少可访问性标签是正确的。当然,开发人员仍有可能将标签颜色设置为绿色和可访问性标签 "yellow",但这是使用可访问性查询 UI 元素的一般风险。
例如,在您的应用代码中:
myLabel.text = "Draft"
myLabel.color = .yellow
myLabel.accessibilityLabel = "Draft (Yellow)"
这是我正在使用的 table 的照片。
我只是想获得 "requested"(灰色)或 "draft"(橙色)的颜色。我能够通过
获得 "requested" 或 "draft" 的实际字符串var timeSheetStatus =
app.tables.element.cells.elementBoundByIndex(0).staticTexts.elementBoundByIndex(1).label
但这只是一个字符串,而不是一个 UIlabel(如果它是一个 UILabel,我相信我可以做到 label.textColor)。我如何获得此字符串的颜色,以便断言它确实是灰色或橙色?
恐怕您无法通过 UI 测试来做到这一点。 UI 测试可以 "see" 界面仅在辅助功能公开的范围内。因此你可以 "see" 文本但你不能 "see" 这个东西是一个 UI 标签; UI 测试对此一无所知。因此,您无法探索其作为 UI 标签的性质。
您无法直接获取颜色,但如果您需要测试 UI 以确保标签正确突出显示,您可以设置辅助功能标签以包含颜色或事实等信息它被突出显示。
这也将提高应用程序的可用性,因为视障用户无论如何都看不到颜色。然后您可以编写测试以确保至少可访问性标签是正确的。当然,开发人员仍有可能将标签颜色设置为绿色和可访问性标签 "yellow",但这是使用可访问性查询 UI 元素的一般风险。
例如,在您的应用代码中:
myLabel.text = "Draft"
myLabel.color = .yellow
myLabel.accessibilityLabel = "Draft (Yellow)"