site management automation tool



Latest Release

Latest release: webtester-beta14.zip

webtester API documentation

API documentation for the webtester java classes

Configuration Tutorial

Provides tutorials and examples for configuring webtester, and using the proxy.

Having Problems

If you have found problems with webtester, please report them. You may also use the discussion groups or send an email asking for help.

FAQ

Provides frequently asked questions and answers where possible.

SourceForge.net Logo


Question Answer
What use would I, or my organization, have for webtester? If you or your organization maintain a large complicated website, or a small website which uses a lot of web applications for generating content, then webtester could be useful in monitoring and validating site content. What this means, exactly, is that you can use webtester for regression testing, to make sure that a recent upgrade, for instance, hasn't resulted in breaking existing functionality. Additionally, static content on your site can be validated. This is useful in making sure that your website hasn't been modified without permission having been granted.
I want to be able to run webtester as a scheduled process, how do I do this? After webtester is used for a nontrivial amount of time, a developer or organization might find that numerous configuration files need to be executed in order to perform complete regression/load/functionality testing. Of course, executing each file individually is tedious. Starting with the alpha2.9 release of webtester, there is now a script, runAllTests.pl, which can be used to achieve this goal. The webtester installation directory and configuration file directory are specified on the command line. The script then instructs webtester to execute every file in the directory which ends in *.xml. More details about how to use the script can be found by examining the README.TXT file distributed with the latest webtester release.
What if my website is hacked? Can webtester help me detect when this happens? Yes, there are many situations for which webtester is ideally suited to provide notifications for such an event. First of all, if there are regular expressions in your test cases that no longer appear on the site as a result of the site being modified, this will result in an email notification being sent that contains the offending HTML content. Additionally, when using the proxy to record a test case, webtester will record the size in bytes of each image accessed. If a hacker modifies an image on your website, the odds are greatly in favour of the file size changing. Therefore, this condition would also result in a notification being sent. Ultimately, the ability of webtester to detect these situations depends on how robust the test cases for a given website are.
Why should I use webtester instead of buying a commercial software package? Considering I do write software for a living, I would say that if you feel more comfortable buying commercial software, then please do so. However, in my research, I did not find any existing software packages which contain all the features that webtester currently supports. Also, I am not aware of any software, commercial or otherwise, which supports the features webtester will eventually have when the development process is further along. That being said, if you are looking for a cheap effective solution for website management, validation, and testing, then webtester is for you.
I am using the proxy to record test cases, but it seems so slow! Unfortunately, this can become an issue for sites which generate incredibly large amounts of data. It is, for the time being at least, completely necessary. In order to record a test case, the webtester proxy must not only know what was accessed, but in what order resources were accessed. In order to do this, the proxy restricts the browser to one connection at a time rather than the usual four allowed. Additionally, all of the HTML content returned to the browser is first completely examined by the webtester proxy before being returned to the browser. This means that accessing sites via the webtester proxy will result in longer load times than normal accesses to the site. However, this is still much more convenient than having to create configurations via a completely manual process.
I am encountering java errors when trying to use the applications under windows! The most common reason for this is that users try to execute the BAT files from windows explorer. Although this is possible with some global modifications to the CLASSPATH variable, the easiest solution is to run the BAT files via the command-prompt. Simply start a command prompt, and change to the directory where webtester was installed. Then, executing any of the BAT files should work as long as java 1.4 is installed properly. If you type "java -version" and it either doesn't work, or provides a value less than 1.4 for the version, then the necessary installation is not available.
The configuration looks incredibly complex. How can I configure webtester without the steep learning curve? For the most common configurations, the simplest way to configure webtester is to use the proxy. The proxy, distributed with webtester, examines data sent to/from the browser and uses that information to write webtester configuration files. There is a tutorial on using the proxy which should be of some help. When testing web applications that generate data in a dynamic fashion, it may be necessary to tweak the configuration by hand and for this it is necessary to understand the configuration file format. This area of use, which is admittedly more complicated, is intended to be used mainly by web developers. There is also a tutorial on the configuration file format.
Is there a graphical interface for executing configuration files? Yes. If you want to use a GUI to load and execute your configuration file, run the webtester.packages.apps.runTestsGUI class. Using the available options, you can load and execute test cases.
Given that the configuration is complex, how do I edit the file once the proxy has created it? Well, one way is to use notepad...but who wants to edit large XML files using notepad? The way I would suggest is to use the configEditor application that is distributed with webtester. The configEditor.sh (linux) and configEditor.bat (windows) files will start the configuration editor with the sample configuration file distributed with webtester. The command-line used by these files can be modified to include your configuration file if necessary. You should read the tutorial before using webtester, if you have not already done so.
I recorded a test case, but it uses dates. Since the dates change daily, my test case is only valid for 24 hours. How can I fix this? With every webtester release since alpha2.5, "system" variables can be used to workaround this issue. This requires editing the configuration file by hand though.
The following system variables are supported: $currentday, $currentmonth, $currentyear, $currenthour, $currentminute
Additionally, expressions of this format are supported: $currentday+1, $currentminute-2

