{"id":537,"date":"2009-06-08T19:26:34","date_gmt":"2009-06-09T00:26:34","guid":{"rendered":"http:\/\/blog.codedread.com\/archives\/2009\/06\/08\/google-wave-gwt-and-automated-testing-for-the-web\/"},"modified":"2009-06-08T19:26:34","modified_gmt":"2009-06-09T00:26:34","slug":"google-wave-gwt-and-automated-testing-for-the-web","status":"publish","type":"post","link":"https:\/\/www.codedread.com\/blog\/archives\/2009\/06\/08\/google-wave-gwt-and-automated-testing-for-the-web\/","title":{"rendered":"Google Wave, GWT, and Automated Testing for the Web"},"content":{"rendered":"<p><object type=\"image\/svg+xml\" width=\"100\" height=\"100\" style=\"float:right\" data=\"http:\/\/codedread.com\/clipart\/wave.svgz\"><span\/><\/object>I was impressed with the announcement of <a href=\"http:\/\/wave.google.com\/\">Google Wave<\/a> at <a href=\"http:\/\/code.google.com\/events\/io\/\">Google I\/O<\/a> two weeks ago.  Thanks to being in attendance, I was able to get a sandbox account and start checking it out.  Of course because there aren't a lot of people that I know on there and after getting <a href=\"http:\/\/twitter.com\/Rob_Russell\/status\/2047624830\">shinied<\/a> for a week doing simple things (or sometimes nothing at all), I needed to take a break.  But Google Wave led to GWT which led to the idea of automating web application testing.<\/p>\n<p>One of the interesting things about Google Wave is that it was implemented using the <a href=\"http:\/\/code.google.com\/webtoolkit\/\">Google Web Toolkit<\/a> (GWT, pronounced 'gwit' apparently).  GWT is a Java-based framework that compiles your code to HTML\/JS\/CSS.  Like a lot of folks, I was skeptical about this idea (particularly since none of the significant Google web services were built using GWT).  The fact that Google has implemented a major service on top of this toolkit now gives me a sense that GWT has been put through its paces.<\/p>\n<p>Anyway, after the announcement, I adjusted my second day conference schedule so that I could take in the session on <a href=\"http:\/\/code.google.com\/events\/io\/sessions\/GoogleWavePoweredByGWT.html\">Wave and GWT<\/a>.  As part of this talk, they mentioned how they use <a href=\"http:\/\/code.google.com\/p\/webdriver\/\">WebDriver<\/a> to automate testing of Wave across browsers.  I had never really heard about automating web app testing, so I found the notion particularly interesting.  Has anybody had any success with <a href=\"http:\/\/seleniumhq.org\/\">Selenium<\/a> or WebDriver on apps that use <a href=\"http:\/\/www.w3.org\/Graphics\/SVG\" title=\"Scalable Vector Graphics\">SVG<\/a> or Canvas?<\/p>\n<p><object type=\"image\/svg+xml\" width=\"100\" height=\"100\" style=\"float:right\" data=\"http:\/\/codedread.com\/clipart\/selenium.svgz\"><span\/><\/object>Really briefly I tried to use the <a href=\"http:\/\/seleniumhq.org\/projects\/ide\/\">Selenium IDE<\/a> extension for Firefox to run a test on the <a href=\"http:\/\/svg-edit.googlecode.com\/svn\/trunk\/editor\/svg-editor.html\">svg-edit<\/a> demo.  Unfortunately it doesn't seem possible to capture the mouse click\/movement on SVG elements, which means it's a non-starter for me at the moment.  I signed up for an account with <a href=\"http:\/\/openqa.org\/\">OpenQA<\/a> and asked an <a href=\"http:\/\/clearspace.openqa.org\/message\/63403#63403\">unanswered question<\/a>.  Note that after I asked this question, the svg-edit app abandoned its use of the &#60;object&#62; tag in favor of inline SVG that is programmatically added to the page.  Unfortunately this resulted in the same effect:  Selenium IDE ignores mouse clicks within SVG elements.  Bummer.<\/p>\n<p>I then tried to submit a <a href=\"http:\/\/jira.openqa.org\/secure\/Dashboard.jspa\">bug<\/a> only to find that OpenQA's JIRA was crashing.  To report <em>THAT<\/em> bug I'd have to sign up with an account at <a href=\"https:\/\/support.atlassian.com\/secure\/Dashboard.jspa\">atlassian<\/a> and that's just too many degrees away from where I want to be.  No one was around on the #selenium channel in IRC Freenode so I gave up for now.  Hot Tip: if you want to build a community, make sure basic things like signing in to your bug tracker work!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I was impressed with the announcement of Google Wave at Google I\/O two weeks ago. Thanks to being in attendance, I was able to get a sandbox account and start checking it out. Of course because there aren&#8217;t a lot of people that I know on there and after getting shinied for a week doing [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36,25,46,11,28],"tags":[89,90,94,134,198,145,155],"class_list":["post-537","post","type-post","status-publish","format-standard","hentry","category-google","category-software","category-svg","category-technology","category-web","tag-googleio","tag-googlewave","tag-gwt","tag-selenium","tag-svg","tag-testing","tag-webdriver"],"_links":{"self":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/posts\/537","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/comments?post=537"}],"version-history":[{"count":0,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/posts\/537\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/media?parent=537"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/categories?post=537"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/tags?post=537"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}