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