java使用Selenium(自动化测试)快速入门

183 阅读3分钟

什么是Selenium

Selenium 是一个用于自动化软件测试的工具。它允许测试人员编写脚本来自动化浏览器的操作,从而模拟用户在网站上的行为,如点击按钮、填写表单、滚动页面等。Selenium 主要用于以下方面:
  1. 自动化测试:通过Selenium,可以自动化执行一系列测试用例,这有助于提高测试的效率和准确性。
  2. 跨平台支持:Selenium 支持多种操作系统(如Windows、Linux、Mac)和浏览器(如Chrome、Firefox、Safari、Internet Explorer)。
  3. 编程语言支持:Selenium 支持多种编程语言,如Java、C#、Python、Ruby、PHP等,使得测试人员可以根据自己的熟悉程度选择合适的语言。
  4. 开源免费:Selenium 是一个开源项目,这意味着它是免费的,并且任何人都可以查看、使用和修改其源代码。
  5. 易于集成:Selenium 可以与各种测试框架(如JUnit、TestNG)和持续集成工具(如Jenkins)集成。

Selenium 的主要用途包括:

  • Web 应用程序测试:测试Web应用程序的功能、性能、兼容性等。
  • 回归测试:确保新代码或更改没有破坏现有功能。
  • 端到端测试:测试整个应用程序的流程,从用户登录到退出。

总之,Selenium 是一个强大的自动化测试工具,对于提高软件质量、减少人工测试工作量非常有帮助。

官方文档:Selenium

Java使用Selenium快速入门

step:下载浏览器驱动

  1. ChromeDriver
    • 官方下载地址:ChromeDriver
    • 注意:请选择与你的Chrome浏览器版本相匹配的ChromeDriver版本。
  2. GeckoDriver(用于Firefox):
    • 官方下载地址:GeckoDriver
    • 注意:GeckoDriver 通常与Firefox浏览器一起更新。
  3. Internet Explorer Driver
    • 官方下载地址:Internet Explorer Driver
    • 注意:由于微软不再支持IE11,Selenium 也可能在将来停止对IE11的支持。
  4. EdgeDriver
    • 对于旧版Edge浏览器(基于Chromium):
    • 对于旧版Edge浏览器(基于EdgeHTML):

示例

接下来示范使用Selenium来操作Edge浏览器(其他浏览器操作基本一致)

下载驱动

  1. 打开浏览器Edge设置找到关于确认Edge浏览器版本

  1. 到官方下载地址下载对应版本驱动

Microsoft Edge WebDriver | Microsoft Edge Developer

根据自己的操作系统下载对应的驱动包,我是win64位的下载x64

下载好后解压一下

  1. 开始编码

以下是用程序控制edge浏览器访问百度搜索selenium的示例

通过各种方式获取页面的dom,执行指定的操作,获取dom的语法可以参考selenium官方文档,或者丢给ai生成获取dom的代码。

package com.mi.shippercomparemaersk.job;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.edge.EdgeOptions;

public class Shell {

    public void shell() {
        System.setProperty("webdriver.edge.driver", "C:\\WebDrive\\msedgedriver.exe"); //配置驱动
        // 1.创建webdriver驱动
        EdgeOptions options = new EdgeOptions();
        options.addArguments("--remote-allow-origins=*");
        WebDriver driver = new EdgeDriver(options);
        //2.设置访问url
        String searchUrl = "https://www.baidu.com"; 
        driver.get(searchUrl);
        // 3.获取输入框,输入selenium 按id
        driver.findElement(By.id("kw")).sendKeys("selenium");
        //         3.获取输入框,输入selenium 按name
//        driver.findElement(By.name("wd")).sendKeys("selenium");
        //  3.获取输入框,输入selenium 按xpath
//        driver.findElement(By.xpath("//*[@id='kw']")).sendKeys("selenium");
        //         3.获取输入框,输入selenium 按css
//        driver.findElement(By.cssSelector("#kw")).sendKeys("selenium");
        //         3.获取输入框,输入selenium 按className
//        driver.findElement(By.className("s_ipt")).sendKeys("selenium");

//         4.获取“百度一下”按钮,进行搜索
        driver.findElement(By.id("su")).click();
//         5.退出浏览器
        driver.quit();
    }
}