Current development on JAMWiki is primarily focused on maintenance rather than new features due to a lack of developer availability. If you are interested in working on JAMWiki please join 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