Xamarin UITest 查询如何只获取标签作为响应
Xamarin UITest Query How to get just the label as response
当我在 Repl() window 中使用自动化 ID 查询列表视图时,我得到了一大块数据。我只想返回一个字段 'Text' 或 'Label'
这是我的查询:
app.Query(q => q.Id("officerList").Descendant().Id("officerName").Index(0).Class("UILabel").索引(0))
这里是 return: [[0] {
编号 => 空,
说明=> ">",
矩形 => {
宽度 => 88,
高度 => 20.5,
X => 12,
Y => 144,
中心 X => 56,
中心 Y => 154.25
},
标签 => "Abril, Jill M.",
文本 => "Abril, Jill M.",
Class => "UILabel",
启用 => 真
}
]
我想继续查询 return 只有 "Abril, Jill M."
我尝试添加 .Label 没有运气它因错误而中断:
(1,103):错误 CS1061:键入 Xamarin.UITest.Queries.AppQuery' does not contain a definition for
Label' 并且找不到扩展方法 Label' of type
Xamarin.UITest.Queries.AppQuery'。您是否缺少程序集参考
这应该有效:
var query = app.Query(q => q.Id("officerList")
.Descendant().Id("officerName")
.Index(0).Class("UILabel")
.Index(0));
var labelText = query[0]?.Text;
labelText
应该包含你想要的标签的值。
在简历中,Query
returns AppResult
的数组 (AppResult[])。您需要得到您想要的物品,在这种情况下是第一个物品。
希望对您有所帮助。-
您也可以针对标签尝试此查询 -
q.Id("officerList").Descendant().Id("officerName").Index(0).Class("UILabel").Index(0)).标签
输出 - "Abril, Jill M.",
或对于文本
q.Id("officerList").Descendant().Id("officerName").Index(0).Class("UILabel").Index (0)).first.text
输出 - "Abril, Jill M."
也许这行得通
当我在 Repl() window 中使用自动化 ID 查询列表视图时,我得到了一大块数据。我只想返回一个字段 'Text' 或 'Label'
这是我的查询: app.Query(q => q.Id("officerList").Descendant().Id("officerName").Index(0).Class("UILabel").索引(0))
这里是 return: [[0] {
编号 => 空,
说明=> ">",
矩形 => {
宽度 => 88,
高度 => 20.5,
X => 12,
Y => 144,
中心 X => 56,
中心 Y => 154.25
},
标签 => "Abril, Jill M.",
文本 => "Abril, Jill M.",
Class => "UILabel",
启用 => 真
}
]
我想继续查询 return 只有 "Abril, Jill M."
我尝试添加 .Label 没有运气它因错误而中断:
(1,103):错误 CS1061:键入 Xamarin.UITest.Queries.AppQuery' does not contain a definition for
Label' 并且找不到扩展方法 Label' of type
Xamarin.UITest.Queries.AppQuery'。您是否缺少程序集参考
这应该有效:
var query = app.Query(q => q.Id("officerList")
.Descendant().Id("officerName")
.Index(0).Class("UILabel")
.Index(0));
var labelText = query[0]?.Text;
labelText
应该包含你想要的标签的值。
在简历中,Query
returns AppResult
的数组 (AppResult[])。您需要得到您想要的物品,在这种情况下是第一个物品。
希望对您有所帮助。-
您也可以针对标签尝试此查询 - q.Id("officerList").Descendant().Id("officerName").Index(0).Class("UILabel").Index(0)).标签
输出 - "Abril, Jill M.",
或对于文本
q.Id("officerList").Descendant().Id("officerName").Index(0).Class("UILabel").Index (0)).first.text
输出 - "Abril, Jill M."
也许这行得通