Как работать с tinyMCE при автоматизации с помощью watir-webdriver ?

Я оцениваю Watir-webdriver, Мне удалось заставить работать следующее решение -

@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.

Я заметил некоторые решения, специфичные для веб-драйверов, такие как следующее из этой ветки :

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. Мой вопрос: есть ли способ записывать, удалять и отправлять в TinyMCE с помощью watir-webdriver, который не будет обеспечивать зависимость от конкретного поддерживаемого браузера или операционной системы?

7
задан Alister Scott 18 September 2011 в 12:15
поделиться