Java utiliza selenio para implementar la búsqueda automatizada de Chrome, Firefox e IE con afirmaciones

Primero crea un proyecto Maven

Agregue pom.xml, este es el último paquete de dependencia de Maven para selenio

<dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
      <version>4.0.0-alpha-5</version>
    </dependency>

A continuación, descargue el controlador de selenio requerido por los 3 navegadores

Inserte la descripción de la imagen aquí
He descargado el controlador más reciente aquí , siempre que todas las versiones del navegador estén actualizadas ; puede hacer clic aquí para descargar los tres si los necesita.
Enlace: https://pan.baidu.com/s/18M1Fya1ZJbEpy0SskI9nqQ código de extracción: 0naa
Si no desea descargar, hay un segundo método, siempre que el navegador tenga este complemento de selenio (solo Google y Firefox, IE no tiene ningún complemento) Y Google también debe tener una cuenta para abrir la tienda en línea de Google, como se muestra a continuación:
Inserte la descripción de la imagen aquí

Primero, el código de implementación de Chrome

import org.junit.Assert;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class Chrome_Browser {
    @Test
    public void f() throws InterruptedException {
        //写代码操作浏览器,模拟人工测试:api
//        System.setProperty("webdriver.chrome.driver", "src/main/resources/chromedriver.exe");
//      1、  创建一个Chrome驱动
        WebDriver driver = new ChromeDriver();
//        2、输入百度网站进行访问
        driver.get("http://www.baidu.com");
//      3、找到百度输入框(元素定位,定位一个元素)
//        根据id去找  kw
        WebElement input = driver.findElement(By.id("kw"));
//        说明确实找到这个输入框
        System.out.println(input.getAttribute("maxlength"));
//        4、往输入框输入关键字
        input.sendKeys("CSDN");
//        5、点击百度一下
        WebElement searchButton = driver.findElement(By.id("su"));
        searchButton.click();
        //绝对路径
//        driver.findElement(By.xpath("/html/body/div[1]/div[1]/div[3]/div/div/form/span[2]/input")).click();
        //相对路径
        driver.findElement(By.xpath("//*[@id=\"su\"]")).click();

//        获得输入框的value值
        String actualkeywords = driver.findElement(By.id("kw")).getAttribute("value");
        System.out.println("输入框的值:" + actualkeywords);
// 		断言: 验证结果符合我的预期,符合就不打印;不符合,就把不同结果打印出来
        Assert.assertEquals("CSDN", actualkeywords);
        //  等待时间 3秒
        Thread.sleep(3000);
        //退出浏览器
        driver.quit();
    }
}

Segundo, el código de implementación de FireFox

import org.junit.Assert;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class FireFox_Browser {
    @Test
    public void f() throws InterruptedException {
        //写代码操作浏览器,模拟人工测试:api
//        System.setProperty("webdriver.firefox.driver", "src/main/resources/geckodriver.exe");
//        1、firefox驱动
        WebDriver driver = new FirefoxDriver();
//        2、输入百度网站进行访问
        driver.get("http://www.baidu.com");
//      3、找到百度输入框(元素定位,定位一个元素)
//        根据id去找  kw
        WebElement input = driver.findElement(By.id("kw"));
//        说明确实找到这个输入框
        System.out.println(input.getAttribute("maxlength"));
//        4、往输入框输入关键字
        input.sendKeys("CSDN");
//        5、点击百度一下
        WebElement searchButton = driver.findElement(By.id("su"));
        searchButton.click();
        //绝对路径
//        driver.findElement(By.xpath("/html/body/div[1]/div[1]/div[3]/div/div/form/span[2]/input")).click();
        //相对路径
        driver.findElement(By.xpath("//*[@id=\"su\"]")).click();

//        获得输入框的value值
        String actualkeywords = driver.findElement(By.id("kw")).getAttribute("value");
        System.out.println("输入框的值:" + actualkeywords);
////        验证结果符合我的预期,符合就不打印;不符合,就把不同结果打印出来
        Assert.assertEquals("CSDN", actualkeywords);
//        等待时间 3秒
        Thread.sleep(3000);
        //退出浏览器
        driver.quit();
    }
}

Tres, código de implementación del navegador IE

Esto es más problemático, por lo que es un poco especial, habrá un recordatorio de seguridad, lo mejor es desactivar todo el software antivirus, de lo contrario, se le pedirá que intercepte la información.

import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

/**
 * @author ZF
 * @Description TODO
 * @Date 2020/4/9 20:29
 */
public class IE_Browser {
    @Test
    public void test() throws InterruptedException {
//        1、驱动文件找不到的异常
        System.setProperty("webdriver.ie.driver", "src/main/resources/IEDriverServer.exe");
//        创建一个对象,用来设置创建ie驱动时的各种设置
        DesiredCapabilities capabilities = new DesiredCapabilities();
//        2、取消IE安全设置(忽略IE的Protected Mode的设置)
        capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
//        3、忽略浏览器的页面缩放设置
        capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);
//        4、设置一个初始化页面,防止window对象丢失
        capabilities.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL, true);
//        IE驱动
        WebDriver driver = new InternetExplorerDriver(capabilities);
//        2、输入百度网站进行访问
        driver.get("http://www.baidu.com");
//        等待时间 3秒
        Thread.sleep(3000);
        driver.quit();
    }
}

Resumen:

No tengo que visitar estos códigos, especialmente IE. Muchos blogs dicen que debe eliminar la casilla de verificación para habilitar el modo de protección en la configuración de seguridad. De hecho, no es necesario eliminarlos. Experiencia: todas las configuraciones son innecesarias, simplemente desactive el antivirus 360 Eso es todo, para evitar que se solicite malware . La siguiente imagen se puede abrir si está marcada, y no hay variables de entorno para todos los navegadores para configurar, y no es necesario. Solo siga mi blog más simple en toda la red, y puede usarse. Incluye mucho código y python. Aplicable La siguiente imagen es la mejor evidencia para demostrar que esos blogs no necesitan ser configurados.
Inserte la descripción de la imagen aquí

Publicado 79 artículos originales · 321 elogios · 40,000+ visitas

Supongo que te gusta

Origin blog.csdn.net/qq_43107323/article/details/105423492
Recomendado
Clasificación