[Seaside] SmallHttpUnitTest
Jon Paynter
kittle at mail.yans.net
Wed Oct 20 16:22:16 CEST 2004
David,
Nice looking stuff there!
Any support for multiple buttons/links with the same label?
The app im woking on has a Shopping module Id like to setup automated tests for. But it will need to be able to follow link number X labeled 'buy', or click said button.
Hopefully this is already in your framework and just not in the examples.
Also anxiously awaiting the VW port.
Jon.
---------- Original Message ----------------------------------
Date: Tue, 19 Oct 2004 14:21:55 -0400
>Roger,
>
>Looks interesting. I have also developed a testing framework
>(SeasideTesting) but with a somewhat different philosophy...basically
>tight integration with Seaside. Here's a sample unit test for WACounter:
>
>testBack
> self newApplicationWithRootClass: WACounter.
> self establishSession.
> self followAnchor: (self lastResponse anchorWithLabel: '++').
> self followAnchor: (self lastResponse anchorWithLabel: '++').
> self assert: self component count = 2.
> self back.
> self followAnchor: (self lastResponse anchorWithLabel: '++').
> self assert: self component count = 2
>
>
>Notice that the idea here is that I test the state of the component
>directly (although I can also ask questions about the content of the web
>page). This goes back to the thread we had on testing in this newsgroup
>a while back. I'm not recommending it as a replacement for
>SmallHttpUnit (or HttpUnit, for that mater) but if you're more
>interested in state of components than in the display then it might be
>of interest. My framework also includes a web-based test runner which
>shows you the history of views encountered during the test run. I've
>found it useful on occasion.
>
>You can find the original release of SeasideTesting on SqueakMap. I
>haven't ported it to VW due to differences in the XML processing
>frameworks. The port is on my list but will take longer than I planned.
>
>David
>
>
>Roger Whitney wrote:
>
>> A while back there was some discussion about a building a Smalltalk
>> framework for testing web pages. At least for VW users one now exists:
>> SmallHttpUnitTest. It is available at the Cincom Public Repository.
>> You can read more about it at:
>>
>> http://www.blainebuxton.com/projects/smallhttpunittest.htm
>>
>> SmallHttpUnitTest was developed at Camp Smalltalk in Portland this
>> summer by Blaine Buxton & myself. The goal was to produce a compact
>> language to access and test web pages. It has been used both to test
>> web pages and to extract date from web pages.
>>
>> Below is an example SUnit test, which tests Seaside's Counter. To
>> access a page one opens an HttpBrowser on a url. To access elements of
>> the page one can send the tag name as a message to the browser
>> object, so browser h1 below returns all the h1 elements of the page.
>> One can also access page elements via tag attributes. So browser foo:
>> 'bar' will return all tags with attribute foo with value bar. One can
>> nest messages so "(browser p foo: 'bar') a" will return all anchor
>> tags in side paragraphs that have an attibute foo with value 'bar'.
>> See the above URL and the tests that come with SmallHttpUnitTest for
>> more examples of usage.
>>
>> testNavigation
>> | browser |
>> browser := HttpBrowser on:
>> 'http://localhost:8008/seaside/go/counter'.
>> self assert: (browser h1 allSatisfy: [:each | each text = '0']).
>> self assert: (browser a text includesAllOf: #('++' '--')).
>>
>> browser click: [:a | a text = '++'].
>> self assert: (browser h1 text includesExactly: #('1')).
>>
>> browser click: '++'.
>> self assert: (browser h1 text includesExactly: #('2')).
>>
>> browser click: '--'.
>> self assert: (browser h1 text includesExactly: #('1')).
>>
>>
>> ----
>> Roger Whitney Department of Computer Science
>> whitney at cs.sdsu.edu San Diego State University
>> http://www.eli.sdsu.edu/ San Diego, CA 92182-7720
>> (619) 583-1978
>> (619) 594-3535 (office)
>> (619) 594-6746 (fax)
>>
>> _______________________________________________
>> Seaside mailing list
>> Seaside at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/listinfo/seaside
>
>
>
>--
>C. David Shaffer
>http://www.cs.westminster.edu/~shaffer
>http://www.shaffer-consulting.com
>
>_______________________________________________
>Seaside mailing list
>Seaside at lists.squeakfoundation.org
>http://lists.squeakfoundation.org/listinfo/seaside
>
More information about the Seaside
mailing list