Importing NanoBlogger post "Website unittesting with Selenium"
authorW. Trevor King <wking@drexel.edu>
Wed, 21 Oct 2009 18:00:56 +0000 (18:00 +0000)
committerW. Trevor King <wking@drexel.edu>
Wed, 21 Oct 2009 18:00:56 +0000 (18:00 +0000)
posts/Website_unittesting_with_Selenium.mdwn [new file with mode: 0644]

diff --git a/posts/Website_unittesting_with_Selenium.mdwn b/posts/Website_unittesting_with_Selenium.mdwn
new file mode 100644 (file)
index 0000000..6296ecf
--- /dev/null
@@ -0,0 +1,40 @@
+[[!meta  title="Website unittesting with Selenium"]]
+[[!meta  date="2009-10-21 14:00:56"]]
+I just discovered [Selenium](http://seleniumhq.org/), which allows you
+to drive browers programmatically.  This allows you to test the
+effects of javascript on the browser's internal page representation.
+Not very useful for the department website, since we don't use much
+javascript, but I like its python interface, so I'm replacing my
+traditional spider with a Selenium implementation.
+
+Some bugs I've run into so far:
+
+ * [start() doesn't take any
+   args](http://jira.openqa.org/browse/SRC-758).  Simple fix in
+   selenium.py.
+ * [captureNetworkTraffic("xml") returns requestHeaders as
+   responseHeaders](http://jira.openqa.org/browse/SRC-721).  Fixed in
+   source, but you'll need to compile your selenium-server.jar on your
+   own.  There's a nice, detailed explaination of building Selenium
+   with [Maven](http://maven.apache.org/)
+   [here](http://wiki.openqa.org/display/SRC/Developer%27s+Guide), but
+   for the impatient, a simple `mvn install` in the svn root directory
+   should do it.
+ * [captureNetworkTraffic("xml") captures invalid XML in URL's
+   (ampersand problem)](http://jira.openqa.org/browse/SRC-759).
+   Another simple patch, but this one's just posted by me, so you'll
+   have to apply it by hand and recompile.
+You get the feeling that people don't use the captureNetworkTraffic
+side of Selenium very often ;).  Ah well, only 3 open bugs in that
+area left to bump into ;).
+
+To keep the test suite easy to maintain, I build it on the fly using
+[nose
+generators](http://somethingaboutorange.com/mrl/projects/nose/0.11.1/writing_tests.html#test-generators),
+which are awesome :).
+
+More details to come...
+
+[[!tag  linux]]
+[[!tag  programming]]
+[[!tag  fun]]