为 Android 创建 Xamarin.UITest 复选框

Create Xamarin.UITest for Android Checkbox

我有一个使用 Android CheckBox 控件的应用程序。

如何创建一个 UITest 来检测 CheckBox 是否被选中?

示例代码

bool IsCheckBoxChecked(string textBoxContentDescription)
{
    return (bool)app.Query(x => x.Marked(textBoxContentDescription).Invoke("isChecked"))?.FirstOrDefault();
}

示例应用程序

这是我整理的示例应用程序,用于演示如何执行此操作: https://github.com/brminnick/AndroidCheckBoxSampleApp

说明

要与来自 UITest 的 Android CheckBox 交互,您必须使用 Invoke method to access the methods in the native Java Android API。在我们的 Invoke 语句中,我们可以利用 performClick() 来切换 CheckBox,setChecked(boolean checked) 来设置 CheckBox 的值,以及 isChecked() 到 return a布尔值,当 CheckBox 被选中时为 true,未选中时为 false

在 UITest 项目中,我创建了一个 ToggleCheckBox method to toggle an individual CheckBox, a IsCheckBoxChecked method to return the CheckBox current status, and a SetCheckBox 方法来设置 CheckBox 状态。

所有测试都通过 Xamarin Test Cloud. The test report is viewable here 验证。