Vincent Massol wrote:
Hi,
Since we really need to have automated tests for the new WYSIWYG from the onset here are some ideas I'd like to have:
1) It should use Selenium and we need to run it on different browsers (FF2, FF3, IE6, IE7, IE8 minimum).
+1, It sounds good, but we should be careful of the overhead of making such browser-low-level tests being cross browser. Worth reading http://blogs.atlassian.com/developer/2007/08/selenium_is_the_pain_worth_it.h... My 2 Euro cents, Jerome.
2) We need to develop a complete DSL for entering data in the editor (typeText, moveCursorLeft, clickBold, insertLink, etc). These commands sent in the test should be independent of the editor technology, which means I should be able to run the same test in the current TinyMCE editor or in the new GWT editor or in any future editor. This is important so that we can capitalize on our editor test suite.
Note: The goal is not to run the tests on the Tiny MCE editor (although that would be possible) but more to ensure that our tests are as solid as possible for the future and as easy to write as possible.
3) As a consequence the asserts done in the test should be on the generated XHTML (i.e. including the HTMLCleaner for the GWT editor) since otherwise there would be too many differences between editors. 4) Each editor should have its test suite where it can specify which test to run (since some features are available in the new GWT editor for ex but not in the tinyMCE one) 5) Writing a new test should take less than 5 minutes without even the need to run the test in the editor to prepare it. This means the DSL should be simple and expressive. For example here's an example of a test:
testVerifyCanDeleteList() { typeText("a"); selectBulletedList(); moveCursorLeft(); typeBackspace(); assertXHTML("<p>a</p>"); }
Note: This test is not taken at random since it currently doesn't pass ;)
6) Tests must be deterministic (i.e each action should verify that the action has worked before continuing. For example a typeText should have a wait on the type text in the page)
WDYT?
Thanks -Vincent
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs