编码的 UI 测试:文本框值始终为 null

本文关键字:null 文本 UI 测试 编码 | 更新日期: 2023-09-27 18:34:09

我是编码 UI 测试的新手,有人可以帮助我如何在不断获取空值时检索文本框值。我在方法中添加了一个断言,用于验证文本框的值,但是如果继续失败,因为实际数据始终为 null。下面是我的示例代码。提前感谢您的帮助。

这是我在 CodeUItest 类中的测试方法

[TestMethod]
    public void TBParameterTest()
    {
        this.UIMap.ValidateTBValue();            
    }

 public void ValidateTBValue()
    {
        #region Variable Declarations
        WinEdit uIItemEdit = this.UIContigoWindow.UIItemCell.UIItemEdit;

        #endregion
        // Verify that the 'Text' property of text box equals '1200'
        Assert.AreEqual(this.ValidateTBValueExpectedValues.UIItemEditText, uIItemEdit.Text, "Not equal to previous value when parameter is not yet modified");
    }

uIItemEdit.Text 始终为空,即使网页中的值等于 1200。

谢谢!

编码的 UI 测试:文本框值始终为 null

您可以通过两种不同的方式解决此问题:

  1. 更好的选择是调整搜索属性以搜索某些唯一标识符(名称、类等)。

  2. 如果开发人员找不到或添加唯一标识符,第二种选择是使用每个UITestControl都具有的FindMatchingControls()。这将为您提供所有控件,在您的情况下,所有与SearchProperties匹配的WinEdit控件。在此控件集合上,可以运行链接查询以查找所需的控件,或运行类似内容:

var controls= myControl.FindMatchingControls()l
foreach (var control in controls) 
{ 
    control.DrawHighlight();
}

这将使您能够找到所需的控件。从这一点开始,您可以直接调用它并获取它的文本值:

var textValue = controls[index].Text;

并将此值用于断言。