标签的UITest颜色(不是UI标签)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了标签的UITest颜色(不是UI标签)相关的知识,希望对你有一定的参考价值。

这是我正在使用的表的图片。

enter image description here

我只想尝试“请求”(灰色)或“草稿”(橙色)的颜色。我能够得到“请求”或“草稿”的实际字符串

var timeSheetStatus = 
    app.tables.element.cells.elementBoundByIndex(0).staticTexts.elementBoundByIndex(1).label

但这只是一个字符串,而不是UIlabel(如果它是UILabel我可以做label.textColor我相信)。如何获得此字符串的颜色,以便我可以断言它确实是灰色或橙色?

答案

我担心你无法通过UI测试做到这一点。 UI测试只能在“可访问性”公开它的范围内“查看”界面。因此,你可以“看到”文本,但你不能“看到”这个东西是UILabel; UI Testing对此一无所知。因此,你无法探索它作为UILabel的本质。

另一答案

您无法直接获得颜色,但如果您需要测试UI以确保标签正确突出显示,则可以将可访问性标签设置为包含颜色或突出显示的事实等信息。

这也将提高应用程序的可用性,因为视障用户无论如何都看不到颜色。然后,您可以编写测试以确保至少可访问性标签是正确的。当然,开发人员仍有可能使标签颜色为绿色,可访问性标签为“黄色”,但这是使用辅助功能查询UI元素的一般风险。

例如,在您的应用代码中:

myLabel.text = "Draft" myLabel.color = .yellow myLabel.accessibilityLabel = "Draft (Yellow)"

以上是关于标签的UITest颜色(不是UI标签)的主要内容,如果未能解决你的问题,请参考以下文章

Material UI 自动完成不同的颜色标签?

Kendo UI 将圆环图的系列标签颜色更改为系列颜色

从 fragmentActivity 刷新片段 UI

文本标签不是“Ui::Dialog”Qt 的成员

使用动态颜色创建 UI 的最佳方法 [关闭]

如何在错误和焦点上更改 Material-UI TextField 底部和标签颜色