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

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

1 голос
/ 09 октября 2009

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

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

iframe id = "ctl00_HeaderMain_txtSafetyNetDescription ___ Frame" src = "/ FCKEditor / editor / fckeditor.html? InstanceName = ctl00_HeaderMain_txtSafetyNetDescription & Toolbar = панель инструментов = myApp" width = "200 =" "my = app" = = "" = "" "=" "" = "" "=" "" = "=" "" = "" "=" "" = "" "=" "=" 100 "

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

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

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

Спасибо. Iyyengar.

Ответы [ 2 ]

2 голосов
/ 02 апреля 2011

это может помочь вам ~

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

frame.ElementWithTag ("body", Find.Any) .SetAttributeValue ("innerText", "现在 的 心情 记录" + DateTime.Now);

1 голос
/ 13 октября 2009

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

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

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

// fck editr не идентифицирует para - и, следовательно, должен быть снабжен id para.SetAttributeValue ("id", "fckpara"); string fckvalue = "Myfckeditor text"; string js = ""; js = js + "document.getElementById ('fckpara'). innerHTML = '" + fckvalue + "';";

        ChildFrame.RunScript(js);

Я взволнован. Спасибо всем.

Iyyegnar.

...