0

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(); 

Répondre

0

Il semble que la solution était que, dans l'onglet "Path to Chrome Driver" (sous le "Chrome" du « jp @ gc - "Chrome Driver Config" élément) J'avais besoin de terminer le "chemin" avec "\ chromedriver.exe".