【发布时间】:2016-12-05 00:44:13
【问题描述】:
我有一个使用 Android CheckBox 控件的应用。
如何创建一个 UITest 来检测CheckBox 是否被选中?
【问题讨论】:
标签: android xamarin xamarin.android xamarin.uitest
我有一个使用 Android CheckBox 控件的应用。
如何创建一个 UITest 来检测CheckBox 是否被选中?
【问题讨论】:
标签: android xamarin xamarin.android xamarin.uitest
bool IsCheckBoxChecked(string textBoxContentDescription)
{
return (bool)app.Query(x => x.Marked(textBoxContentDescription).Invoke("isChecked"))?.FirstOrDefault();
}
下面是一个示例应用程序,我将它放在一起演示如何执行此操作: https://github.com/brminnick/AndroidCheckBoxSampleApp
要与 UITest 中的 Android CheckBox 交互,您必须使用 Invoke 方法来访问 native Java Android API 中的方法。在我们的Invoke 语句中,我们可以利用performClick() 来切换CheckBox,setChecked(boolean checked) 来设置CheckBox 的值,以及isChecked() 在选中CheckBox 时返回一个布尔值true false 未选中时。
在 UITest 项目中,我创建了一个 ToggleCheckBox 方法来切换单个 CheckBox,一个 IsCheckBoxChecked 方法来返回 CheckBox 当前状态,以及一个 SetCheckBox 方法来设置 CheckBox 状态。
所有测试均通过Xamarin Test Cloud 进行验证。测试报告可here查看。
【讨论】: