Je travaille avec Selenium afin de créer des tests d'équilibrage de charge sur un serveur web. Le site Web a un nom d'utilisateur/mot de passe et afin de travailler avec ceci j'ai un dossier de csv rempli des combinaisons de mot de passe de nom d'utilisateur. Le problème est que j'utilise la fonction aléatoire dans Javascript pour sélectionner une ligne du fichier csv et remplir la fonctionnalité de connexion ou les détails d'enregistrement.Selenium avec BrowserMob.com
var csv = browserMob.getCSV("pickStickEmails.csv");
var row = csv.random();
var Email = row.get("email");
var Password = row.get("password");
selenium.type("ctl00_StandardMainBodyPlaceHolder_ctl00_TextBoxEmail", Email);
selenium.type("ctl00_StandardMainBodyPlaceHolder_ctl00_TextBoxEmailConfirm", Email);
selenium.type("ctl00_StandardMainBodyPlaceHolder_ctl00_TextBoxPassword", Password);
selenium.type("ctl00_StandardMainBodyPlaceHolder_ctl00_TextBoxPasswordConfirm", Password);
Cela soulève évidemment des problèmes lors de l'enregistrement si le même enregistrement est sélectionné deux fois au cours d'une exécution planifiée. Évidemment avec la situation de connexion si un enregistrement n'est pas sélectionné lors de l'enregistrement et est ensuite sélectionné sur un test qui nécessite un compte existant, le test échoue car il n'existe pas.
Ma question est, est-il possible de faire en sorte que browserMob parcoure les enregistrements un à la fois? De toute évidence, lorsque browserMob commence un test de charge, il augmente jusqu'à 10 utilisateurs utilisant le site Web à la fois chaque exécution du script je suppose?
J'ai écrit le test avec Selenium-RC en C# avec NUnit et j'ai lu le fichier csv dans une liste, puis itéré dans la liste. Évidemment, cela entraîne chaque utilisateur après l'autre et ne simule pas plusieurs utilisateurs sur le site en même temps.
Un conseil à ce sujet serait grandement apprécié.
Merci,
Jon
J'ai regardé la documentation de BrowserMob et ils utilisent cette fonction pour référencer un tableau: var usernames = ['joe', 'meg', 'pat', 'chris', 'rob', 'beth']; var username = noms d'utilisateur [browserMob.getUserNum()]; Il semble que le long des lignes droites cependant var row = browserMob.getUserNum() n'a aucune référence à la variable CSV créée sur la ligne avant de signifier qu'il ne sélectionne rien. J'ai essayé de passer le fichier csv comme argument à getUserNum, et csv.getUserNum à la fois en vain aucune idée? –