Thanks for all this, Timbo!

Looking forward to hearing more on your experience, thoughts with
this.

Yarko

On Oct 19, 9:54 am, Timbo <[EMAIL PROTECTED]> wrote:
> Since the start of this thread, I've only just looked into using
> Selenium RC and how to integrate that with web2py.  I haven't come up
> with a "good" solution yet, but I'll keep you posted.
>
> How does selenium compare with other products?  I haven't used
> anything else, but a cursory look at the two mentioned, shows Selenium
> as being more flexible/powerful than twill and more cross-browser than
> TestGen4Web.
>
> How I use selenium now is I've downloaded selenium core and put it in
> my static files (it's just a few webpages and lots of javascript).  I
> have a test script that runs through all possible combinations of how
> logging into my website should behave.
>
> How has selenium helped my web dev?  Easy question, it speeds up
> testing by magnitudes and makes testing less boring and more
> thorough.  Also it gives you a CYA factor for when someone says
> something doesn't work right.  All you have to do is show them the
> test.  If you haven't tested a particular aspect of something, it will
> become apparent rather quickly.  The solution is to add that
> particular regression to your test script and in no time, you'll have
> an extensive battery of tests for your webapp.
>
> Web app testers such as Selenium do not only test the View...however,
> it is through the view that they do their testing.  In a true MVC
> model, the Controller is the only thing that can be tested since it is
> the only place where logic should exist in the process.  However, most
> developers have views that show things differently based on different
> input from the controller.  So we have logic in our views as well.  It
> goes without saying that certain behaviors in the controller produce
> certain manifestations in the corresponding view.  For example,  in my
> login application, if the user enters an incorrect password, it
> returns with a flash-message based on how it is incorrect (illegal
> characters, no password supplied, etc.).  This flash is testable (via
> Selenium or others) and it is testing both the view logic and the
> controller logic.  Hence, we can use Selenium to test both the
> controller and the view.  Models don't possess logic in themselves
> (unless you want to test constraints but that's silly).
>
> Selenium core can only run javascript and manipulate a browser.  For
> that reason, it cannot set application state without you providing a
> web-facing front-end to facilitate that (if you do, be wary of
> security concerns).  Selenium RC, can run as a normal Python unittest
> and could therefore manipulate application state when run from the
> web2py shell as Massimo pointed out.  I'm going to look more into this
> on Monday.
>
> @yarko:
> The Selenium RC server is the only portion written in Java and that is
> only necessary for tests written in languages other than HTML
> Selenese.  You could make tests via the IDE and run them purely with
> Selenium core without having to mess with Java at all.  Actually, I'd
> like to find a way to cleanly start/stop Selenium RC Server from
> web2py for good integrated testing.  I'll let you know.  But if you
> want to get started with it, download Selenium Core and the IDE and
> get going.
>
> =)
>
> On Oct 18, 11:15 am, morningovermidnight <[EMAIL PROTECTED]>
> wrote:
>
> > Thanks for pointing me to selenium (http://selenium.openqa.org/). It
> > looks great. I've also seen some other automated web testing soultions
> > such as twill (http://twill.idyll.org/) and TestGen4Web (http://
> > developer.spikesource.com/wiki/index.php?title=Projects:TestGen4Web).
> > If you don't mind, could you give me a scenario of how you test your
> > web application with selenium ( selenium rc in particular) and how
> > testing with selenium has helped your web dev?
>
> > I ask because honestly i am still on the fence about whether or not to
> > implement something such as selenium, or twill, or TestGen4Web. They
> > all seem to run tests well, but -- and correct me if i'm wrong -- when
> > thinking about the MVC architecture, it seems all of these only test
> > the V, the view. You know, testing to see that a page displayed, that
> > a link is present, or that a page contains some text. And while
> > testing the view is of course important, testing the MC part of
> > things, the application logic is just as important -- or at least a
> > testing solution is not complete if not all components, the M, the V,
> > and the C can be tested. Such a solution may be a combination of
> > several different products...but it is something definitely worth
> > looking into. Again, maybe I am only seeing Selenium on the
> > surface...is there a way for Selenium to test application logic (e.g.
> > setting the status of the website to "down for maintenance" then
> > verifying that no users can access the site via login or otherwise) ?
>
> > On Oct 17, 10:25 am, Timothy Farrell <[EMAIL PROTECTED]> wrote:
>
> > > Massimo,
>
> > > I implied in my previous post, that I don't use web2py's built-in
> > > testing.  This brings me to a question...what is the "test" directory
> > > for under the application root?  Since the admin interface only runs
> > > doctests, what would be a good way of running a unittest that I place in
> > > /applications/init/tests/ ?
>
> > > This sort of setup, combined with selenium-rc, would be the ultimate in
> > > web app testing (well almost, but it's really close).
>
> > > -tim
>
> > > Timothy Farrell wrote:
> > > > An excellent question.  Testing in web2py is somewhat of a misnomer
> > > > since you use web2py to create web applications but you can only truly
> > > > test the models or controllers, not the product of all three MVC
> > > > components.  However, there isn't really a better way unless Massimo
> > > > wants to include another external libary (and therefore dependency).
>
> > > > What I use for webpage testing is Selenium.  Selenium is a
> > > > javascript-based scripting/testing engine.  However, it has Python
> > > > modules that you can use to write and invoke tests (which it translates
> > > > to Javascript and runs.)  It even has a cool IDE plugin for Firefox
> > > > which makes test-making pretty easy.  Take a look.
> > > >http://www.openqa.org/selenium/
>
> > > > -tim
>
> > > > morningovermidnight wrote:
>
> > > >> I've been reading earlier posts on unittests and using doctests in
> > > >> web2py. I have tried and run some successful doctests in web2py.
> > > >> However, it seems that the doctest is testing the value that my
> > > >> function returns, as it should, but is there a way to write a test to
> > > >> check an intermediate value in my function, say the value of a session
> > > >> variable that is stored but not returned to the view?
>
> > > >> Also, just curious, what are some of the solutions people here in the
> > > >> group are using for testing and for debugging web2py applications?
>
> > >  tfarrell.vcf
> > > < 1KViewDownload
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to