We are primarily testing APIs but also testing the UI in some cases. In my last job, I also developed a plugin to enable NeoLoad to measure the end-user experience. If you have a modern web application, you usually only exchange JSON files between the client and the server. On the client side, you will render the JSON information to an HTML side or a dynamic DOM structure.
NeoLoad is used for testing the response time, which is not the same as the time it takes for the user to see the page. When the JSON document arrives on the client side, the client has to render the information. If you are considering the user experience from the end user's perspective, you are not interested in how long it takes to get the JSON. You want to know how long it will take to get the JSON and see the information on the page.
NeoLoad can't do this because it does not render the data from the server. The browser engine uses considerable RAM, so we cannot simulate many users simultaneously. We enabled NeoLoad to control a typical test. For example, a QF Test like Robot Framework tests the web UI. It starts and renders the application to measure how long it takes to see some special information on the page.
These response times are fed into NeoLoad through a data exchange API, enabling us to visualize the actual user experience inside NeoLoad. That's NeoLoad's primary advantage. It has incredible APIs to implement special additional features or plugins you need for special applications.
I basically agree with this review. The 'Other Advice' is one of the most valuable parts. Whatever you are using, you need to understand what you are doing. A representative load test environment and sufficient coverage of the application being tested are often ignored, producing test results that will not predict the performance of your production environment.