0

也发布在 Telerik 论坛上

大家好,

我们正在尝试在代码中使用自动化测试框架将数据输入到自定义编辑弹出表单中(如在此演示中: http: //demos.telerik.com/aspnet-ajax/grid/examples/dataediting/popupeditform/defaultcs。 aspx ) 修改一行数据。我们遇到的问题是,如果我们只是在编辑表单上查找“更新”按钮并向其发送 Click() 事件,那么表单只会关闭并且实际上不会触发 RadGrid_UpdateCommand 事件处理程序。这意味着数据永远不会更新。

我们查看了测试框架提供的示例,其中有一个带有就地编辑表单的示例,但没有一个带有弹出式编辑表单的示例。当我们完成表单时,我们需要对自定义编辑弹出表单做一些特别的事情来更新行吗?

任何帮助表示赞赏,

谢谢

4

1 回答 1

0

我不确定您偶然发现的特定问题可能是什么,但是我使用您引用的示例中的页面准备了一个简单的测试:

RadGrid 网格 = Find.ById("RadGrid1"); GridDataItem firstRow = grid.MasteTable.DataItems[0]; GridDataCell firstRowThirdCell = firstRow.DataCells[2];

// 断言初始值 Assert.IsTrue(firstRowThirdCell.CellText == "Chai", String.Format("Assert failed, 预期值 {0}, 实际 {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));

您可以将其用作参考并对其进行修改以满足您的网页/测试的要求。如果出现任何其他问题或困难,请随时告诉我们。

于 2011-12-14T16:33:50.637 回答