1

当我查询时

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 }, ...

我的第一个困惑是文档Marked没有提到它搜索 android 的属性Label。所以我认为它应该返回 0 结果,但现在是主要问题。我想使用Property,所以我可以过滤更一般的结果,但为了简单起见,我正在查询确切的字符串。

当我查询时

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

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

4

2 回答 2

3

您链接到的文档说该Marked方法

匹配常见值。对于 Android:具有给定值为或id的元素。contentDescriptiontext

这不是很明显,但是Label您在 UITest 中看到的属性已映射到 Android 元素contentDescription,因此这应该可以工作:

app.Query(c=>c.Property("contentDescription").Contains("02_Voided_NotReviewed"))
于 2017-07-19T22:46:09.240 回答
-1

利用

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

它会给你字符串

02_Voided_NotReviewed    
于 2018-08-24T09:52:23.513 回答