(also posted on Telerik forums)
大家好,
我们正尝试在代码中使用自动化测试框架将数据输入到自定义编辑弹出窗体中(如本演示中所示:http://demos.telerik.com/aspnet-ajax/grid/examples/dataediting/popupeditform/defaultcs.aspx )修改一行数据。我们遇到的问题是,如果我们只是在编辑表单上查找Update按钮并将其发送给Click()事件,那么表单就会关闭并且实际上不会触发RadGrid_UpdateCommand事件处理程序。这意味着数据永远不会更新。
我们查看了测试框架提供的示例,并且有一个带有就地编辑表单的示例,但没有一个带有弹出编辑表单。我们需要做一些特殊的自定义编辑弹出窗体,以便在完成表单后更新行吗?
任何帮助表示赞赏,
由于
答案 0 :(得分:0)
我不确定您遇到的具体问题是什么,但是我已经使用您引用的示例中的页面准备了一个简单的测试:
RadGrid grid = Find.ById(“RadGrid1”); GridDataItem firstRow = grid.MasteTable.DataItems [0]; GridDataCell firstRowThirdCell = firstRow.DataCells [2];
//断言初始值 Assert.IsTrue(firstRowThirdCell.CellText ==“Chai”,String.Format(“Assert failed,expected value {0},actual {1}”,“Chai”,firstRowThirdCell.CellText)); HtmlAnchor firstRowEditButton = firstRow.Find.ById(“〜AutoGeneratedEditButton”);
//将项目置于编辑模式 firstRowEditButton.Click(); Wait.For(myItem => myItem.Edited,firstRow,5000); HtmlInputText productNameTbx = Find.ById(“~ctl05_ctl09”); productNameTbx.Value =“foo”;
//更新项目 GridEditForm editForm = Find.ById(“~ctl05_ctl00”); editForm.Update(); Wait.For(myItem =>!myItem.Edited,firstRow,5000);
//验证网格已更新 Assert.IsTrue(firstRowThirdCell.CellText ==“foo”,String.Format(“Assert failed,expected value {0},actual {1}”,“foo”,firstRowThirdCell.CellText));
您可以将其用作参考并进行修改以满足网页/测试的要求。如果出现任何其他问题或困难,请随时告诉我们。