什么是Selenium
Selenium 是一个用于自动化软件测试的工具。它允许测试人员编写脚本来自动化浏览器的操作,从而模拟用户在网站上的行为,如点击按钮、填写表单、滚动页面等。Selenium 主要用于以下方面:
- 自动化测试:通过Selenium,可以自动化执行一系列测试用例,这有助于提高测试的效率和准确性。
- 跨平台支持:Selenium 支持多种操作系统(如Windows、Linux、Mac)和浏览器(如Chrome、Firefox、Safari、Internet Explorer)。
- 编程语言支持:Selenium 支持多种编程语言,如Java、C#、Python、Ruby、PHP等,使得测试人员可以根据自己的熟悉程度选择合适的语言。
- 开源免费:Selenium 是一个开源项目,这意味着它是免费的,并且任何人都可以查看、使用和修改其源代码。
- 易于集成:Selenium 可以与各种测试框架(如JUnit、TestNG)和持续集成工具(如Jenkins)集成。
Selenium 的主要用途包括:
- Web 应用程序测试:测试Web应用程序的功能、性能、兼容性等。
- 回归测试:确保新代码或更改没有破坏现有功能。
- 端到端测试:测试整个应用程序的流程,从用户登录到退出。
总之,Selenium 是一个强大的自动化测试工具,对于提高软件质量、减少人工测试工作量非常有帮助。
官方文档:Selenium
Java使用Selenium快速入门
step:下载浏览器驱动
- ChromeDriver:
- 官方下载地址:ChromeDriver
- 注意:请选择与你的Chrome浏览器版本相匹配的ChromeDriver版本。
- GeckoDriver(用于Firefox):
- 官方下载地址:GeckoDriver
- 注意:GeckoDriver 通常与Firefox浏览器一起更新。
- Internet Explorer Driver:
- 官方下载地址:Internet Explorer Driver
- 注意:由于微软不再支持IE11,Selenium 也可能在将来停止对IE11的支持。
- EdgeDriver:
- 对于旧版Edge浏览器(基于Chromium):
- 官方下载地址:EdgeDriver
- 对于旧版Edge浏览器(基于EdgeHTML):
- 官方下载地址:EdgeDriver for EdgeHTML
- 对于旧版Edge浏览器(基于Chromium):
示例
接下来示范使用Selenium来操作Edge浏览器(其他浏览器操作基本一致)
下载驱动
- 打开浏览器Edge设置找到关于确认Edge浏览器版本
- 到官方下载地址下载对应版本驱动
Microsoft Edge WebDriver | Microsoft Edge Developer
根据自己的操作系统下载对应的驱动包,我是win64位的下载x64
下载好后解压一下
- 开始编码
以下是用程序控制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();
}
}