[openstack-dev] [Horizon] the future of angularjs development in Horizon

Richard Jones r1chardj0n3s at gmail.com
Mon Nov 17 01:07:43 UTC 2014

On 17 November 2014 11:11, Thomas Goirand <zigo at debian.org> wrote:

> On 11/15/2014 05:03 AM, Matthias Runge wrote:
> > On 14/11/14 16:21, Adam Young wrote:
> >
> >> Example:  I don't need Grunt to run a web server.  I need Apache for
> >> that.  Grunt does not need to be in the distro, mod_wsgi does.
> >
> > I will need every tool required to run e.g. unit tests or selenium tests
> > to be packaged. Why? Because our builders don't have access to the
> > internet and I want to be sure, the packaged version of horizon still
> > passes tests.
> >
> > Matthias
> Except that selenium is non-free: it's in the non-free repository of
> Debian, because it contains a pre-built .xpi plugin for firefox, which
> itself contains pre-built .so and .dll files.

Hasn't this issue already been addressed? Horizon currently uses
Selenium-based integration tests.

> So, we're on the same page, but selenium is a bad tool... :)
> Chatting with Maxime Vidori on IRC, there's a bunch of alternative
> solutions that we could use instead of Selenium. PhantomJS for example
> is already in Debian main. I would very much welcome switching to that
> instead of Selenium.

PhantomJS isn't a testing framework - it's just a headless browser that's
scriptable from Javascript. It has a webdriver for Selenium, which is a
testing framework. If you ditch Selenium then you need to replace it with a
testing framework on top of PhantomJS.

There's also CasperJS which is an entirely separate testing framework built
over PhantomJS (and SlimerJS, which looks to be similar to PhantomJS except
built on Gecko - but not headless). It's very JUnit. Some people like that

While Selenium has issues, I'm concerned that there's very few people out
there in the wilds doing interface testing without it. Indeed there's
people advocating for Selenium over PhantomJS directly. Using PhantomJS
directly means we won't have a suite of tests we can then target at IE,
Safari, etc to ensure that the interface works there in an automated
fashion. PhantomJS might be built on WebKit, but it's different enough from
Chrome that you still want to run your tests on Chrome to ensure the
interface actually works. SlimerJS does allow the testing to be slightly
broader, but we'd still miss automated IE and Safari tests.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20141117/432ee2b3/attachment.html>

More information about the OpenStack-dev mailing list