编码的 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。
谢谢!
您可以通过两种不同的方式解决此问题:
-
更好的选择是调整搜索属性以搜索某些唯一标识符(名称、类等)。
-
如果开发人员找不到或添加唯一标识符,第二种选择是使用每个
UITestControl
都具有的FindMatchingControls()
。这将为您提供所有控件,在您的情况下,所有与SearchProperties
匹配的WinEdit
控件。在此控件集合上,可以运行链接查询以查找所需的控件,或运行类似内容:
var controls= myControl.FindMatchingControls()l
foreach (var control in controls)
{
control.DrawHighlight();
}
这将使您能够找到所需的控件。从这一点开始,您可以直接调用它并获取它的文本值:
var textValue = controls[index].Text;
并将此值用于断言。