We are developing a load test with XLT for a Single-Page-Application. The tests work as follows: Log in to application, do some test steps, log out. For nearly each click in the application, a POST request to a certain resource A is sent (think of AJAX). Some request result in a change of the UI. There are also some long-polling post requests (to A?poll). But there is no page load and no GET request for intermediate test steps.
The problem now is that nearly all requests which occur for intermediate test steps are recorded for the logout action. Only very few requests are recorded for intermediate test steps. We traced this back to the timers.csv. It is not an issue of our report rules.
Now the question is: What makes XLT assign requests to an action?
(We tried calling stopAction() in-between, it didn't have any effect.)
We have a hypothesis: XLT logs the request times for an action only if there are no unfinished requests at the time an action stops. In our application, the long-polling-background task is often running at the end of an action. And maybe this is the reason that the other requests are not logged at that time.
When the user logs out, the long polling is stopped immediately and all requests which have been fired before are associated with the logout action.
Or is it a problem that we only have POST requests in the interesting test steps?
I would have expected that requests are logged at the time the browser receives a server response for the current action. But this does not seem to be the case.
Is this a bug or a feature? How can I influence the logging of request times to be associated with certain actions?
(Using XLT 4.11.0, Firefox 61)