The documentation provides a succinct example, and one that looks like it's missing a hop/pair anyway. When I set up a script to access a remote server and pattern my NTLM communication similarly, I get the following output:
All clients connected, Test beginning.
Invalid code received.
Error accepting remote connection.
message: Run error detected, terminating clients...
message: Terminating all instances of wcclient...
Connecting to:

My scenario works just fine when I comment out the 3 NTLM centric lines. It fails when they are uncommented. The WCAT client is able to parse the scenario, but I've not actually dug into the parsing mechanism yet to see whether it's parsing correctly.

(I've already fixed the bug that prevents connection from multiple remote clients, but there may be more.)

Here's the pertinent part of the scenario:

        url         = "http://weatherforecast-d/";
        statuscode  = 401;

               // problems begin here...
          authentication = "ntlm";
          username = "my username";
          password = "my password";
        statuscode  = 200;

If anyone has a running, functional example of a WCAT NTLM script, I'd be much obliged. Thank you.

I've cleaned up the logging in wcat.wsf and done numerous comparisons. There's got to be a better way to do this, but I don't know it.

  • "authentication" parses while other parm names do not
  • "username" and "password" don't cause fatal errors on their own
  • If I comment out the single parm line "authentication" the test runs
  • If I uncomment the same line it errors fatally
  • The script output is exactly the same up until the failure
  • basic or ntlm result in the same failure, as does any garbage text

The problem seems to be hidden deep in the wcclient. I guess I'll have to start looking for another product.


The error is in the documentation:

authentication = "ntlm";

Should be:

authentication = NTLM;

The parameter is not a dynstring, but a KEYWORD. The quotes throw the parser off the scent.

I'll mark this as answer, since it is, but I still have an issue. At present I cannot find the exactly correct recipe for teaching WCAT to recognize the 401 and 200 responses from the server. It recognizes some of the 401s and some of the 200s, but I cannot combine the right number of queries in any right combination to cause it to recognize everything.

  • Have you since then found a valid combination to the 401 200 response problem – ms007 Jan 23 '13 at 11:20
  • 1
    I've mostly given up on WCAT. For quick loads I use TinyGet and for real testing we use Loadrunner. So many apps are now too complex for WCAT, so the whole problem lost its value. – codepoke Jan 23 '13 at 18:39
  • +1 for recommending TinyGet. Never heard of that. Thx – ms007 Jan 31 '13 at 10:43

I also got the same error when I put port outside of the request to transaction. The error disappeared once port became a part of the request.

  • You're listening on non-standard ports, right? Explictly specifying 80 on normal requests wouldn't make any errors go away, I assume. – codepoke Oct 20 '10 at 17:16

Your Answer

