Active development of JAMWiki has ceased, and bug fixes and support will be limited at best. If you are interested in taking over management of JAMWiki please send an email to the jamwiki-devel mailing list.

JamwikiWebtest

Contents

major questions to resolve[edit]

Hi Folks, what is the right purpose to test jamwiki? Either I design the tests to test an existing webtest-installation running elsewhere (configure-able in the properties), or I test the clean build running with the mvn jetty:run-exploded command. So the alternatives are:

  • Testing an existing - running jamwiki installation.
  • Testing a clean compiled and builded jamwiki running inside jetty on the local machine.

Right at this moment I tend to the second option: testing a jetty-provided instance of jamwiki. What do you thing? -- mbert 12-Aug-2008 01:59 PDT

Hi folks, I did realize the first (three) Webtest for jamwiki - realised in the second way, using a clean build jamwiki from the sources and started inside the jamwiki-war directory by using: mvn jetty:run-exploded -- mbert 04-Oct-2008 03:44 PDT
I somehow missed this topic when you created it - sorry! I think both of the above setups can be done, and I started to do so before discovering this topic. Basically, set up the default properties for scenario #2 as you've done, but make it easy to overwrite those properties if desired. In order to test this on my local box I moved the properties into a webtest.properties file, which I can then overwrite with my own custom version. Feel free to revert that commit if it breaks anything you're doing, but I think that this approach makes it easy to run automated tests with both Jetty and a local JAMWiki installation. -- Ryan 04-Oct-2008 10:47 PDT

status of the webtests[edit]

Right at the moment the webtests do not run on every environment - with different languages .... -> I'm working on it. For that I will use the jamwiki-war/src/main/ressources property-files and add some keys who are right now under the pages directory. I would suggest to use language specific strings only inside the properties-files. Now I duplicate some values e.g. "Special:Allpages ..." so I'm able to test the link on the "starting page".

I started to use the properties-files provided by jamwiki-war:
<property file="../jamwiki-war/src/main/resources/ApplicationResources_${user.language}.properties" />

But there are some string in the page I may want to refer to who are not inside these property-files.

So developers please use the property-files always! It makes my work much more easier. Right now I would like to know if anyone with a different language (not german) did run the webtests, because I did not test the multi-language support - which would be right difficult for me. -- mbert 04-Oct-2008 03:50 PDT

This actually fails for me (English) but I will investigate and try to resolve it. If I break any of your tests in the process please just revert my commits. -- Ryan 04-Oct-2008 10:50 PDT

steps to run the webtests on your local jamwiki[edit]

The only thing to do for you is:

  • copy ant-trax-1.7.0.jar from the lib/webtest/lib directory to your ANT_HOME/lib directory.
  • cd jamwiki-war and call mvn jetty:run-exploded.
  • on another shell you change to the webtests directory and call ant (with default-target).

Now the tests will start - a so called webtestMonitor will show up - and on the jetty-shell you see the logging from jamwiki. At the end of the test-run you will see the test-result-file in your defaul-browser (or you have to do it manually: open the index.html insite the webtests/results directory. -- mbert 04-Oct-2008 03:58 PDT

Tool to record a webtest by using firefox[edit]

If you have a test issue you might want to start with copying an existing Webtest and adjusting it.

For starters if you work with firefox you will use the

firefox-plugin: http://opensource.basehaus.com/webtest/screencasts/creating-a-first-webtest-project.htm it's a nice tool to start with webtests, but only for the beginning.


usecases to test:[edit]

administration-configuration[edit]

  • test the basic administration on a new jamwiki installation.

Its the first webtest only entering the admin name and password and checking the Forward to the "jamwiki startingpoints page".

login-test[edit]

  • as a new (unregistered) user and check the failure
  • login as a regular (registered) user

user-registration[edit]

  • register a new user - successfully.
  • try to register a user and fail.
(Hi Ryan, what will happen - technically - if a new user is registered? - for my test I will have to undo it afterwards! - cleanup the data-base.)

create a test-page[edit]

  • create a test-page as the test-user
  • ... check some extras

logout-test[edit]

  • test the logout for a test-user

... what else?[edit]

  • Every suggestion is welcome (I will search for know bugs to create a test for them).
  • How do I erase the traces from the system - for a clean system bevor the next test-run. I do need to create the same test-user when I run the webtests a second time.

-- mbert 04-Jul-2008 11:37 PDT


Link:[edit]

If you like see how to create a new webtest-project:

http://opensource.basehaus.com/webtest/screencasts/creating-a-first-webtest-project.htm