Hi all,
The last few days I've committed a bunch of code. It essentially
boils down to two things:
1. The proxy server is now integrated with JMeter's UI. There is
documentation about how to use it (/docs/user_manual/proxy_server.html).
2. I've made a new type of SamplerController called a ModificationManager.
The modification manager takes Modifier and ResponseBasedModifier objects as
config elements which allow it to act as a filter for any Entry object that
passes through it. The ModificationManager is itself a listener to the
testing engine, so it receives SampleResult objects, and this allows the
ModificationManager to use the response text from the server to modify the
Entry objects that pass through. I've made one ResponseBasedModifier that
parses HTML using JTidy for anchor tags and for forms. It will use this
information to modify UrlConfig test samples that come through, treating the
data within the UrlConfig object as regular expressions. It's a little
complicated, and I will put together some documentation soon for it, but it
allows a user to tell JMeter how to react to the server response.
Additionally, this also provides a nice framework for other Modifier objects.
Jamie Davidson is one developer I know of who has created such things to
generate test samples on the go - sometimes using random data to fill in
UrlConfig objects. This framework would allow such a developer to simply
create a Modifier implementing class (use
org.apache.jmeter.protocol.http.modifier.AnchorModifier as an example) and
immediately put it to use. Not that AnchorModifier extends
AbstractConfigElement, because that's the easiest way to get all the extra
goodies we want from JMeter components (saveable, automatic integration with
the UI, etc).
So check it out and play around. I will try to generate some example .jmx
files to demonstrate how I see this functionality being used.
--
Mike Stover
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]