Récupérer des résultats d'un test de charge
Hello à tous,
Je sais, un seul billet en 3 mois, c'est pas énorme, mais je compte bien y remédier, et je commence de suite :-)
Vous le savez certainement les résultats d'un test de charge effectué avec Visual Studio (2005/2008) Team Test peuvent être sauvegardés pour être consultés ultérieurement. Les informations contenant ces résultats sont stockés à la fois dans une base SQL Server et dans un fichier XML d'extension .trx contenant des informations complémentaires.
Imaginons la situation suivante : vous effectuez un test de charge à partir de votre machine et vous voulez transmettre les résultats à un ami/collègue pour qu'il puisse les consulter. Vous lui donnez la solution contenant les tests ainsi que les .mdf et .ldf de la base de données et les fichiers trx. Il monte la base de données dans un SQL Server local, il configure le Test Controller pour qu'il utilise la bonne chaîne de connexion, il charge le fichier .trx et il se retrouve nez à nez avec un magnifique message d'erreur :
"Could not read result repository: Could not access the load test results repository: Une erreur s'est produite lors de l'établissement d'une connexion au serveur. Lors de la connexion à SQL Server 2005, cet échec peut être dû au fait que les paramètres par défaut de SQL Server n'autorisent pas les connexions à distance. (provider: Interfaces réseau SQL, error: 26 - Erreur lors de la localisation du serveur/de l'instance spécifiés)"
Malgré l'effort visible de messages d'erreur apparement issus de source différentes, on peut avoir du mal à trouver l'origine du problème instantanément...
La raison est en fait la suivante:
La chaîne de connexion définissant le repository est encryptée et stockée dans le champ XML "resultsRepositoryConnectString" de la balise <LoadTestResult ... /> des fichiers .trx. Elle est générée lors du test et correspond donc au informations de connexion à la source de données sur la machine de test.
La solution que je vous propose est la suivante. Sur la machine d'où vous voulez consulter les résultats et dans la solution utilisée pour les tests :
- Configurer la chaîne de connexion correcte au niveau du Test Controller
- Créer un faux test de charge (Un webtest sur un petit fichier html local dans un LoadTest)
- L'exécuter et l'arrêter dès que possible (choisir d'enregistrer les résultats)
- Ouvrir le fichier .trx généré, copier la valeur du champ "resultsRepositoryConnectString"
- Ouvrir le fichier .trx que vous voulez consulter, remplacer la valeur du champ "resultsRepositoryConnectString" avec celle du .trx qui vient d'être générer
- Charger le fichier corrigé dans Visual Studio et le tour est joué !
C'est un peu fastidieux à mettre en oeuvre et si quelqu'un à une autre solution, qu'il n'hésites pas à l'indiquer en commentaire !
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :