Graham should also be aware that multiple instances on the same PC requires *virtual* keyboards, i.e simulating keyboard events with e.g http://msdn.microsoft.com/en-us/library/ms646310%28v=vs.85%29.aspx (I do not know if UI4J is using this) will not work when simultaneous writing should be performed.
See: http://download.eclipse.org/technology/swtbot/helios/dev-build/apidocs/org/eclipse/swtbot/swt/finder/keyboard/KeyboardFactory.html#getMockKeyboard%28org.eclipse.swt.widgets.Widget,%20org.hamcrest.SelfDescribing%29 On 23.07.2014 15:46, Holger Schmeisky wrote: > Hi Graham > > did you manage to start two Saros/I instances already? I guess that's > necessary for writing the test :-) > > I found out a mildly inconvenient way that I'd like to document on the > homepage, but if you (or anyone else) has found a better one I am glad > to hear: > > http://devnet.jetbrains.com/message/5520367#5520367 > > Regards, > Holger > > Holger Schmeisky; holge...@fu-berlin.de > Takustraße 9, Room 008, Freie Universität Berlin, 14195 Berlin > +49 176 64146306 > > Am 22.07.2014 14:40, schrieb Graham Allan: >> Great! Thanks. >> >> I will look into the references provided, and investigate how we could >> have the equivalent for IntelliJ. >> >> Cheers, >> Graham >> >> >> On 22 July 2014 12:15, Stefan Rossbach <srossb...@arcor.de >> <mailto:srossb...@arcor.de>> wrote: >> >> Hi Graham, >> >> it is actually not that hard (STF = Saros Test Framework, i.e our >> E2E Tests) >> >> SWTBot = UISpec4J => Fire Events, Read widget data >> >> The main entry point can be found in: >> >> de.fu_berlin.inf.dpp.stf.server.STFController >> >> There is also a small client package which contains an STFTestcase >> class which you should inherit from when writing test cases. >> >> There is also a STF developer doc on the Saros Webpage, but I am >> quite sure that it is outdated. >> >> This framwork consists of so called *Bots*. >> >> The *RemoteBot* only consists of class wrappers for the SWTBot >> Framework. >> >> The *SuperBot* is just a accumulation of classes that perform very >> special tasks (which also could be done with RemoteBot). Mainly >> written to shorten >> Test cases to avoid C&P between test classes. >> >> Due to the design there is one nasty restriction (mentioned in the >> Doc). You cannot write test cases as you would like. >> >> @Franz >> I spend over 5 minutes to find the manual ? Where did you put the >> link ?! >> >> >> I attached it for now (found in the darkest depths of my HDDs). >> >> STF Vids: >> >> http://saros-build.imp.fu-berlin.de/test/stf_self_test.avi (from 2011) >> >> http://saros-build.imp.fu-berlin.de/test/stf_xvid.avi (from 2013, >> mainly how to write STF test cases) >> >> >> >> >> On 22.07.2014 12:53, Graham Allan wrote: >>> Is there any documentation on how STF does the RMI? I would >>> like to look into that and test it with IntelliJ, before we >>> start with such a big venture :-) >>> Graham, how much would you like to dig into that? (We can also >>> talk directly on that, if you'd like to) >>> >>> >>> Yup, I'd be happy to do that. I may need some to get some >>> background info on how the Eclipse testing works, I'm unfamiliar >>> with SWTBot, etc. What would you recommend for figuring that out? >>> Do you think it's understandable by digging into the Saros code? >>> Maybe a chat over Skype/Hangout/etc? >>> >>> Also, I kept up with most of the acronyms, but you lost me on STF, >>> what is that? >>> >>> Cheers, >>> Graham >>> >>> >>> On 21 July 2014 15:53, Stefan Rossbach <srossb...@arcor.de >>> <mailto:srossb...@arcor.de>> wrote: >>> >>> The RemoteBot is just a RMI Wrapper around the SWTBot >>> Framework. No magic, nothing. >>> >>> IMyFooWrapper extends Remote .... >>> >>> MyFooWrapperImpl implements IMyFooWrapper ... >>> >>> private ... delegate >>> >>> public void foo() { delegate.foo() } >>> >>> Just take a look at the STFController class. >>> >>> As for you test case. Your class path is not set correctly and >>> if Headless tests does not support multiple classloaders you >>> are out of luck. >>> >>> >>> On 21.07.2014 15 <tel:21.07.2014%2015>:17, Holger Schmeisky wrote: >>> >>> Is there any documentation on how STF does the RMI? I >>> would like to look into that and test it with IntelliJ, >>> before we start with such a big venture :-) >>> >>> Graham, how much would you like to dig into that? (We can >>> also talk directly on that, if you'd like to) >>> >>> Apart from the UI Testing, I am trying to set up tests for >>> the file handling and having problems: >>> >>> http://devnet.jetbrains.com/thread/455971 >>> >>> Any help is appreciated :-) >>> >>> Regards, >>> Holger >>> >>> Holger Schmeisky; holge...@fu-berlin.de >>> <mailto:holge...@fu-berlin.de> >>> Takustraße 9, Room 008, Freie Universität Berlin, 14195 Berlin >>> +49 176 64146306 <tel:%2B49%20176%2064146306> >>> >>> Am 21.07.2014 14 <tel:21.07.2014%2014>:02, schrieb Stefan >>> Rossbach: >>> >>> Hi again, >>> >>> I just looked at the UISpec4J Framework and it seems >>> that this is the >>> *equivalent* to SWTBot. >>> >>> So my suggestion would be to write a script that will >>> generate code so >>> that those methods can be accessed via >>> RMI. You can look at the RemoteBot of the STF. >>> Although this was purely >>> written by hand (Please do not ask my why ...) >>> it may be a good start. >>> >>> >>> On 21.07.2014 13 <tel:21.07.2014%2013>:51, Stefan >>> Rossbach wrote: >>> >>> On 21.07.2014 13 <tel:21.07.2014%2013>:40, Holger >>> Schmeisky wrote: >>> >>> Hi, >>> >>> thanks for looking into this. My 2 cents: >>> >>> - they try to stick to testing the >>> 'model', using headless >>> builds. If >>> there's already a separated 'core' of >>> Saros, which can be tested in >>> isolation, and there's only really >>> plumbing left to do, that may not be >>> applicable for the Saros-I code. >>> >>> Unfortunately the Saros-I code does more than >>> plumbing - more like >>> half of the work, but with a lot of >>> duplication. But well, that makes >>> it applicable for headless tests and I think >>> thats a good path :-) >>> >>> There are two main components: The Editor Stuff >>> and the File Stuff which >>> cannot be part of the core. The rest should be >>> mostly *cosmetic* stuff >>> (beside the Watchdog). >>> >>> Would it be worth investigating one of >>> these libraries to see if it's >>> possible to spin up an IntelliJ instance >>> in a JUnit test? >>> >>> Yep, it's Swing. In Saros/E we fire up 2 >>> Eclipse instances that run >>> the Saros version and execute actions on them >>> via RMI. In IDEA I had >>> no luck starting two IDEA instances from one >>> instance >>> >>> (http://devnet.jetbrains.com/message/5520017#5520017), >>> so I suspended >>> that thought for the moment. >>> >>> We actually fire up 4 instances (we could even >>> fire up more). We do not >>> really execute "actions" (ok at least a few) with >>> RMI. Most RMI calls >>> delegates to the SWTBot Framework so we really >>> simulate user input (sorry if you meant this with >>> actions). >>> >>> Having an "OK it still works" integration test >>> would be really >>> helpful, but I am a bit intimidated by the >>> setup work this would >>> require (given the instances issues and the >>> whole hassle of UI tests). >>> >>> A lower level where the tests would already >>> make sense would be the >>> directory creation / file handling level >>> because I am having issues >>> there at the moment. >>> >>> If you want to use headless tests make sure IDEA >>> is not using SWING. The >>> CI Server is running without a display (for good >>> reasons). >>> >>> Regards, >>> Holger >>> >>> Kind regards, >>> Graham >>> >>> >>> >>> >>> On 21 July 2014 11:24, Stefan Rossbach >>> <srossb...@arcor.de >>> <mailto:srossb...@arcor.de> >>> <mailto:srossb...@arcor.de >>> <mailto:srossb...@arcor.de>>> wrote: >>> >>> I would suggest a similar framework >>> like SWTBot for AWT(Swing) >>> applications which can be accessed >>> with RMI >>> as we do with our STF. >>> >>> >>> On 21.07.2014 11 >>> <tel:21.07.2014%2011> >>> <tel:21.07.2014%2011>:28, Holger Schmeisky >>> wrote: >>> >>> Hi Graham, >>> >>> I am very glad to hear from you! >>> >>> Franz already told me about you >>> and I read your quite >>> enthusiastic blog >>> post about Saros for Eclipse and >>> how it compares to other >>> solutions :-) >>> >>> There probably will be too much >>> churn in the development >>> branch >>> for it >>> be a good base for collaboration. >>> I think it is a better >>> idea to >>> wait >>> with that until a runnable >>> version is in the master branch, so >>> you can >>> branch from there and develop >>> from a clean state. >>> >>> The next biggest impediment is, >>> that there are no automated >>> tests for >>> the development version and it >>> has to be tested manually -- we >>> should >>> fix that rather early I'd say. >>> >>> I'm working on that at the >>> moment, but experiencing >>> problems. Is >>> anybody >>> here who has experience testing >>> IDEA IntelliJ plugins? :-) >>> >>> Regards, >>> Holger >>> >>> >>> Holger Schmeisky; >>> holge...@fu-berlin.de >>> <mailto:holge...@fu-berlin.de> >>> <mailto:holge...@fu-berlin.de >>> <mailto:holge...@fu-berlin.de>> >>> Takustraße 9, Room 008, Freie >>> Universität Berlin, 14195 Berlin >>> +49 176 64146306 >>> <tel:%2B49%20176%2064146306> >>> <tel:%2B49%20176%2064146306> >>> >>> Am 18.07.2014 20:23, schrieb >>> Graham Allan: >>> >>> Hi Holger, >>> >>> Great to hear! >>> >>> I work for a company based in >>> London, from my home in >>> Scotland. Saros >>> has been a big part of our >>> development process for over 18 >>> months now, >>> and myself and my team are >>> very keen to see the IntelliJ >>> plugin. I've >>> already contributed the ant >>> build script for the Saros-I >>> project and am >>> eager to do more. >>> >>> Would you recommend checking >>> out the current code or will >>> there be so >>> much churn in that area that >>> we may as well wait? >>> >>> Kind regards and have a great >>> weekend, >>> Graham >>> >>> >>> On 16 July 2014 13:43, Holger >>> Schmeisky >>> <holge...@fu-berlin.de >>> <mailto:holge...@fu-berlin.de> >>> <mailto:holge...@fu-berlin.de >>> <mailto:holge...@fu-berlin.de>> >>> <mailto:holge...@fu-berlin.de >>> <mailto:holge...@fu-berlin.de> >>> <mailto:holge...@fu-berlin.de >>> <mailto:holge...@fu-berlin.de>>>__> wrote: >>> >>> Hello everyone, >>> >>> my name is Holger and I >>> am a colleague of Franz, >>> currently working at FU >>> Berlin on the >>> development of Saros for JetBrains >>> IDEA >>> (IntelliJ, >>> PyCharm, PhpStorm, ...). >>> >>> An IDEA version is >>> under way and there is already a >>> halfway-usable >>> development version (in >>> the development/raimondas2 >>> branch). It already >>> has the basic features >>> like project sharing, >>> editing, >>> follow mode, etc. >>> However this version >>> still misses a lot, is without >>> automated tests and >>> has only partially been >>> merged into the master >>> branch. >>> >>> In about 2-3 weeks, the >>> code will be in a shape >>> where >>> other people can >>> actually develop on it. >>> I think it already makes >>> sense >>> to get in touch >>> before, to get to know >>> the codebase and our >>> development process. >>> >>> So if you are >>> interested in joining Saros/I >>> development, please contact >>> me or write here, so I >>> can get to know you and >>> get an >>> overview how much >>> interest there is :-) >>> >>> Regards, >>> Holger >>> >>> >>> >>> -- >>> Holger Schmeisky; >>> holge...@fu-berlin.de >>> <mailto:holge...@fu-berlin.de> >>> <mailto:holge...@fu-berlin.de >>> <mailto:holge...@fu-berlin.de>> >>> <mailto:holge...@fu-berlin.de >>> <mailto:holge...@fu-berlin.de> >>> <mailto:holge...@fu-berlin.de >>> <mailto:holge...@fu-berlin.de>>> >>> Takustraße 9, Room 008, >>> Freie Universität Berlin, >>> 14195 Berlin >>> +49 176 64146306 >>> <tel:%2B49%20176%2064146306> >>> <tel:%2B49%20176%2064146306> >>> <tel:%2B49%20176%2064146306> >>> >>> >>> >>> ------------------------------__------------------------------__------------------ >>> >>> >>> Want fast and easy >>> access to all the code in your >>> enterprise? Index and >>> search up to 200,000 >>> lines of code with a free >>> copy of >>> Black Duck >>> Code Sight - the same >>> software that powers the >>> world's >>> largest code >>> search on Ohloh, the >>> Black Duck Open Hub! Try it >>> now. >>> http://p.sf.net/sfu/bds >>> >>> _________________________________________________ >>> DPP-Devel mailing list >>> DPP-Devel@lists.sourceforge.__net >>> <mailto:DPP-Devel@lists.sourceforge.__net> >>> <mailto:DPP-Devel@lists.sourceforge.net >>> <mailto:DPP-Devel@lists.sourceforge.net>> >>> <mailto:DPP-Devel@lists. >>> <mailto:DPP-Devel@lists.>__sourceforge.net >>> <http://sourceforge.net> >>> <mailto:DPP-Devel@lists.sourceforge.net >>> <mailto:DPP-Devel@lists.sourceforge.net>>> >>> >>> https://lists.sourceforge.net/__lists/listinfo/dpp-devel >>> >>> <https://lists.sourceforge.net/lists/listinfo/dpp-devel> >>> >>> >>> >>> ------------------------------__------------------------------__------------------ >>> >>> >>> Want fast and easy access to all >>> the code in your enterprise? >>> Index and >>> search up to 200,000 lines of >>> code with a free copy of Black >>> Duck >>> Code Sight - the same software >>> that powers the world's >>> largest code >>> search on Ohloh, the Black Duck >>> Open Hub! Try it now. >>> http://p.sf.net/sfu/bds >>> >>> >>> _________________________________________________ >>> DPP-Devel mailing list >>> DPP-Devel@lists.sourceforge.__net >>> <mailto:DPP-Devel@lists.sourceforge.__net> >>> >>> <mailto:DPP-Devel@lists.sourceforge.net >>> <mailto:DPP-Devel@lists.sourceforge.net>> >>> >>> https://lists.sourceforge.net/__lists/listinfo/dpp-devel >>> >>> <https://lists.sourceforge.net/lists/listinfo/dpp-devel> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> >>> >>> Want fast and easy access to all the code in your >>> enterprise? Index and >>> search up to 200,000 lines of code with a free >>> copy of Black Duck >>> Code Sight - the same software that powers the >>> world's largest code >>> search on Ohloh, the Black Duck Open Hub! Try it now. >>> http://p.sf.net/sfu/bds >>> _______________________________________________ >>> DPP-Devel mailing list >>> DPP-Devel@lists.sourceforge.net >>> <mailto:DPP-Devel@lists.sourceforge.net> >>> https://lists.sourceforge.net/lists/listinfo/dpp-devel >>> >>> >> > ------------------------------------------------------------------------------ > Want fast and easy access to all the code in your enterprise? Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > _______________________________________________ > DPP-Devel mailing list > DPP-Devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/dpp-devel ------------------------------------------------------------------------------ Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds _______________________________________________ DPP-Devel mailing list DPP-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dpp-devel