0

MS AJAX Control Toolkit のHTML Editorを単体テストできますか? 私は Watin 、 WebAii 、および Selenium を試しましたが成功しませんでした...

ワティン

コントロールに関連するテキストボックスを見つけることができますが、それにアクセスしようとすると例外が発生します:

using (Browser ie = new IE()) {
    ie.GoTo(testUri);
    Assert.IsTrue(ie.ContainsText("Expected text"));

    var textBox = ie.TextField(Find.ById(id => id.Contains("Editor")));
    textBox.TypeText("testing 123");
}

System.Runtime.InteropServices.COMException: 非表示であるか、有効になっていないか、またはフォーカスを受け入れない型であるため、コントロールにフォーカスを移動できません。

セレン

Selenium IDEも試しましたが、成功しませんでした。ASP.net のサンプル ページを読み込んで、エディタにテキストを入力し、[送信] ボタンをクリックすると、次のテスト ケースが作成されました。

[Test]
public void TheUntitledTest() {
    selenium.Open("/AJAX/AjaxControlToolkit/Samples/HTMLEditor/HTMLEditor.aspx");
    // Text was typed at this point
    selenium.Click("ctl00_SampleContent_submit");
}

Selenium IDE で記録されたアクションを再実行した場合のログ メッセージは次のとおりです。

[info] 実行中: |open | /AJAX/AjaxControlToolkit/Samples/HTMLEditor/HTMLEditor.aspx | | |

[情報] 実行中: |クリック | ctl00_SampleContent_submit | | |

4

1 に答える 1

1

コントロールを見ると、エディターが実際に編集可能なボディである IFrame です

<body contentEditable="true">

を使用して、javascript で内部テキストを更新できるはずです。

IE.Frame(Find.BySrc(frameSrc)).Eval( ... javascript goes here ... );

ボタンをクリックします。

もう 1 つの方法は、マウスを動かしてからクリックし、キーを送信することです。

于 2009-06-09T03:34:35.410 に答える