Community
Participate
Working Groups
To guarantee the stability of Dawn and to be able to write bug related tests we need to provide a small testing environment for UI specific Dawn tests. There are some frameworks out there which could with support this (see http://wiki.eclipse.org/Automated_Testing). Though, first tests with SWTBot (http://www.eclipse.org/swtbot/) were quite promising I should also have a look at TPTP (http://www.eclipse.org/tptp/) and it's GUI Recorder (http://www.eclipse.org/tptp/test/documents/userguides/Intro-Auto-GUI.html).
Created attachment 175733 [details] Patch v1 I attached the first steps of the Dawn UI testing framework. It seems that SWTBot is quite nice for UI testing, although it has the major drawback that it cannot test to simultaneously started runtime instances. Until this is solved (or I have figured out how this can be done) we need to mock this with a separate session. In the next step I am going to lift this small test environment up to the CDO test to provide a base for CDO UI tests.
Patch commit to HEAD. I also added Vik to the cc list. He might be interest in this bugzilla here ;)
Martin, thanks for pinging me, this is of my interest :D I think I should give priority to the creation of tests for UI, as UI gets easily broken and we only realize when we start playing with it. As soon as I finish my DB4OStore, I'll get into this. Thanks!
Created attachment 176384 [details] Patch V2 Hi guys, I moved the stuff up to the CDO testing environment. To demonstrate it I wrote a small test case which tests the CDOSessionView (I needed to add a small line to it because SWTBot identifies toolBar buttons by its tooltip). Just run it as SWTBotTest and enjoy. The keyboard handling is sometimes a bit tricky. But maybe I am still missing something Next I am going to find out how SWTBot test can be stated headless. If nothing speaks against it, I would like to commit this patch that other can start writing UI tests for CDO ;)
Two things speak against it :P 1) The test bundle manifest has a warning with your patch. 2) We don't want UI dependencies in the core test bundle. Why don't you create a new test bundle?
> 1) The test bundle manifest has a warning with your patch. Argh. Seems that I've overseen the warnings again. I'll check whether I have the same and fix them. > 2) We don't want UI dependencies in the core test bundle. > Why don't you create a new test bundle? First, I though about providing a new plug-in. I didn't do that because of the bugzillas package. If we have a bugzilla that has UI and core related problems the tests would be spread over different bundles, which could be elusive. If you think this is a minor drawback compared to the UI-dependency in the common test bundle, I'll change this ;)
I created a new plug-in (org.eclipse.emf.cdo.test.ui) which serves as the root for our UI-based tests and as root for all UI-specific Dawn tests. All our test cases should inherit *AbstractCDOUITest*. Because SWTBot relies heavily on JUnit4 all UI test must be a combination of annotation triggered test and our basic test. This makes is quite easy for us to integrate both test frameworks (ours and SWTBot). Otherwise integration would be more complicated since Java does not support multiple inheritance ;) For an example how new tests should look like, see *CDOSessionsViewTest*.
Created attachment 176714 [details] Patch v3 I attached another bunch of test cases. They are testing the basic behavior of the Acore diagram and the storage in CDO. This seems to work fine. I also wrote a test that checks the GMF Fragment generator for correctness, so changes in the reference editor can easily aligned with the generation template. In the next step I will focus an collaboration tests?
Patch v3 committed to HEAD (after I checked for Warning ;))
Created attachment 177591 [details] Patch v4 Here comes another bundle of test cases. It now includes remote tests (multiple users) and tests for conflict detection. The test utilities have also been improved to make writing tests easier and clearer.
Patch v4 committed to HEAD.
I added additional test cases to verify the new emf editor fragments. This includes the beginning of an SWTBot which handles generated EMF editor. This makes testing the new behavior much easier. EMF tests and DawnSETBotEMFEditor... Committed to HEAD
Created attachment 185559 [details] Patch v5 I changed the test environment that it support now the execution of UI tests as ConfigTests. This means that we can now run our UI tests on different scenarios. I think this was an important step for integrating the UI tests into our headless test execution, which will be one of next steps.
Patch v5 committed to HEAD.
Moving all open enhancement requests to 4.1
Moving all open issues to 4.2. Open bugs can be ported to 4.1 maintenance after they've been fixed in master.
Moving all outstanding enhancements to 4.3
Moving all open enhancement requests to 4.4
Moving all open bugzillas to 4.5.
Moving all unaddressed bugzillas to 4.6.
Moving all open bugs to 4.7
Moving all unresolved issues to version 4.8-
Moving all unresolved issues to version 4.9
Moving to 4.13.