Работа с пользовательскими всплывающими формами редактирования в Telerik Testing Framework
( также размещено на форумах Telerik)
Всем привет,
Мы пытаемся использовать среду автоматизации тестирования в коде для ввода данных в настраиваемую всплывающую форму редактирования (как в этой демонстрации: http://demos.telerik.com/aspnet-ajax/grid/examples/dataediting/popupeditform/defaultcs.aspx), чтобы изменить строку данных. Проблема, с которой мы сталкиваемся, заключается в том, что если мы просто ищем кнопку "Обновить" в форме редактирования и отправляем ей событие Click(), то форма просто закрывается и фактически не вызывает обработчик события RadGrid_UpdateCommand. Это означает, что данные никогда не обновляются.
Мы рассмотрели примеры, поставляемые с Testing Framework, и есть пример с формой редактирования на месте, но ни один с всплывающей формой редактирования. Есть ли что-то особенное, что нам нужно сделать с настраиваемой всплывающей формой редактирования, чтобы получить строку для обновления, когда мы закончим с формой?
Любая помощь приветствуется,
Спасибо
1 ответ
Я не уверен, в чем может быть конкретная проблема, с которой вы столкнулись, однако я подготовил простой тест, используя страницу из наших примеров, на которые вы ссылались:
RadGrid grid = Find.ById ("RadGrid1"); GridDataItem firstRow = grid.MasteTable.DataItems [0]; GridDataCell firstRowThirdCell = firstRow.DataCells [2];
// подтвердить начальное значение Assert.IsTrue(firstRowThirdCell.CellText == "Chai", String.Format("Ошибка подтверждения, ожидаемое значение {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("Ошибка подтверждения, ожидаемое значение {0}, фактическое {1}", "foo", firstRowThirdCell.CellText));
Вы можете использовать его в качестве справочного материала и изменить его в соответствии с требованиями вашей веб-страницы / теста. В случае возникновения каких-либо дополнительных вопросов или трудностей, не стесняйтесь сообщить нам о них.