recommendation for webapp testing?

S

Schif Schaf

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.
 
M

Michele Simionato

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.

twill is still good.
 
C

corey goldberg

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
 
S

Simon Brunning

2009/9/17 Schif Schaf said:
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.
 
C

Chris Withers

Simon said:
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
 
A

Aahz

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.
 
R

Ryan Kelly

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
(e-mail address removed) | http://www.rfk.id.au/ramblings/gpg/ for details


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEABECAAYFAkq4JYQACgkQfI5S64uP50qN9QCfaxWL87I1htpT5TqPYjl9ePDu
EmgAoM5W7ZFn6qsYk2977QzSAkdeJt43
=HMW6
-----END PGP SIGNATURE-----
 
L

lkcl

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.
 
D

Dennis Lee Bieber

On Wed, 23 Sep 2009 13:23:36 -0700 (PDT), lkcl
<[email protected]> declaimed the following in
gmane.comp.python.general:

Pardon the side track, but are you using some sort of macro or odd
spell checker for "JavaScript"?

EVERY occurrence of "JavaScript" in your text has lost the spaces to
either side:

Note that the lower case "javascript" didn't lose spaces...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,774
Messages
2,569,598
Members
45,144
Latest member
KetoBaseReviews
Top