Tôi đang đánh giá Watir-webdriver, để quyết định xem tôi có thể chuyển sang sử dụng nó cho các bài kiểm tra trình duyệt của tôi (từ Watir chủ yếu) hay không. Một trong những điều quan trọng là khả năng tương tác với các biên tập viên TinyMCE WYSIWYG. các ứng dụng tôi làm việc với TinyMCE. tôi đã quản lý để có được những giải pháp sau đây làm việc -Làm thế nào để xử lý tinyMCE khi tự động với 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")
Hạn chế của phương pháp này, đó là bằng cách sử dụng AutoIt, tôi vẫn còn phụ thuộc vào Windows và khả năng chạy thử nghiệm nền tảng là một trong những điểm thu hút của webdriver.
tôi nhận thấy một số giải pháp webdriver cụ thể như sau từ 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();
Mà có vẻ như nó có thể làm việc cross-platform nhưng tôi không biết nếu các chức năng tương tự có thể được truy cập từ bên trong Watir- webdriver. Câu hỏi của tôi là, có một cách để viết, xóa và gửi vào TinyMCE bằng cách sử dụng watir-webdriver, mà sẽ không thực thi một sự phụ thuộc vào một trình duyệt được hỗ trợ cụ thể hoặc hệ điều hành?
xem xét đăng câu hỏi này trong diễn đàn TinyMCE của moxiecode quá (điều này là rất cụ thể) – Thariama