12_java + selenium + testng implementa una automatización de interfaz de usuario simple

Cree un nuevo proyecto Maven y agregue las dependencias necesarias

1. Cree un nuevo proyecto Maven
2. Agregue las dependencias requeridas en pom.xml, aquí solo necesitamos selenium y testng.

<!-- https://mvnrepository.com -->
<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.4.0</version>
    </dependency>

    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.8.8</version>
        <scope>test</scope>
    </dependency>

</dependencies>

Puede buscar la biblioteca requerida en https://mvnrepository.com, seleccionar la versión y copiar su información de dependencia.
Insertar descripción de la imagen aquí

Configura el navegador y manéjalo

1. Cree un nuevo Browser.java, configure los ajustes del navegador y cree una instancia de FirefoxDriver.

package com.test.testng;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;

import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;

/**
* @Author chunmei deng
* @Description 配置浏览器设置
* @Date 2021/3/21
*/
public class Brower {
    
    
    WebDriver driver;

    public WebDriver firefox(){
    
    
        String webDriverPath = "/Users/dengchunmei/WebDriver/geckodriver29";
        String firefoxPath = "/Applications/Firefox.app/Contents/MacOS/firefox";
        //关掉火狐浏览器的日志
        System.setProperty(FirefoxDriver.SystemProperty.BROWSER_LOGFILE,"/dev/null");
        System.setProperty("webdriver.gecko.driver",webDriverPath);
        System.setProperty("webdriver.firefox.bin",firefoxPath);

        FirefoxOptions options = new FirefoxOptions();
        options.addArguments("--start-maximized"); // 启动时自动最大化窗口
        options.addArguments("--disable-popup-blocking"); // 禁用阻止弹出窗口
        options.addArguments("no-sandbox"); // 启动无沙盒模式运行
        options.addArguments("disable-extensions"); // 禁用扩展
        options.addArguments("no-default-browser-check"); // 默认浏览器检查
        Map<String, Object> prefs = new HashMap();
        prefs.put("credentials_enable_service", false);
        prefs.put("profile.password_manager_enabled", false);
        //options.setExperimentalOption("prefs", prefs);// 禁用保存密码提示框

        driver = new FirefoxDriver(options);
        //设置寻找一个元素的时间
        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

        return driver;
    }
}

**Nota: Para ver la tabla de comparación entre las versiones de chromdriver y del navegador, consulte: **https://blog.csdn.net/huilan_same/article/details/51896672

Abra la URL, ubique el elemento de la página y opere

1. Cree un nuevo TestDemo.java, marque el método de inicialización con la anotación @BeforeTest, finalice el procesamiento con @AfterTest y pruebe el método del objeto con @Test. Utilice @Parameters ("searchWord") para especificar que los valores de los parámetros pasados ​​vienen desde la configuración en TestNG.xml

package com.test.testng;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

/**
* @Author chunmei deng
* @Description 测试Demo
* @Date 2021/3/21
*/
public class TestDemo {
    
    
    WebDriver driver;

    @BeforeTest
    public void init() {
    
    
        String url = "http://www.baidu.com";

        //新建一个浏览器句柄
        driver = new Brower().firefox();
        //driver = (WebDriver) new FirefoxDriver();
        //打开URL
        driver.get(url);
    }

    @Test
    @Parameters("searchWord")
    public void search(String searchWord) throws InterruptedException {
    
    
        //输入搜索字符串
        driver.findElement(By.xpath("//*[@id=\"kw\"]")).sendKeys(searchWord);
        //点击[百度一下]按钮
        driver.findElement(By.xpath("//*[@id=\"su\"]")).click();
        Thread.sleep(2000);
    }

    @AfterTest
    public void teardown() {
    
    
        driver.quit();
    }

}

Cree un nuevo TestNG.xml y configure la prueba.

1. El contenido es el siguiente.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Test Of TestNG">

    <test verbose="2" name="百度搜索">
        <parameter name="searchWord" value=“淘宝" />

        <classes>
            <class name="com.test.testng.TestDemo">
                <methods>
                    <include name="search" />
                </methods>
            </class>
        </classes>
    </test>

</suite>

Ejecute el programa

1. Ejecute TestNG.xml
Insertar descripción de la imagen aquí
2. El efecto de ejecución es el siguiente
Insertar descripción de la imagen aquí
para generar un informe de prueba

1. En la configuración en ejecución, marque Usar informadores predeterminados y los resultados de la ejecución generarán automáticamente un informe.
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/dcm1324659876/article/details/132364296
Recomendado
Clasificación