C# 如何使用Windows应用程序驱动程序在UI自动化单元测试期间验证WPF复选框的状态?
我的简单WPF应用程序包含一个复选框。我正在尝试使用Windwos应用程序驱动程序自动测试此应用程序。 创建会话后,将单击该复选框。之后,我想验证是否选中了复选框。但是复选框对象的类型是WindowsElement,因此我的代码无法工作 换句话说:如何在WinAppDriver测试中访问这些控件类型C# 如何使用Windows应用程序驱动程序在UI自动化单元测试期间验证WPF复选框的状态?,c#,.net,wpf,ui-automation,winappdriver,C#,.net,Wpf,Ui Automation,Winappdriver,我的简单WPF应用程序包含一个复选框。我正在尝试使用Windwos应用程序驱动程序自动测试此应用程序。 创建会话后,将单击该复选框。之后,我想验证是否选中了复选框。但是复选框对象的类型是WindowsElement,因此我的代码无法工作 换句话说:如何在WinAppDriver测试中访问这些控件类型 [试验方法] 公共void TestMethod1() { 常量字符串WindowsApplicationDriverUrl=”http://127.0.0.1:4723"; 常量字符串sim
[试验方法]
公共void TestMethod1()
{
常量字符串WindowsApplicationDriverUrl=”http://127.0.0.1:4723";
常量字符串simplewpfestid=@“C:\Users\bla\source\repos\SimpleWPFApp\SimpleWPFApp\bin\Debug\SimpleWPFApp.exe”;
DesiredCapabilities appCapabilities=新DesiredCapabilities();
SetCapability(“app”,simplewptestid);
var会话=新的WindowsDriver(新Uri(WindowsApplicationDriverUrl)、appCapabilities);
WindowsElement CheckBox1=session.FindElementByAccessibilityId(“CheckBox1”);
复选框1.单击();
Assert.IsTrue(CheckBox1.IsChecked);//此行不起作用:-(
}
非常感谢您,PixelPlex!这是答案。我还看了答案。现在它工作了:-)
对
CheckBox1.IsChecked
的验证有效吗?不,这正是行中失败的部分。请尝试此会话。FindElementByAccessibilityId(“CheckBox1”)。单击();Assert.IsTrue(复选框1.Checked)
或session.FindElementByAccessibilityId(“CheckBox1”).IsChecked=true;Assert.IsTrue(复选框1.IsChecked)代码>我的意思是:尝试检查而不是检查
。我相信Checked
是一个事件而不是一个属性你是对的:我应该写“IsChecked”。但这并不能解决我的问题。错误:“'WindowsElement'不包含'IsChecked'的定义,并且找不到接受'WindowsElement'类型的第一个参数的可访问扩展方法'IsChecked'(是否缺少using指令或程序集引用?)
Assert.IsTrue(CheckBox1.Selected);