Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

recommendation for webapp testing?

11 views
Skip to first unread message

Schif Schaf

unread,
Sep 16, 2009, 1:00:01 AM9/16/09
to
Hi,

I need to do some basic website testing (log into account, add item to
cart, fill out and submit forms, check out, etc.). What modules would
be good to use for webapp testing like this?

From a bit of searching, it looks like twill was used for this, but it
hasn't been updated in some time.

Simon Brunning

unread,
Sep 16, 2009, 8:55:41 AM9/16/09
to Schif Schaf, pytho...@python.org
2009/9/16 Schif Schaf <schif...@gmail.com>:

>
> I need to do some basic website testing (log into account, add item to
> cart, fill out and submit forms, check out, etc.). What modules would
> be good to use for webapp testing like this?

<http://code.google.com/p/webdriver/> might be worth a look.

--
Cheers,
Simon B.

Michele Simionato

unread,
Sep 16, 2009, 12:19:27 PM9/16/09
to

twill is still good.

corey goldberg

unread,
Sep 16, 2009, 12:51:29 PM9/16/09
to
> I need to do some basic website testing

http://seleniumhq.org/
"Selenium is a suite of tools to automate web app testing across many
platforms."

Have a look at Selenium. Specifically, look at Selenium RC.

You can write code in Python to drive a web browser and run web tests.

-Corey

Schif Schaf

unread,
Sep 16, 2009, 9:56:24 PM9/16/09
to
On Sep 16, 8:55 am, Simon Brunning <si...@brunningonline.net> wrote:
> 2009/9/16 Schif Schaf <schifsc...@gmail.com>:

>
>
> > I need to do some basic website testing (log into account, add item to
> > cart, fill out and submit forms, check out, etc.). What modules would
> > be good to use for webapp testing like this?
>
> <http://code.google.com/p/webdriver/> might be worth a look.

Thanks.

What's the difference between WebDriver and Selenium?

Schif Schaf

unread,
Sep 16, 2009, 10:14:13 PM9/16/09
to
On Sep 16, 12:19 pm, Michele Simionato <michele.simion...@gmail.com>
wrote:
>
> twill is still good.

Well, this http://twill.idyll.org/ seems to be the twill website, but
it looks pretty out of date.

I also found this http://code.google.com/p/twill/ , which is somewhat
newer. No activity in the last 3 and a half months though.

Schif Schaf

