Maven环境配置
1.设计测试用例
2.创建空项目
1)添加需要的依赖pom.xml
<dependencies>
<!-- 截图配置-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<!-- 驱动配置-->
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.8.0</version>
</dependency>
<!-- 库函数-->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0</version>
</dependency>
</dependencies>
创建驱动对象—所有的测试用例共用一个driver对象
编写测试用例—如何划分用例?按照页面分类,每个页面是一个Java文件,页面下所有的用例统一管理
文件上传
点击文件上传的场景下会弹窗系统窗口,进行文件的选择。
selenium无法识别非web的控件,上传文件窗口为系统自带,无法识别窗口元素
但是可以使用sendkeys来上传指定路径的文件,达到的效果是一样的
WebElement ele = driver.findElement(By.cssSelector(“body > div>div>input[type=file]”));
ele.sendKeys(“D:\upload.html”);
浏览器参数设置
1)设置无头模式
void createDriver() {
String chromeDriverPath = "D:\\网页下载\\chromedriver-win64\\chromedriver-win64\\chromedriver.exe"; // 替换为你的 chromedriver 路径
System.setProperty("webdriver.chrome.driver", chromeDriverPath);
// 增加浏览器配置:创建驱动对象要强制指定允许访问所有的链接
// 配置 Chrome 浏览器选项
ChromeOptions options = new ChromeOptions();
options.addArguments("--remote-allow-origins=*"); // 解决某些版本的兼容性问题
// 初始化 ChromeDriver
driver = new ChromeDriver(options);
}