我已经使用VS2015编码UI测试构建器记录了编码UI测试。根据我的录音,为我的测试方法创建了以下功能,
public void RecordedMethod1()
{
#region Variable Declarations
WpfText uIItemText = this.UIMainWindowWindow.UIAddNewRowControlCustom.UIGridCellCustom.UIItemText;
WpfEdit uIItemEdit = this.UIMainWindowWindow.UIAddNewRowControlCustom.UIGridCellCustom.UIItemEdit;
WpfText uIItemText1 = this.UIMainWindowWindow.UIAddNewRowControlCustom.UIGridCellCustom1.UIItemText;
#endregion
// Double-Click label
Mouse.DoubleClick(uIItemText, new Point(73, 3));
//// Failed in the following line and the test is not running after that.
// Type 'aaa' in text box
uIItemEdit.Text = this.RecordedMethod1Params.UIItemEditText;
// Double-Click label
Mouse.DoubleClick(uIItemText1, new Point(79, 10));
// Type 'bbb' in text box
uIItemEdit.Text = this.RecordedMethod1Params.UIItemEditText1;
// Type '{Enter}' in text box
Keyboard.SendKeys(uIItemEdit, this.RecordedMethod1Params.UIItemEditSendKeys, ModifierKeys.None);
}
到达将记录的值设置为uiEditItem.Text的行后,如果测试用例失败,则测试用例不再运行。
我已经在Google上搜索了该解决方案,并找到了一个说,您需要用Kebord.SendKeys重写测试用例,而不是直接将值设置为EditItem的Text属性。
通过这种方式,我在下面的代码行及其工作中进行了代码更改。
// Type 'aaa' in text box
//uIItemEdit.Text = this.RecordedMethod1Params.UIItemEditText;
// Replaced the above line with the SenKeys
Keyboard.SendKeys(this.RecordedMethod1Params.UIItemEditText);
这是否是解决此问题的唯一方法(Manullay通过使用SendKeys方法而不是直接向uiEditItem.Text属性分配值来重写测试方法)?如果没有,请为此提供可行的解决方案。