unread,
Sep 16, 2009, 10:21:51 PM9/16/09
to
After some more searching I found Mechanize (a Python version of
Perl's WWW::Mechanize):

http://wwwsearch.sourceforge.net/mechanize/

Anyone here tried it?

Michele Simionato

unread,
Sep 17, 2009, 3:18:22 AM9/17/09
to

Twill uses mechanize internally.

Simon Brunning

unread,
Sep 17, 2009, 4:19:37 AM9/17/09
to Schif Schaf, pytho...@python.org
2009/9/17 Schif Schaf <schif...@gmail.com>:

> What's the difference between WebDriver and Selenium?

Selenium runs in a browser, and uses JavaScript to perform all your
automated actions. It need a browser running to work. Several are
supported, Firefox, Safari, IE and I think others. You are at thier
mercy of the browser's JavaScript engine - I've often had trouble with
IE's XPath support, for instance - tests will run fine in Firefox and
safari, but not work in IE.

One big advantage of Selenium is that there an "IDE" available, a
Firefox add-on which will allow you to record actions. This is useful
for building regression tests and acceptance tests for bugs. Sadly, it
often tempts people into writing their acceptance tests after the
fact, too - a grave mistake IMHO.

Selenium tests can be written in Python, Ruby, Java, and in the form
of HTML tables. This last seems quite popular with QAs for some reason
which escapes me entirely.

WebDriver runs outside a browser. It can be (and usually is) used to
drive a real browser, though there's is a HtmlUnit driver available,
which bypasses any real browser and goes direct to the site you are
testing. Even this last option, though, does allow the testing of
sites which make use of JavaScript - which is just about all of them
these days.

It makes use of native drivers for each of the browsers it supports,
so it runs very much faster than Selenium. Since it presents the test
program with its own version of the page's DOM tree, it's also less
likely to give browser incompatibilities.

WebDriver tests can be written in Java or Python, at the moment.

The Selenium people have recognized the superiority of the WebDriver
approach, so the nascent Selenium 2 will use WebDriver under the
covers. For the moment, though, you have to pick one or the other.

Mechanize is a superb library for its intended purpose - I use it all
the time. It's lack of support for pages with JavaScript
functionality, though, means it's not very useful at a testing tool
for modern web sites.

--
Cheers,
Simon B.

Chris Withers

unread,
Sep 18, 2009, 5:24:30 AM9/18/09
to Simon Brunning, Schif Schaf, pytho...@python.org
Simon Brunning wrote:
> Mechanize is a superb library for its intended purpose - I use it all
> the time. It's lack of support for pages with JavaScript
> functionality, though, means it's not very useful at a testing tool
> for modern web sites.

There's also zope.testbrowser, which is a handy wrapper around
Mechanize. I wonder if they've done anything with JS there?

Chris

--
Simplistix - Content Management, Batch Processing & Python Consulting
- http://www.simplistix.co.uk

Aahz

unread,
Sep 21, 2009, 11:34:32 AM9/21/09
to
In article <2053e5e2-763e-44fb...@z34g2000vbl.googlegroups.com>,

Schif Schaf <schif...@gmail.com> wrote:
>
>I need to do some basic website testing (log into account, add item to
>cart, fill out and submit forms, check out, etc.). What modules would
>be good to use for webapp testing like this?

Windmill is an option, but I haven't tried it myself; Selenium is good.
--
Aahz (aa...@pythoncraft.com) <*> http://www.pythoncraft.com/

"I won't accept a model of the universe in which free will, omniscient
gods, and atheism are simultaneously true." --M

Ryan Kelly

unread,
Sep 21, 2009, 9:16:56 PM9/21/09
to pytho...@python.org

> >I need to do some basic website testing (log into account, add item to
> >cart, fill out and submit forms, check out, etc.). What modules would
> >be good to use for webapp testing like this?
>
> Windmill is an option, but I haven't tried it myself

I'll second Windmill as an option, have had good experiences with it.
The current version is a little on the slow side, but I believe there's
a big new release just around the corner that contains significant
performance improvements.

Ryan

--
Ryan Kelly
http://www.rfk.id.au | This message is digitally signed. Please visit
ry...@rfk.id.au | http://www.rfk.id.au/ramblings/gpg/ for details

signature.asc

lkcl

unread,
Sep 23, 2009, 4:23:36 PM9/23/09
to
On Sep 17, 8:19 am, Simon Brunning <si...@brunningonline.net> wrote:
> 2009/9/17 Schif Schaf <schifsc...@gmail.com>:

>
> > What's the difference between WebDriver and Selenium?
>
> Selenium runs in a browser, and usesJavaScriptto perform all your

> automated actions. It need a browser running to work. Several are
> supported, Firefox, Safari, IE and I think others. You are at thier
> mercy of the browser'sJavaScriptengine - I've often had trouble with

> IE's XPath support, for instance - tests will run fine in Firefox and
> safari, but not work in IE.
>
> One big advantage of Selenium is that there an "IDE" available, a
> Firefox add-on which will allow you to record actions. This is useful
> for building regression tests and acceptance tests for bugs. Sadly, it
> often tempts people into writing their acceptance tests after the
> fact, too - a grave mistake IMHO.
>
> Selenium tests can be written in Python, Ruby, Java, and in the form
> of HTML tables. This last seems quite popular with QAs for some reason
> which escapes me entirely.
>
> WebDriver runs outside a browser. It can be (and usually is) used to
> drive a real browser, though there's is a HtmlUnit driver available,
> which bypasses any real browser and goes direct to the site you are
> testing. Even this last option, though, does allow the testing of
> sites which make use ofJavaScript- which is just about all of them

> these days.
>
> It makes use of native drivers for each of the browsers it supports,
> so it runs very much faster than Selenium. Since it presents the test
> program with its own version of the page's DOM tree, it's also less
> likely to give browser incompatibilities.
>
> WebDriver tests can be written in Java or Python, at the moment.
>
> The Selenium people have recognized the superiority of the WebDriver
> approach, so the nascent Selenium 2 will use WebDriver under the
> covers. For the moment, though, you have to pick one or the other.
>
> Mechanize is a superb library for its intended purpose - I use it all
> the time. It's lack of support for pages withJavaScript
> functionality, though, means it's not very useful at a testing tool
> for modern web sites.

if you ask flier liu (http://code.google.com/p/pyv8) veeery nicely,
he _might_ be persuaded to make the work he's doing be free software.
hint: if you check closely into the pyv8 tests, you'll see a module
"w3c.py" which implements DOM.

in other words, he's writing a command-line-web-browser-without-the-
gui-to-get-in-the-way.

in other words, he's taking HTML off the web and _executing the
javascript_ (using pyv8) to construct the exact same kind of page that
a user would normally see _if_ you actually put the resultant DOM
(after the javascript is done executing) into a web browser's display
engine.

the reason why he's doing is this is because he has quite literally
miilllions of web pages to analyse, and working with e.g. selenium
just absolutely does not cut the mustard, performance-wise.

so, if you can get him to make the work he's doing free software, you
will get a test suite whereby you can have pyv8 actually execute the
on-page javascript, then use e.g. BeautifulSoup to walk the resultant
DOM, and can do proper analysis of the DOM, which would otherwise be
impossible.

l.

Message has been deleted
0 new messages