我正在評估Watir-webdriver,以決定是否可以切換到使用它進行我的瀏覽器測試(主要來自Watir),關鍵的事情之一是能夠與TinyMCE所見即所得的編輯器進行交互,我使用的應用程序使用TinyMCE。 我已經成功地得到了以下解決方案的工作 -如何使用watir-webdriver進行自動化時處理tinyMCE?
@browser = Watir::Browser.new(:firefox)
@browser.goto("http://tinymce.moxiecode.com/tryit/full.php")
autoit = WIN32OLE.new('AutoITX3.Control')
autoit.WinActivate('TinyMCE - TinyMCE - Full featured example')
@browser.frame(:index, 0).body.click
autoit.Send("^a") # CTRL + a to select all
autoit.Send("{DEL}")
autoit.Send("Some new text")
這種方法的缺點是,通過使用AutoIt的,我仍然依賴於Windows和運行測試,跨平臺的能力的景點之一的webdriver。
我注意到一些webdriver的具體解決方案,如從this thread如下:
String tinyMCEFrame = "TextEntryFrameName" // Replace as necessary
this.getDriver().switchTo().frame(tinyMCEFrame);
String entryText = "Testing entry\r\n";
this.getDriver().findElement(By.id("tinymce")).sendKeys(entryText);
//Replace ID as necessary
this.getDriver().switchTo().window(this.getDriver().getWindowHandle());
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
this.getDriver().findElement(By.partialLinkText("Done")).click();
這看起來似乎是跨平臺工作,但我不知道是否相同的功能可以從內部Watir-訪問的webdriver。我的問題是,有沒有辦法使用watir-webdriver寫入,刪除並提交到TinyMCE中,而不會強制依賴於特定的受支持的瀏覽器或操作系統?
考慮moxiecode過的TinyMCE的論壇上發帖這個問題(這是非常具體) – Thariama 2011-01-12 07:50:27