Si vous regardez les outils, tels que Load Runner ou Jmeter, de test de charge de serveur web classique, vous remarquerez un modèle de conception de base pour recréer des gros volumes de trafic web. Avec ces outils un programme multi threaded ouvre des sockets TCP et place (via des appels d'API) requêtes HTTP directement sur ces prises. De cette façon, le volume requis de trafic HTTP peut être simulé sans les frais de fonctionnement des navigateurs web. Généralement environ 500 dites « utilisateurs virtuels » peuvent être simulées d'un PC Pentium 4 avec environ 1 Go de RAM. Si les « vrais navigateurs » devaient être exécutés en parallèle sur le même équipement seulement environ 6 navigateurs peuvent être simulés. Pour ces raisons, l'approche de recréer le processus multi-threads, l'appel d'API, le trafic HTTP est resté populaire pendant les 15 dernières années ou ainsi.
Bien que le HTTP approche axée reste populaire aujourd'hui, il est apparu une autre approche alternative viable pour simuler des gros volumes de trafic web, et cette approche implique l'exécution de plusieurs navigateurs « sans tête » en parallèle pour recréer le trafic d'un navigateur web requis pour le serveur web de test de charge.
Le navigateur « sans tête » de terme se réfère à un navigateur web entièrement fonctionnel, en ce qui concerne les API nécessaires pour communiquer avec le serveur web, mais sans la partie interface graphique utilisateur. Il y a un certain nombre de navigateurs sans tête librement disponibles (p. ex. HTMLUNIT et PhantomJS), et ceux-ci peuvent tous être par programme branchés pour interagir avec le serveur web de la même façon, qu'un vrai navigateur serait. Tandis que ces navigateurs n'ont pas une interface graphique, ils sont extrêmement utiles pour l'envoi de requêtes à un serveur Web afin d'analyser les résultats pour capture d'écran, de surveillance de réseau ou d'automatisation de la page général.
Sélénium WebDriver est un outil automatisé de test « fonctionnel » qui peut simuler les actions de l'utilisateur sur un navigateur web comme Firefox ou Internet Explorer. Sélénium peut aussi simuler les actions contre HTMLUNIT. Compte tenu de la ressource empreinte (CPU et mémoire) de HTMLUNIT est beaucoup moins qu'un navigateur traditionnel plusieurs instances (exécutés comme fils) de sélénium piloté par navigateurs HTMLUNIT peuvent être exécutées sur un seul ordinateur pour générer du trafic web pour un serveur web de test de charge. En général, environ 25 navigateurs sans tête peuvent être branchés d'un Pentium 4 PC avec 1 Go de ram. De cette façon, environ 500 « utilisateurs virtuels » peuvent être simulées avec 25 technique de PC (ou ordinateurs virtuels), ce qui en fait de conduire le trafic web serveur viable pour beaucoup de projets de test de charge.
Afin d'exécuter plusieurs instances de sélénium WebDriver en utilisant la technique sans tête un multi fileté Java framework est requis. À cet effet soit Jmeter ou The Grinder charge open source infrastructures de test suffira.
Bien que ne pas adapté pour la simulation de très gros volumes de trafic web l'approche du navigateur sans tête doivent tenir compte dans le cas contraire, il serait difficile de recréer le trafic nécessaire à l'aide de pilotes HTTP. Situations où la charge de navigateur sans tête, approche de la conduite est avantageuse inclut des pages web qui utilisent la réécriture d'url pour la gestion des sessions ou où la simulation de trafic précis est nécessaire. L'approche du navigateur sans tête recréera le trafic web est plus proche du trafic d'un vrai navigateur, que celle générée par les cadres traditionnels du pilote HTTP.