[ptt-users] Solution to testmaker recorder slowness problem?

Frank Cohen fcohen at pushtotest.com
Fri Jan 12 10:33:23 PST 2007


Hi Geoff: Thanks for the research. TestMaker uses a branch of the  
MaxQ proxy recorder. MaxQ sets up a proxy to watch for HTTP traffic.

The branch of the MaxQ code is part of the tm44 repository in  
cvs.pushtotest.com. The bit of code that handles the transfer size is  
in  com.bitmechanic.maxq.RequestHandler. There's no real support for  
chucked transfers. If there is no content-length header then it just  
keeps reading and forwarding bytes as long as the stream stays open.

We're planning to add HTTPS support to the proxy recorder in  
TestMaker 5. I'm going to do some research on this to see what should  
be done to better support checked transfers. I'll also ask the MaxQ  
group, although they've been dormant for a long time.

-Frank


On Jan 12, 2007, at 9:25 AM, Geoff Meakin wrote:

> Hi Frank,
>
> I was mucking around with both testmaker and my own proxy server
> recently, and noticed a problem which may ring a bell with you or  
> not...
>
> I don't really know how testmaker's proxy works, but if a server  
> returns
> a header:
>
> Transfer-encoding: chunked
>
> But the proxy itself sends back unchunked data, then the browser  
> will be
> very slow in a HTTP/1.1 type keep-alive connection.
>
> (Because the browser expecting chunked information and not getting  
> it so
> keeping the connection open even if the server specifies Connection:
> close)
>
> If none of that makes sense then don't worry, I fixed mine by
> intercepting transfer-encoding: chunked and changing it to a
> Content-Length declaration instead.
>
> Cheers
> -Geoff
>
>
>
> -----Original Message-----
> From: users-bounces at lists.pushtotest.com
> [mailto:users-bounces at lists.pushtotest.com] On Behalf Of Frank Cohen
> Sent: 11 January 2007 18:53
> To: TestMaker users list
> Subject: [ptt-users] Please vote on TestMaker 4.4.1 release
>
> So far, the response to the maintenance release has been positive.
> Would you please vote on releasing it. Thanks for everyone's help on
> this. -Frank
>
>
> ---
>
> A maintenance release of TestMaker 4.4.1 is now available for
> download at:
>
> http://downloads.pushtotest.com/TestMaker441.zip
>
> Please download it and look for problems, documentation bugs, and
> other issues. Please then let us know if you think this build is
> ready for release. We would ideally like to make this release general
> available in the coming week.
>
> Below is a list of changes in the new 4.4.1 distribution:
>
> - TestMaker 4.4.1 requires Java 1.5 or greater. We have started to
> use generics in the source and that causes the requirement. Please
> give us feedback on this decision. If it is a real pain to require
> Java 1.5 then we could back out these changes and save the Java 1.5
> requirement for TestMaker 5 (which comes out later this year.)
>
> - WebObjects and Microsoft IIS users have occassionally found these
> servers returning HTTP redirect response codes with a relative URI.
> RFC 2116 section 14.30 requires the location header to be an absolute
> URI. According to the RFC relative URIs must only be sent using the
> META refresh tag. The TestMaker team does not want TestMaker to be a
> traffic cop for implementations of RFC 2116. So TestMaker 4.4.1
> HTTPProtocol has a special check for the relative URI on redirect
> (HTTP response code 302) and adds the domain name itself from the
> original POST. TestMaker scripts must use the
> http_protocol_handler.connect(1) form to follow redirects. Recorded
> scripts do not automatically add the (1) parameter. Thanks to Aaron
> Romeo, Dominique de Waleffe, and Kevin Dyer for participating in
> developing the solution.
>
> - TestMaker.sh and TestMaker.bat are start-up shell scripts for
> TestMaker on Unix/Linux and Windows operating systems. These scripts
> build a classpath for TestMaker. Previous versions used external
> scripts in the util directory to build the complete classpath. On
> Windows NT and 2000 operating systems this caused a "script too long"
> exception. TestMaker 4.4.1 builds the classpath in the TestMaker.bat
> and TestMaker.sh scripts directly. Thanks to Aaron Romeo for pointing
> out the problems and recommending a solution.
>
> - Scripts using TestMaker_home/lib/agentbase.py would throw a
> NullPointerException if there were no return parameters in a GET or
> POST command. Thanks to Todd Bradfute for a patch that solves this
> problem.
> Scripts using agentbase.py to check links to image tags would throw a
> "Has no attribute 'handler'" exception when an exception was
> encountered. Thanks to Todd Bradfute for a patch that solves this
> problem.
>
> - Long running XSTest operations may run out of memory. HTTPProtocol
> has a URLlist that grows while the test runs to keep track of URLs
> and redirected URLs. TestMaker 4.4.1 changes agentbase.py to call the
> HTTPProtocol clearURLlist() method in the config() method. That way
> the list is reset each time the test's setUp() method is called.
> Thanks to Carl Herder for pointing out the problems and recommending
> a solution.
>
> - agentbase.py has a new feature to control the content type of a
> http-post, and also post a pure value as well as key=value.  The post
> method takes an additional optional parameter to set the content-type
> of the post. For instance, post( url, params, 'application/x-www-form-
> urlencoded' ). Thanks to Geoff Meakin (geoffm at gamesys.co dot uk)
> for the contribution.
>
> -Frank
>
> --
> Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 374 7426
> TestMaker: The open-source SOA test automation tool
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.pushtotest.com
> http://lists.pushtotest.com/mailman/listinfo/users
> _______________________________________________
> Users mailing list
> Users at lists.pushtotest.com
> http://lists.pushtotest.com/mailman/listinfo/users
>



More information about the Users mailing list