Ватин-тестирование FckEditor

Я работал над интеграционным тестированием веб-приложения с помощью watin. Веб-приложение использует fckeditor в качестве одного из элементов управления Richtext.

Вот фрагмент html источника просмотра моего веб-приложения, который включает fckeditor

iframe id = "ctl00_HeaderMain_txtSafetyNetDescription ___ Frame" src = "/ FCKEditor / editor / fckeditor.html? InstanceName = ctl00_HeaderMain_txtSafetyNetDescription & Toolbar = myApp" width = "100% "border =" no frame "iframe" iframe "iframe"

Используя сценарий watin ... я могу получить объект кадра с помощью следующего кода.

    Frame frame =  ie.Frame(Find.ById("ctl00_HeaderMain_txtSafetyNetDescription___Frame"))  ;

Теперь я хочу написать текст в fckeditor. Но я не уверен, как писать в fckeditor, поскольку это фрейм - может ли кто-нибудь мне помочь в этом.

Спасибо. Айенгар.


person Iyyengar    schedule 08.10.2009    source источник


Ответы (2)


это может помочь тебе ~

Frame frame = ie.Frame ("blogBody-EditingArea");

frame.ElementWithTag ("тело", Find.Any) .SetAttributeValue ("innerText", "的 心情 记录" + DateTime.Now);

person BeerBubble    schedule 02.04.2011
comment
Мне пришлось сделать это так: var richTextFrame = browser.Frame (WatiN.Core.Find.ByTitle (Rich text editor, DESCRLONG $ 0, для справки нажмите ALT 0)); richTextFrame.Body.SetAttributeValue (innerText, детали примечания к тестированию); - person Omzig; 14.07.2014

Я смог найти решение для тестового скрипта watin для fckeditor с помощью firefox. Спасибо FireFox. В редакторе fck внутри рамки есть рамка. Т.е. открывает внутренний фрейм, но не раскрывает фрейм innerhtml.

Где, как FireFox четко показывает дерево доменов.
Watin не позволяет обновлять внутренний HTML файла para. Однако он предоставляет метод под названием RunScript (отличный). Мы можем написать JS и выполнить его для объекта. В данном случае это дочерний фрейм. И это решило проблему

Frame frame = ie.Frame (Find.ById ("ctl00_HeaderMain_txtSafetyNetDescription ___ Frame")); Кадр ChildFrame = frame.Frame (Find.BySrc ("javascript: void (0)")); Para para = ChildFrame.Para (Find.ByIndex (0));

// Редактор fck не идентифицирует параграф - и, следовательно, должен иметь идентификатор para.SetAttributeValue ("id", "fckpara"); string fckvalue = "Текст Myfckeditor"; строка js = ""; js = js + "document.getElementById ('fckpara'). innerHTML = '" + fckvalue + "';";

        ChildFrame.RunScript(js);

Я в восторге. Всем спасибо.

Ийегнар.

person Iyyengar    schedule 13.10.2009