Re: Switching zope.testbrowser to webtest instead of mechanize

Brian Sutherland <[email protected]>
Newsgroups gmane.comp.web.zope.devel
Message-ID <[email protected]>
On Tue, Mar 05, 2013 at 05:56:54PM +0200, Andrey Lebedev wrote:
> On 03/05/2013 05:10 PM, Brian Sutherland wrote:
> >>So far, it seems webtest has all the features needed to do the
> >>>switch. I started a branch at github ([2]) to track work in
> >>>progress. The goal is to make most (say 80%) of existing tests to
> >>>work without modifications under new implementation.
> 
> >Looking at the branch, it seems that this is basically going to be a
> >re-write of the existing code.
> 
> Yes, it is a re-write, but not re-write from scratch. I use existing
> code as much as possible.
> 
> >You're planning to keep the mechanize backend available?
> 
> Initially we didn't plan to keep mechanize. I think it would add an
> unjustified burden of choice to users (which backend to pick, if
> they work the same way?) and mechanize backend will/may not work in
> python3 anyway.
> 
> The question of how compatible the webtest-based implementation will
> be, is still an open one though. However, we have a big real-world
> project to test compatibility against.

You're right, the big question is how compatible the WebTest version
will be. I don't think anyone will object to a drop-in replacement.
Having to modify 20% of existing tests sounds like a lot.  I guess we'll
have to see how compatible the new browser will be.

I'm willing to pitch in by testing it against my own application, please
let me know when/if you want me to do that.

> >Might I suggest zope.testbrowser.webtest for the WebTest backed
> >testbrowser rather than zope.testbrowser.browser2?
> 
> I admit there is a bit of mess right now in the branch as I need to
> preserve existing code to copy when applicable. My plan is to rename
> z.t.browser2 to z.t.browser eventually, so it is not a final name.

Ok!

> >Could you also keep the tests for the mechanize testbrowser intact?
> >They could be skipped if mechanize is not importable and mechanize
> >downgraded to an optional dependency.
> 
> Again, if the compatibility of new implementation is proven to be
> "good enough", I see no reason to keep mechanize around. I might
> miss some important reasons, though.

One thing which I'm not sure you can do with a webtest backend is using
it as a real browser. i.e. you'll probably not get over_the_wire.txt to
pass. However, I don't know of anyone who actually uses that
functionality.

Hmm, though I guess you can have a WSGI application that fires off real
HTTP requests...

-- 
Brian Sutherland
_______________________________________________
Zope-Dev maillist  -  [email protected]
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.