如何获取特定元素的文本 - Xamarin UI 测试
Posted
技术标签:
【中文标题】如何获取特定元素的文本 - Xamarin UI 测试【英文标题】:How to get text of specific element - Xamarin UI Test 【发布时间】:2016-11-08 07:38:36 【问题描述】:我有:
[TextView] id:“MonthValue”文本:“11”
我想将文本作为 id 的字符串 MonthValue
【问题讨论】:
我需要:“11”作为字符串 【参考方案1】:只需使用查询的Text
属性:
app.Query(c => c.Id("MonthValue").Text
参考:https://developer.xamarin.com/api/property/Xamarin.UITest.Queries.AppResult.Text/
【讨论】:
【参考方案2】:想要更新吉姆的答案。 app.Query 返回一个数组,所以我们不能使用
app.Query(c => c.Id("MonthValue")).Text
本身。例如,我们应该使用app.Query(c => c.Id("MonthValue"))[0].Text
【讨论】:
【参考方案3】:app.Query(c => c.Id("MonthValue").Text("11"))
应该这样做
【讨论】:
是的,但我必须得到这个值,因为我可以通过 +/- 改变这个值。 ……应该像什么: String x = app.Query(c => c.Id("MonthValue").getText()) AppResult 有一个 Text 属性,所以试试 app.Query(c => c.Id("MonthValue")).Text。 developer.xamarin.com/api/property/…【参考方案4】:我也遇到了同样的问题,虽然我通过Repl()
命令通过调试得到了解决方案。
尝试像这样使用索引位置:
app.Query(c=>c.Id("NoResourceEntry-8"))[0].Text
类似地,你可以使用相同的类:
app.Query(c=>c.Class("LabelRenderer"))[0].Text
Class("LabelRenderer")
的查询得到 2 个结果。
所以在上面的例子中,你可以看到它给了你 2 个结果,但是你必须对特定的结果使用 index。
【讨论】:
以上是关于如何获取特定元素的文本 - Xamarin UI 测试的主要内容,如果未能解决你的问题,请参考以下文章
如何访问 Xamarin.Forms 中以编程方式创建的 UI 元素:timepicker
如何在 Xamarin UITests 获取列表视图项的计数
Appium 自动化测试:如何从 android [android.view.View] 中的自定义 UI 中获取元素或文本