How to Automate Testing of this type of Web Application?
I have a web application which i would like to automate the testing for functional as well as load testing. However , it has the following features which i feel will hinder the most common automation tools from functioning. The web application throws a SSL client authentication prompt in the login page after clicking on Submit button where i need to choose the appropriate certificate for the user to login. In form pages , once again , the form data is signed using an ActiveX control or a firefox addon , which will throw a prompt similar to the SSL client authentication prompt from which the user selects his key to sign the data beofre submitting to the server. Is it possible to automate the user activity in this application from user login , few page traversals, a form submission with the signing and logout . How can this be done ?[Tools etc]. If this is possible , then will i be able to scale this activity to say 100 users at the same time ?
Laycee last edited by
For functional testing, you should have no difficulty with automation. The SSL client authentication prompt is simply another element of a web page, as is the signed control. You will likely need different code for the ActiveX control vs the Firefox add on and include logic to determine which path your functional automation follows. The certificate to select and the key to sign with would both be test data, stored with your user credentials so that your automation knows which user is logged in and selects the appropriate certificate and key based on the logged in user. You should be able to do this with most functional testing tools. Load testing is a little more complex since you will want that to use different users working concurrently and load testing typically does not run via the functional interface: the usual method is to record a sequence of actions and then have the http/https gets and posts replayed from multiple hosts. You'll need a load test tool that supports SSL (some do this better than others - someone with more experience in load testing than me will need to supply details) and which allows you to set different credentials and selections for your different users. Depending on your scenario, you may also want to define different actions for different users to give a more representative loading. You'll also want to be able to define ramp in rather than have all your users all performing the same action at the same time. I'd suggest investigating some of the cloud-based tools for this, as you can build small runs quite cheaply and scale up without needing to invest heavily.