Xamarin为UI测试形成更改时间选择器值

时间:2017-12-19 19:32:22

标签: xamarin uitest

在下面的时间选择器的Xamarin表格中

enter image description here

如何更改xamarin UI测试的时间选择器值。 我可以打开时间选择器,但不知道如何更改时间。 这是时间选择器的app.Repl()树的屏幕截图。

enter image description here

这是我试图改变时间的尝试。

app.WaitForElement(c => c.Marked("hours"));
app.Tap(c => c.Marked("hours"));
app.EnterText(c => c.Marked("hours"), newHours) // errors can't pull up keyboard

1 个答案:

答案 0 :(得分:1)

我发现处理日期和时间控件的最简单方法是使用Invoke方法访问时间/日期选择器控件中公开的后门。

// invokes a method to input the hour into the picker, time format is 24 hour
app.Query(c => c.Class("RadialTimePickerView").Invoke("setCurrentHour", (int)hour));

// invokes a method to input the minute into the picker
app.Query(c => c.Class("RadialTimePickerView").Invoke("setCurrentMinute", (int)minute));

日期选择器非常相似,但它不需要两个单独的方法,而只使用一个。

// invokes a method to input the date into the picker, where month starts from 0
app.Query(c => c.Raw("DatePicker").Invoke("updateDate", (int)year, (int)month - 1, (int)day));

我建议使用这个特殊的后门,因为它适用于各种各样的Android版本,因为每个版本的android都有一个稍微不同的日期/时间选择器样式。