Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Introduction à Selenium | Automatisation du Navigateur avec Selenium
Introduction aux Tests d'Automatisation QA

book
Introduction à Selenium

Jusqu'à présent, nous écrivions des tests unitaires pour tester la fonctionnalité des unités de code, cependant, pour tester des fonctionnalités plus larges comme le système de connexion et d'enregistrement, nous ne pouvons plus utiliser les tests unitaires, car ce n'est plus une seule unité, mais plutôt une combinaison de plusieurs unités et composants du programme travaillant ensemble pour former une fonctionnalité.

Une façon de tester des fonctionnalités comme le système de connexion est d'utiliser manuellement le site web et de vérifier les résultats ; cependant, cela serait considéré comme un test manuel. Il existe des outils qui nous aident à automatiser les navigateurs et à effectuer diverses opérations comme visiter le site web, saisir des données et interagir avec des éléments. Ces outils peuvent être utilisés avec un cadre de test comme Jest ou Mocha, pour effectuer de tels tests.

La vidéo suivante présente l'un de ces outils ainsi qu'un tutoriel sur la façon de l'intégrer à notre application Node.

Code

Notez qu'il n'est pas important d'analyser et de comprendre le code utilisé dans ce chapitre. La plupart des fonctions et méthodes de ce code seront explorées dans les chapitres à venir.

js
const { Builder, By, Key, until } = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');
const path = require('path');

// Helper function to wait for a specified number of milliseconds
const sleep = (milliseconds) => {
return new Promise(resolve => setTimeout(resolve, milliseconds));
};

(async () => {
let chromeDriverPath = path.resolve('path/to/webdriver.exe');

let service = new chrome.ServiceBuilder(chromeDriverPath);

let options = new chrome.Options();
options.addArguments('--disable-search-engine-choice-screen');
options.addArguments('--lang=en-GB');

let driver = await new Builder()
.forBrowser('chrome')
.setChromeService(service)
.setChromeOptions(options)
.build();

try {
await driver.get('https://www.google.com');

let btn_xpath = '/html/body/div[2]/div[2]/div[3]/span/div/div/div/div[3]/div[1]/button[2]'
await driver.wait(until.elementLocated(By.xpath(btn_xpath)), 5000);
let button = await driver.findElement(By.xpath(btn_xpath));
await button.click();

let searchBox = await driver.findElement(By.name('q'));
await searchBox.sendKeys('cats', Key.RETURN);

await driver.wait(until.elementLocated(By.linkText('Images')), 5000);

let imagesLink = await driver.findElement(By.linkText('Images'));
await imagesLink.click();

await sleep(10000);
} finally {
await driver.quit();
}
})();

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 1

Demandez à l'IA

expand
ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt