J'ai réussi à exécuter un script de test (javascript) en utilisant WebDriver Sampler dans JMeter avec Firefox Driver Config. Je souhaite maintenant utiliser la configuration du pilote Chrome de JMeter pour exécuter le même test dans Chrome.JMeter WebDriver Sampler: travailler avec Firefox mais le navigateur ne s'ouvre pas lorsque vous utilisez Chrome
Je sais que le pilote Chrome que j'ai installé sur mon PC fonctionne comme je l'ai utilisé avec succès pour exécuter d'autres tests (non-JMeter). Le chemin vers le pilote Chrome est également correct.
Mon site n'utilise pas de proxy, j'ai donc sélectionné "No Proxy" dans l'onglet "Proxy" de la configuration du pilote Chrome.
Problème: Lorsque je clique sur « Exécuter » dans JMeter avec le pilote Firefox Config désactivé et le pilote Chrome Config activé, rien ne se passe (navigateur ne se ouvre pas, le test se termine rapidement et rien est enregistré dans la « Voir les résultats Arbre "auditeur". J'utilise la version 3.1 de JMeter, la version 60.0.3112.101 de Chrome et la version 2.31 de ChromeDriver.
Mon code ressemble à ceci dans le cas qui aide:
var pkg = JavaImporter(org.openqa.selenium); //WebDriver classes
var pfg = JavaImporter(org.openqa.selenium.Keys); //WebDriver classes
var support_ui = JavaImporter(org.openqa.selenium.support.ui.WebDriverWait);
var wait = new support_ui.WebDriverWait(WDS.browser, 5000);
var username = WDS.args[0];
var password = WDS.args[1];
var docNo = WDS.args[2];
WDS.sampleResult.sampleStart();
WDS.sampleResult.getLatency();
WDS.log.info("Sample started");
WDS.browser.get('blah blah blah');
var usernameBox = WDS.browser.findElement(pkg.By.id('TextBoxCustomer'));
var passwordBox = WDS.browser.findElement(pkg.By.id('PIN'));
var loginBtn = WDS.browser.findElement(pkg.By.id('btnLogin'));
usernameBox.click(); //click on User ID textbox
usernameBox.sendKeys([username]); //enter User ID
passwordBox.click(); //click on Password textbox
passwordBox.sendKeys([password]); //enter password
loginBtn.click(); //click Login button
java.lang.Thread.sleep(5000);
//Check that "Home" page has been reached by verifying presence of "News
Header"
try {
wait.until(conditions.presenceOfElementLocated(pkg.By.id('ct100_CP1_ctlNewsMessa
geList_NewsHeader')));
}
catch (Exception) {
WDS.sampleResult.sampleEnd();
WDS.sampleResult.setSuccessful(false);
}
//Navigate to "Invoice PDFs" screen
var accountMnu = WDS.browser.findElement(pkg.By.xpath("//[contains(text(),'Account')]"));
accountMnu.click();
var InvPDFSubMnu = WDS.browser.findElement(pkg.By.xpath("//*
[contains(text(),'Invoice PDFs')]"));
InvPDFSubMnu.click();
java.lang.Thread.sleep(5000);
try {
wait.until(conditions.presenceOfElementLocated(pkg.By.id('ctl00_CP1_tbDocNo')));
}
catch (Exception) {
WDS.sampleResult.sampleEnd();
WDS.sampleResult.setSuccessful(false);
}
//Enter document number
java.lang.Thread.sleep(5000);
var docNoBox = WDS.browser.findElement(pkg.By.id('ctl00_CP1_tbDocNo'));
docNoBox.click(); //click on "Doc Bo." textbox
docNoBox.sendKeys([docNo]); //enter Doc No.
java.lang.Thread.sleep(5000);
//Retrieve document with specified document number
var retrieveBtn = WDS.browser.findElement(pkg.By.id('ctl00_CP1_btnRetrieve'));
retrieveBtn.click();
try {
wait.until(conditions.presenceOfElementLocated(pkg.By.xpath("//*[contains(text(),'download')]")));
}
catch (Exception) {
WDS.sampleResult.sampleEnd();
WDS.sampleResult.setSuccessful(false);
}
java.lang.Thread.sleep(5000);
//Click on "download" button
var downloadBtn = WDS.browser.findElement(pkg.By.xpath("//*[contains(text(),'download')]"));
downloadBtn.click();
WDS.sampleResult.sampleEnd();