UI Automation-ValuePattern

本文探讨了UIAutomation中的ValuePattern,特别是针对WinForm和WPF中的TextBox控件的应用。通过实例展示了如何使用ValuePattern获取和设置TextBox的值,并讨论了在实际测试中遇到的问题及其解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ValuePatternUI Automationz中最常见的Pattern之一,winformWPFTextBox控件都支持ValuePattern,是用来get/set a value on a control that doesnot support multiple values.

实现valuePattern用我正在测试的软件,发现输入Email address,总是提示输入的Email Address不正确,最后才发现时因为ValuePattern中的setvalue是对整个textbox赋值,而我们的软件根本没有ignore space,所以总会跳出一个warning message

       public static ValuePattern GetValuePattern(AutomationElement element)

        {

            object currentPattern = null;

            if (!element.TryGetCurrentPattern(ValuePattern.Pattern, out currentPattern))

            {

                Log.Error(string.Format("Element with AutomationId '{0}' and Name '{1}' does not support the ValuePattern.",

    element.Current.AutomationId, element.Current.Name));

                throw new Exception(string.Format("Element with AutomationId '{0}' and Name '{1}' does not support the ValuePattern.",

                    element.Current.AutomationId, element.Current.Name));

            }

            return currentPattern as ValuePattern;

        }

Test Value Pattern

//Get the button element

            AutomationElement textbox = AutomationElementSearch.FindElementById(window, "textBox1");

            Assert.IsNotNull(textbox);

            Thread.Sleep(1000);

 

            ValuePattern textboxpattern = Valuepattern.GetValuePattern(textbox);

            textboxpattern.SetValue("ValuePattern Test");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值