I've been working on automating captures of e2e test cases for use in load
testing of our upcoming product line. Getting a recording without the use of
GUI has been pretty awful, but I've managed to reach parity with the manual
recordings one of our QAs has been getting (mostly).
Unfortunately, we need some information from responses at the time of recording.
Through a lot of mucking about in the GUI, I discovered I can add a
SimpleDataWriter as the child of a ProxyControl and capture the responses of a
recording [0] in an XML file. But how do I represent this relationship in
code? The API is rather opaque, and the relationship between
AbstractVisualizer, Result(Collector|Saver|Renderer), et al is unclear even
after digging into the source for a while. I can:
SimpleDataWriter writer = new SimpleDataWriter();
writer.setEnabled(true);
writer.setFile("/tmp/response.xml");
...easily enough, but I'm lost on how to properly bind that to my ProxyControl
and how to make it spit a file out. (Preferably without having to stop the
recorder like with the GUI.)
Alternatively, is there a better way to get the response header and data out of
the ProxyControl? It seems like there's some intent to be able to get the
response while doing traversal of the ProxyControl.target to build the final
test plan: ProxyControl.deliverSampler() docs have a TODO about adding a
serverResponse parameter. But that's been there for a while.
Cheers,
Wyatt
PS: Sorry about the overly-large footer our MTA adds. I can't stop it. orz
[0] Found a funny bug where this only works once per writer; have to make a new
one if you want to do more.
Confidentiality Notice: This electronic message transmission, including any
attachment(s), may contain confidential, proprietary, or privileged information
from Chemical Abstracts Service ("CAS"), a division of the American Chemical
Society ("ACS"). If you have received this transmission in error, be advised
that any disclosure, copying, distribution, or use of the contents of this
information is strictly prohibited. Please destroy all copies of the message
and contact the sender immediately by either replying to this message or
calling 614-447-3600.