[Neos] Re: FYI: Work Package added: Behat Testing

Christopher Hlubek hlubek at networkteam.com
Fri May 24 09:58:42 CEST 2013


Hi Steffen,

we only have a handful of features (Login, Site-Management, Preview-Mode) defined so far to get started with the specifications and testing of Neos. Since Neos (especially the content editing) is a quite complex application the first features need to be done in cooperation with someone who has a deeper knowledge of the workings. This is not the ideal workflow of BDD, but from an experience of 3 projects where we used Behat I  know that sometimes the story must be told to fit the actual implementation. And of course we should try very soon to split the FeatureContext in separate subcontexts and establish a ubiquitous language / a.k.a step definitions for testing (which is really the hardest task).

Regarding the setup we now have a single job in Jenkins to do all the heavy lifting and run Behat tests with JavaScript needs against a headless (Xvfb) Firefox through Selenium 2 (WebDriver). To have a better browser support of Neos we planned to use Sauce Labs (free for Open Source) for running the Behat tests against different browser / OS combinations. I fear phantomjs will not give this amount of flexibility and also doesn't offer the debug tools to inspect the test runs.

So there will be two next steps: optimize the CI setup (build pipeline, multi-job configuration for Behat with Sauce Labs) and implement more features. As we are still doing heavy refactoring of the UI we will have to adapt the features / step definitions to these changes. Regarding the content module we should be extra-careful to produce robust tests, since we have just a lot of asynchronous stuff going on (e.g. use spin wait and have safeguards for a lot of stuff). I'm not yet sure if the actual content editing can be tested well with Selenium, I planned to implement a first feature for that during the code-sprint but didn't manage to get that started.

So I would welcome all contributions to that work package (http://forge.typo3.org/issues/48367) but please get in touch with me so we can keep it consistent in the beginning.

Greetings,

Christopher


More information about the Neos mailing list