如何解决有没有办法在 xamarin.uitest 中设置时间格式?
我正在测试一个时间选择器,我想测试一次 AM、PM 格式和一次 24 小时格式,有没有办法通过 xamarin.uitest 项目设置 android 日期格式?
解决方法
你可以试试下面的代码。
[Test]
public void timePickerTest()
{
app.Tap("TimePickerElement");
SetTimePicker(1,16,false);
app.Screenshot("new time set");
app.Back();
}
public void SetTimePicker(int hour,int minute,bool am)
{
string hourString = hour.ToString();
string minuteString = minute.ToString();
DateTime date = DateTime.Now;
DateTime time = new DateTime(date.Year,date.Month,date.Day,hour,minute,0);
int ampm;
if (am)
{
ampm = 0;
}
else ampm = 1;
if (platform == Platform.iOS)
{
app.Query(x => x.Class("UIPickerView").Invoke("selectRow",time.Hour,"inComponent","animated",true)); //if time.Hour == 0,than hour is '1'. if time.Hour == 11,than hour is '12'
app.Query(x => x.Class("UIPickerView").Invoke("selectRow",time.Minute,1,true)); //if time.Minute == 0,than minutes is '1'. if time.Minute == 59,than minutes is '59'
app.Query(x => x.Class("UIPickerView").Invoke("selectRow",ampm,2,true)); //0 == AM and 1 == PM
}
else // Android
{
// switch to Text entry for time
app.Tap("toggle_mode");
// hour
app.ClearText();
app.EnterText(hourString);
// minute
app.ClearText("input_minute");
app.EnterText(minuteString);
// AM/PM
if (!am)
{
app.Tap("AM"); // opens spinner
app.Tap("PM"); // changes to PM
}
app.Tap("OK"); // finalize time
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。