1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><no title> — WebTest v1.3 documentation</title>
<link rel="stylesheet" href="../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '1.3',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<link rel="top" title="WebTest v1.3 documentation" href="../index.html" />
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../index.html">WebTest v1.3 documentation</a> »</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<dl class="docutils">
<dt>Zope:</dt>
<dd><p class="first"><a class="reference external" href="http://cheeseshop.python.org/pypi/zope.testbrowser/3.4.2">http://cheeseshop.python.org/pypi/zope.testbrowser/3.4.2</a></p>
<p class="last">Browser-centric (vs. application-centric)
Slightly verbose
Works over HTTP (WSGI with wsgi_intercept)
Has forms, etc (Mechanize)
Next best (after WebTest)</p>
</dd>
<dt>Django:</dt>
<dd><p class="first"><a class="reference external" href="http://www.djangoproject.com/documentation/testing/">http://www.djangoproject.com/documentation/testing/</a></p>
<p class="last">Reasonably system
Slightly verbose
Works over Django request system (not WSGI)
Slightly leaky
No forms</p>
</dd>
<dt>CherryPy/TurboGears 1:</dt>
<dd><p class="first"><a class="reference external" href="http://docs.turbogears.org/1.0/Testing#testing-your-view">http://docs.turbogears.org/1.0/Testing#testing-your-view</a></p>
<p class="last">Very leaky!
Tests happen via side effects
Global objects everywhere
Can call directly into controllers
No forms</p>
</dd>
<dt>Rails:</dt>
<dd><p class="first"><a class="reference external" href="http://manuals.rubyonrails.com/read/chapter/28">http://manuals.rubyonrails.com/read/chapter/28</a></p>
<p>Call directly into controller
Actually instantiate the controller in your tests
The main functionality is in a TestCase subclass
Has some XML/HTML inspection
Vigorous debate on best practice:</p>
<blockquote class="last">
<div><a class="reference external" href="http://www.anarchogeek.com/articles/2007/9/16/rails-where-the-boundries-are-pushed">http://www.anarchogeek.com/articles/2007/9/16/rails-where-the-boundries-are-pushed</a>
This is not a good thing
Mocks all over the place :(</div></blockquote>
</dd>
</dl>
<hr class="docutils" />
<dl class="docutils">
<dt>Twill:</dt>
<dd><p class="first"><a class="reference external" href="http://twill.idyll.org/">http://twill.idyll.org/</a></p>
<p class="last">Works over HTTP (WSGI with wsgi_intercept)
Lots of form support (Mechanize)
Simple-looking tests
Not a complete language</p>
</dd>
<dt>Selenium:</dt>
<dd><p class="first"><a class="reference external" href="http://www.openqa.org/selenium/">http://www.openqa.org/selenium/</a></p>
<p class="last">Works in a browser
Awkward language
Recorders exist
Satisfying to watch run</p>
</dd>
<dt>Windmill:</dt>
<dd><p class="first"><a class="reference external" href="http://windmill.osafoundation.org/">http://windmill.osafoundation.org/</a></p>
<p>Like a mix of Twill and Selenium?
Uses a browser IDE like Selenium</p>
<blockquote>
<div>Fancy Javascript recorder?</div></blockquote>
<p>Experimental command-line
Browser can report back to code, like the (confusing) “drive” mode</p>
<blockquote class="last">
<div>in Selenium</div></blockquote>
</dd>
</dl>
</div>
</div>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/chipy-presentation/comparisons.txt"
rel="nofollow">Show Source</a></li>
</ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
<input type="text" name="q" size="18" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../index.html">WebTest v1.3 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008, Ian Bicking.
Last updated on Aug 28, 2011.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
</body>
</html>
|