CodedUI Test 测试WPF程序,无法获取控件属性值的解决方法

内容分享23小时前发布 安南
0 0 0

公司新程序使用WPF制作,但使用CodedUI Test进行自动化测试的时候,许多控件抓取不到其属性。

列如某输入框的逻辑是当输入错误值的时候,BorderBrush为红色。

当使用CodedUI Test测试发现将其放到WpfEdit并没有BorderBrush的这个属性,无法进行行为判断。

参考

全局方式

<Window.Resources>
    <Style TargetType="TextBox">
        <Setter Property="AutomationProperties.ItemStatus"
 Value="{Binding RelativeSource={RelativeSource Self}, Path=BorderBrush}" />
    </Style>
</Window.Resources>

控件方式

<TextBox Name="MyTextBox" 
        AutomationProperties.ItemStatus="{Binding
 RelativeSource={RelativeSource Self}, Path=BorderBrush}"></TextBox>

确认可以成功实现将BorderBrush传出到ItemStatus,无论是全局的方式还是只修改一个控件。

对于此方法的弊端,原博主给出了两条

1 需要修改被测试代码。这个理论修改量并不多,但为了做自动化,不得不将其加上。因此在设计的时候,可以直接思考到此值,或某些需要传出的值。在代码编写阶段就将其加入。

2 只能绑定一个属性。这里我想由于绑定的是一个value,因此可以从后台将多个属性拼接成字符串,传入此值,以达到传出多个属性的目的。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...