We do this with a custom client application and ignore the browser altogether.
When I say "ignore", it's easy enough to measure how long it takes for a browser to render a given page. We have a client-side Stopwatch class that uses (new Date()).valueOf() values to collect timing information around AJAX requests that begin with the intiation of the (asynchronous) AJAX request and are stopped when the request has been serviced and the results processed.
As any given browser will only ever be issuing one (or maybe two) requests at a time the load test of the browser isn't really relevant. Once you have the time the browser is going to consume you know how much of your 10 seconds you can allocate for network transmission and server processing time.
For network transmission time we work out how much data we're serving and how long that will take to download over a 128k connection. That's our assumption, feel free to use your own.
That then gives us an idea of how long the server can take to process each request.
To test the server we have a custom C# load generation application. This load generation tool is pretty trivial to write, you can do it in a couple of days. You configure it up with a thead pool to generate "x" users, create a set of test scenarios (ie: the sequence of AJAX requests a typical user will make, using these parameter sets to call the AJAX services on yuor server) and let it go, measuring the response time for each request and reporting the results (ie: min time, max time, average, median, etc.). You can run this load generation application on as many workstations as you have access to.
If you wanted to get sophisticated you could allow the load generator to use the performance measurements to scale back the number of users it is emulating until it is reliably under your target response times.
And then you will know exactly (well, you'll have a pretty good idea) how many users a given server can support!
It is also worth keeping track of the server statistics at the same time as you are running these load tests as you'll start seeing which server resources are being consumed first and give you an indication of what you need to tune in order to get your processing time down. eg: More memory, more worker processes, more CPUs, database locking contention, a database index, etc.