[Qu'est-ce que le sélénium](Qu'est-ce que le #seleniumt) Objectif Préparation [Procédure d'installation](# Procédure d'installation) [Cas de test](#Cas de test) [Exécuter le scénario de test](#Run Test Case)
Selenium est un outil d'automatisation de navigateur. Vous pouvez tester le fonctionnement du site Web en utilisant le navigateur automatiquement.
Introduction du sélénium Java, ouverture de Chrome → transition vers Yahoo News → capturée.
Nom du projet "sélénium"
Java selenium version3.141.59
Dernière édition
Même version que Google Chrome
Téléchargez la dernière version de junit.jar et hamcrest-core.jar depuis Télécharger et installer.

Ajoutez le chemin de construction Java à partir des propriétés du projet sélénium.
 

Vous êtes maintenant prêt.
Je vais en fait le déplacer. Si vous vous référez à cette zone, vous pouvez la déplacer. https://qiita.com/VA_nakatsu/items/0095755dc48ad7e86e2f https://qiita.com/mochio/items/dc9935ee607895420186

Partie de traitement principale. Il hérite de TestSetting.java. Javascript peut être utilisé avec le sélénium.
package test.selenium;
import java.io.IOException;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriverException;
import util.TestUtils;
public class ChromeTest extends TestSetting {
	/**
	 *Processus d'exécution des tests
	 *
	 * @throws WebDriverException
	 * @throws IOException
	 */
	@Test
	public void testChrome() throws WebDriverException, IOException{
		//Créer un dossier d'enregistrement de capture
		String path = TestUtils.mkdir(this.capturePath, "Enregistrer le dossier");
		//Transition vers la page d'actualités YAHOO
		this.driver.get("https://news.yahoo.co.jp/");
		//Transition vers l'écran de la liste des actualités informatiques
		this.driver.findElement(By.cssSelector("#snavi > ul.yjnHeader_sub_cat > li:nth-child(7)")).click();
		//Capturez l'écran
		TestUtils.screenShot(this.driver, path, "Sukusho");
		//Descendre l'écran
		JavascriptExecutor js = (JavascriptExecutor) this.driver;
		js.executeScript("window.scrollBy(0,3000)");
		//Capturez l'écran
		TestUtils.screenShot(this.driver, path, "Après avoir déplacé l'écran");
	}
}
Il fonctionne au début du test, crée un dossier de sauvegarde de capture et ouvre Chrome.
package test.selenium;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.junit.Before;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import util.TestUtils;
public class TestSetting {
	//Emplacement du fichier pour la capture
	protected String capturePath;
	protected WebDriver driver;
	//Opération avant l'exécution du test
	@Before
	public void initSet() throws IOException{
		//Obtenez le chemin du bureau de l'utilisateur en cours d'exécution
		String desktopPath = System.getProperty("user.home") + "\\Desktop";
		//Créez un dossier d'enregistrement de capture sur votre bureau
		this.capturePath = TestUtils.mkdir(desktopPath, "Capturer le dossier de sauvegarde");
		//Passer le chemin du pilote Chrome
		System.setProperty("webdriver.chrome.driver", "./exe/chromedriver.exe");
		//Remplacez la destination de téléchargement par le dossier spécifié
		Map<String, Object> dir = new HashMap<String, Object>();
		dir.put("download.default_directory", this.capturePath);
		ChromeOptions option = new ChromeOptions();
		option.setExperimentalOption("dir", dir);
		//Lancer chrome
		this.driver = new ChromeDriver();
		//Agrandir la fenêtre
		this.driver.manage().window().maximize();
	}
	//Fonctionnement après l'exécution du test
	@After
	public void yeild() throws IOException{
		//Fermer chrome
		this.driver.quit();
	}
}
Traitement de capture d'écran et traitement de création de dossier de capture
package util;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.Augmenter;
public class TestUtils {
	/**
	 *Capture d'écran de la partie d'affichage
	 *
	 * @param driver
	 * @param path
	 * @param filename
	 * @throws IOException
	 */
	public static void screenShot(WebDriver driver, String path, String filename) throws IOException{
		driver.manage().timeouts().implicitlyWait(30,  TimeUnit.SECONDS);
		driver.switchTo().defaultContent();
		TakesScreenshot ts = (TakesScreenshot) new Augmenter().augment(driver);
		Path from = Paths.get(ts.getScreenshotAs(OutputType.FILE).toURI());
		Path to = Paths.get(path + "\\" + filename + ".png ");
		Files.move(from, to, StandardCopyOption.REPLACE_EXISTING);
	}
	/**
	 *Créer un dossier pour la capture à l'emplacement spécifié
	 *
	 * @param dirpath
	 * @param dirname
	 * @return
	 * @throws IOException
	 */
	public static String mkdir(String dirpath, String dirname) throws IOException{
		String path = Paths.get(dirpath, dirname).toString();
		if(Files.notExists(Paths.get(dirpath,  dirname))) {
			Files.createDirectories(Paths.get(dirpath, dirname));
		}
		return path;
	}
}
Lorsque vous exécutez ChromeTest.java à partir de "Exécuter" -> "JUnit Test", Chrome démarre et un dossier d'enregistrement de capture est créé sur le bureau et celui capturé est enregistré.