In either the formdata or response-regex elements, these system variables can be used. When the test case is executed, the
expressions will be evaluated and the correct values substituted BEFORE the data is sent to the webserver.

For instance, if you recorded a testcase that has the following:

<formdata><![CDATA[expdate=5/20/2004]]></formdata>

You could make sure the current date is always sent by changing the values as follows:

<formdata><![CDATA[expdate=$currentmonth/$currentday/$currentyear]]></formdata>

The "samplewebtest.xml" file distributed with webtester, and used to regression test the application, gives an additional example for how to use the date variables.
I am having problems with webtester. How do I get support? The simplest and most effective way, currently, is to send an email message to the developer requesting support. Another effective way is to open a new bug via the sourceforge project page. However you choose to report your problem, please provide as much detail as possible. If the developer(s) cannot reproduce your problem, it becomes a lot harder to fix it.
Does webtester support SSL? Yes, when executing test cases, webtester can support production ready SSL certificates. Self-signed or expired certificates will not work however. The proxy application does NOT support SSL though. This means that you can run your tests using SSL, but you can't use the proxy to create tests by accessing HTTPS URLs. The proxy will let you record via normal HTTP, and change the URLs to HTTPS URLs when the configuration file is generated.
I tried using webtester with JDK 1.x. and it didn't work! Webtester will only work with JDK 1.4 and greater. To use webtester with an older version of the JDK requires downloading a lot of third party dependencies. Most of these are part of JDK 1.4, therefore it's easier to upgrade your version of the JDK than to modify webtester as required.
I want to use webtester to simulate users accessing my applications before I make those applications available to customers. Is this possible? Yes, this is one of things for which webtester was designed. Simply set the configuration value "onlyrunonce" to "NO" and webtester will then execute your testcases in an infinite loop. Also, increasing the "numthreads" value may also help increase the load being generated on your applications. In the future, webtester should be able to serve this need more completely. One of the features scheduled to be added is distributed load testing, which would, in theory, allow you to use all participating PCs in an organization to properly load test web applications.
The proxy doesn't work with my browser! The proxy has been tested with Mozilla 1.4 and IE 6.0. There are a few common issues that are encountered by users from time to time, particularly users of IE. First of all, if IE has tool bars installed, such as the google tool bar, then requests sent to websites by the toolbars can interfere with recording a test case, essentially confusing the proxy. Additionally, if multiple browser instances are open and they are all configured to point to the proxy, this could cause problems with recording as well. If you are an IE user with one or more toolbars installed, and you really want to keep them, then installing mozilla to use strictly for recording testcases may be a more manageable option.
webtester is finding errors, but I am not receiving the email notifications! This is most likely due to one of two possible configuration errors. First, make sure that the email addresses provided are correct. Additionally, make sure the mail server specified will actually relay messages for you. Webtester uses the JavaMail API (owned by Sun of course) to send email notifications, which means that most likely, if you aren't receiving notifications, it's due to a configuration issue.
Please explain the "statsreporting" configuration value, and its associated functionality! If the "statsreporting" value in the configuration file is set to "YES", then webtester will send basic usage statistics back to the webtester website for later analysis. This functionality only works if specifically enabled by the user, and it does not report any identifying information, such as IP addresses, websites being tested, etc. The information consists of mundane details, like the number of threads, average execution time, etc. The purpose is to direct development based on how the application is being used in the wild.


Need Help? Send an email requesting support