Re: [BangPypers] Functional testing wih headless browser framework
Hello, On 17 September 2013 02:24, Amit Sethi amit.pureene...@gmail.com wrote: Hi , I am looking to add some functional testing to my application. I have seen a couple of tools via google search but the reason I am a little circumspect is that last time, I did something similar using selenium and it seemed lack some requirements of mine.(It was not exacty headless) [...] Am I late to the party? :) Thanks to many useful replies, we have so many alternatives to choose from: Selenium, PhantomJS, SlimerJS, CasperJS, ZombieJS, Splinter and many others. But here's a highly opinionated email advocating Selenium. Most of the alternatives to Selenium do functional testing. But Selenium does *cross browser* functional testing. For e.g. PhantomJS does headless WebKit. But what about browsers that don't use WebKit? What about Mozilla (which uses Gecko) or IE (which uses Trident)? To be precise, even PhantomJS uses QtWebKit (https://github.com/ariya/phantomjs/issues/11074). This means that PhantomJS's JavaScript engine is different from the one used by Chrome. For many small projects, this probably does not matters a lot. However, if you have a large user base with diverse browser preferences, you need to do cross browser functional testing (at least for all the browsers you claim to support), and for this you need 'real' web browsers. Even though one of my favorite xkcd strip mocks Standards ( http://xkcd.com/927/), Selenium WebDriver is on the path to become a W3C standard now (a W3C working draft was released few months ago http://www.w3.org/TR/webdriver/). So, being a standard, Selenium will steal the show whenever it comes to cross browser functional testing (even though other alternatives beat Selenium in many use cases). Moreover, development on other alternative projects *might* stall due to lack of contributors or inactivity. But we can 'expect' that W3C, Selenium/WebDriver team and browser vendors will actively develop/support Selenium WebDriver (I say 'expect' because many browser vendors introduce incompatible extensions to standards). One disadvantage of using Selenium is that it is slower than other alternatives (as it actually fires up a web browser and browsers are slow beasts!) There are use cases, other than functional testing, when using Selenium will be overkill and a waste of resources (such as automating boring web administration tasks). It is upto you to decide whether you want 100% coverage on functional testing front (with Selenium's cross browser support) or you want to save resources/money at the expense of 100% functional testing coverage (by using other alternatives). @Amit: Selenium fulfills all your stated requirements (It runs JS in a real web browser, supports headless mode with Xvfb, has CLI, integrates well with popular/most CI and testing tools). If 'headless-less' ;-) Selenium was the only reason that forced you to look into alternatives, you can use Selenium in headless mode using Xvfb (as many others had already said). Here's a bash script to setup Selenium/Xvfb/Chrome for you (works at least on Ubuntu 12.04): https://gist.github.com/amberj/6695353 (If you need to do functional testing on some other web browser, install it and it's Selenium driver instead of Chrome/ChromeDriver). Hope this helps! -- Amber Jain i.amber.j...@gmail.com http://amberj.devio.us/ ___ BangPypers mailing list BangPypers@python.org https://mail.python.org/mailman/listinfo/bangpypers
Re: [BangPypers] Functional testing wih headless browser framework
You could use PhantomJS +Selenium with python. I tried a very basic spike.You could find it here. http://simply-jags.blogspot.in/2013/06/headless-testing-with-selenium.html For BDD with python try lettuce... http://lettuce.it/ Hope this helps. :) On Wed, Sep 18, 2013 at 2:32 PM, s|s supr.e.etse...@gmail.com wrote: +1 Selenium with xvfb is your best bet. On Wed, Sep 18, 2013 at 11:29 AM, Gora Mohanty g...@mimirtech.com wrote: On 17 September 2013 02:24, Amit Sethi amit.pureene...@gmail.com wrote: Hi , I am looking to add some functional testing to my application. I have seen a couple of tools via google search but the reason I am a little circumspect is that last time, I did something similar using selenium and it seemed lack some requirements of mine.(It was not exacty headless) [...] If you are already familiar with Selenium, that is what I would go with. You can run Selenium headless with X11 and Xvfb (the old school method that works just fine), or with PhantomJS and Webkit. Regards, Gora ___ BangPypers mailing list BangPypers@python.org https://mail.python.org/mailman/listinfo/bangpypers -- Supreet Sethi Ph UK: +447859172473 Ph IN: +919811143517 Ph Skype: d_j_i_n_n Profile: http://www.google.com/profiles/supreet.sethi Twt: http://twitter.com/djinn ___ BangPypers mailing list BangPypers@python.org https://mail.python.org/mailman/listinfo/bangpypers ___ BangPypers mailing list BangPypers@python.org https://mail.python.org/mailman/listinfo/bangpypers
Re: [BangPypers] Functional testing wih headless browser framework
On 17 September 2013 02:24, Amit Sethi amit.pureene...@gmail.com wrote: Hi , I am looking to add some functional testing to my application. I have seen a couple of tools via google search but the reason I am a little circumspect is that last time, I did something similar using selenium and it seemed lack some requirements of mine.(It was not exacty headless) [...] If you are already familiar with Selenium, that is what I would go with. You can run Selenium headless with X11 and Xvfb (the old school method that works just fine), or with PhantomJS and Webkit. Regards, Gora ___ BangPypers mailing list BangPypers@python.org https://mail.python.org/mailman/listinfo/bangpypers
Re: [BangPypers] Functional testing wih headless browser framework
+1 Selenium with xvfb is your best bet. On Wed, Sep 18, 2013 at 11:29 AM, Gora Mohanty g...@mimirtech.com wrote: On 17 September 2013 02:24, Amit Sethi amit.pureene...@gmail.com wrote: Hi , I am looking to add some functional testing to my application. I have seen a couple of tools via google search but the reason I am a little circumspect is that last time, I did something similar using selenium and it seemed lack some requirements of mine.(It was not exacty headless) [...] If you are already familiar with Selenium, that is what I would go with. You can run Selenium headless with X11 and Xvfb (the old school method that works just fine), or with PhantomJS and Webkit. Regards, Gora ___ BangPypers mailing list BangPypers@python.org https://mail.python.org/mailman/listinfo/bangpypers -- Supreet Sethi Ph UK: +447859172473 Ph IN: +919811143517 Ph Skype: d_j_i_n_n Profile: http://www.google.com/profiles/supreet.sethi Twt: http://twitter.com/djinn ___ BangPypers mailing list BangPypers@python.org https://mail.python.org/mailman/listinfo/bangpypers
Re: [BangPypers] Functional testing wih headless browser framework
I have tried setting up PhantomJS, Selenium earlier, but I found ZombieJShttp://zombie.labnotes.org/far more lightweight and fast in terms of test execution. Some sample test code: https://github.com/dhruvbaldawa/drophere/blob/master/test/test_client.coffee -- Dhruv Baldawa (http://www.dhruvb.com) On Tue, Sep 17, 2013 at 8:17 AM, svaksha ॥ स्वक्ष svak...@gmail.com wrote: On Tue, Sep 17, 2013 at 2:34 AM, svaksha ॥ स्वक्ष svak...@gmail.com wrote: On Mon, Sep 16, 2013 at 8:54 PM, Amit Sethi amit.pureene...@gmail.com wrote: Hi , I am looking to add some functional testing to my application. I have seen a couple of tools via google search but the reason I am a little circumspect is that last time, I did something similar using selenium and it seemed lack some requirements of mine.(It was not exacty headless) I've only experimented with funkload (more of a regression/ load/ stress testing tool) but here is a longer list: 1. Funkload, https://github.com/nuxeo/FunkLoad 2. Programmatic web browsing module with AJAX support for Python, http://pypi.python.org/pypi/spynner 3. http://sourceforge.net/apps/trac/allpairs/ 4. https://github.com/gabrielpjordao/pyfunct 5. https://pypi.python.org/pypi/oejskit svaksha ॥ स्वक्ष ___ BangPypers mailing list BangPypers@python.org https://mail.python.org/mailman/listinfo/bangpypers ___ BangPypers mailing list BangPypers@python.org https://mail.python.org/mailman/listinfo/bangpypers
Re: [BangPypers] Functional testing wih headless browser framework
I am looking to add some functional testing to my application. I have seen a couple of tools via google search but the reason I am a little circumspect is that last time, I did something similar using selenium and it seemed lack some requirements of mine.(It was not exacty headless) I think you can run Selenium headless. I tried that before. Might be able to pull out a script for that out of an old project. - Vaidik ___ BangPypers mailing list BangPypers@python.org https://mail.python.org/mailman/listinfo/bangpypers
Re: [BangPypers] Functional testing wih headless browser framework
On Sep 17, 2013 2:25 AM, Amit Sethi amit.pureene...@gmail.com wrote: Hi , I am looking to add some functional testing to my application. I have seen a couple of tools via google search but the reason I am a little circumspect is that last time, I did something similar using selenium and it seemed lack some requirements of mine.(It was not exacty headless) Any toolset I should have: 1. Run some javascript. 2. Headless . I should be able run it on a cli or integrate with jenkins/travis etc.. 3. Easy to install . I should be able to install it easily with my buildout setup 4. I should be able to seemlessly integrate it with nose testing. 5. If I can integrate it with BDD testing framework that would be ideal. It will be great if somebody can give some nice pointers in this regard. Have you tried/evaluated Canoo Webtest? Thanks and Regards Noorul ___ BangPypers mailing list BangPypers@python.org https://mail.python.org/mailman/listinfo/bangpypers
Re: [BangPypers] Functional testing wih headless browser framework
On Mon, Sep 16, 2013 at 8:54 PM, Amit Sethi amit.pureene...@gmail.com wrote: Hi , I am looking to add some functional testing to my application. I have seen a couple of tools via google search but the reason I am a little circumspect is that last time, I did something similar using selenium and it seemed lack some requirements of mine.(It was not exacty headless) I've only experimented with funkload (more of a regression/ load/ stress testing tool) but here is a longer list: 1. Funkload, https://github.com/nuxeo/FunkLoad 2. Programmatic web browsing module with AJAX support for Python, http://pypi.python.org/pypi/spynner 3. http://sourceforge.net/apps/trac/allpairs/ 4. https://github.com/gabrielpjordao/pyfunct svaksha ॥ स्वक्ष ___ BangPypers mailing list BangPypers@python.org https://mail.python.org/mailman/listinfo/bangpypers
Re: [BangPypers] Functional testing wih headless browser framework
On Tue, Sep 17, 2013 at 2:34 AM, svaksha ॥ स्वक्ष svak...@gmail.com wrote: On Mon, Sep 16, 2013 at 8:54 PM, Amit Sethi amit.pureene...@gmail.com wrote: Hi , I am looking to add some functional testing to my application. I have seen a couple of tools via google search but the reason I am a little circumspect is that last time, I did something similar using selenium and it seemed lack some requirements of mine.(It was not exacty headless) I've only experimented with funkload (more of a regression/ load/ stress testing tool) but here is a longer list: 1. Funkload, https://github.com/nuxeo/FunkLoad 2. Programmatic web browsing module with AJAX support for Python, http://pypi.python.org/pypi/spynner 3. http://sourceforge.net/apps/trac/allpairs/ 4. https://github.com/gabrielpjordao/pyfunct 5. https://pypi.python.org/pypi/oejskit svaksha ॥ स्वक्ष ___ BangPypers mailing list BangPypers@python.org https://mail.python.org/mailman/listinfo/bangpypers