C# 编码UI测试:文本框值始终为空
我对编码UI测试还不熟悉,有人能帮我检索文本框值吗?因为我一直在获取空值。我在我的方法中添加了一个断言,该断言验证文本框的值,但是if继续失败,因为实际数据总是空的。下面是我的示例代码。提前谢谢你的帮助 这是我在CodeUItest类中的测试方法C# 编码UI测试:文本框值始终为空,c#,asp.net,textbox,assert,coded-ui-tests,C#,Asp.net,Textbox,Assert,Coded Ui Tests,我对编码UI测试还不熟悉,有人能帮我检索文本框值吗?因为我一直在获取空值。我在我的方法中添加了一个断言,该断言验证文本框的值,但是if继续失败,因为实际数据总是空的。下面是我的示例代码。提前谢谢你的帮助 这是我在CodeUItest类中的测试方法 [TestMethod] public void TBParameterTest() { this.UIMap.ValidateTBValue(); } public void Va
[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也始终为空
谢谢 您可以用两种不同的方法解决此问题:
UITestControl
都具有的FindMatchingControls()
。这将为您提供所有控件,在您的示例中,所有与SearchProperties
匹配的WinEdit
控件。在此控件集合上,您可以运行链接查询以查找所需控件,或运行类似以下操作:var textValue = controls[index].Text;
并将此值用于断言 您是否尝试过在uIItemEdit上执行.DrawHighlight()以验证所处理的控件是否正确?我们能看到UIItemEdit的代码吗?@NickRaverty我试着把.DrawHiglight和它指向一个错误的位置。我还想知道为什么我的控件没有automationId属性。uiItemEdit控件似乎引用了我页面中的所有文本框,因此这些文本框没有唯一的名称,因此我无法对其进行搜索。它指向错误的控件,这就是为什么您没有获得正确的值-它从页面上的第一个控件中提取空值,您需要在实际要处理的控件上设置搜索属性。祝你好运@杰巴达尼尔,尼克的建议有用吗?
var textValue = controls[index].Text;