为什么 AppResult 的 Label 属性 中的字符串无法通过 属性("label") 查询?

Why is the string in the Label property of an AppResult not queryable through Property("label")?

当我用

查询时
app.Query(c=>c.Marked("02_Voided_NotReviewed"))

我得到这个结果:

[[0] {Id => null, Description => 
"md5b60ffeb829f638581ab2bb9b1a7f4f3f.FormsImageView{d0c6be9 V.ED..... 
........ 0,0-80,80}",
Rect => {Width => 80, Height => 80, X => 0, Y => 718, CenterX => 40, CenterY 
=> 758}, 
Label => "02_Voided_NotReviewed", 
Text => null, 
Class => "md5b60ffeb829f638581ab2bb9b1a7f4f3f.FormsImageView",
Enabled => true }, ...

我的第一个困惑是 Markeddocumentation 没有提到它在 Label 属性 中搜索 android。所以我认为应该是 returning 0 结果,但现在进入正题。我想使用 Property 以便过滤更一般的结果,但为简单起见,我正在查询确切的字符串。

当我使用

查询时
app.Query(c=>c.Property("label").Contains("02_Voided_NotReviewed"))

我得到 0 个结果。我试过 Property("Label")Property("label")ContainsStartsWithLike 也有 return 0 个结果。当我使用 Property("text") 并在文本 属性 中查询字符串时,我确实得到了结果,所以我认为这与 label 属性 有关。有没有其他人遇到过这个问题或者可以看到我做错了什么?

documentation you linked表示Marked方法

Matches common values. For Android: An element with the given value as either id, contentDescription or text.

它不是很明显,但是你在 UITest 中看到的 Label 属性 映射到 Android 元素的 contentDescription 所以这应该有效:

app.Query(c=>c.Property("contentDescription").Contains("02_Voided_NotReviewed"))

使用

App.Query(x => x.Marked("02_Voided_NotReviewed")).FirstOrDefault().Label;   

它会给你字符串

02_Voided_NotReviewed