十、自动化函数+实战

Maven环境配置

1.设计测试用例

2.创建空项目

1)添加需要的依赖pom.xml

plain 复制代码
<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)设置无头模式

plain 复制代码
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);

}

2)设置浏览器加载策略

相关推荐
航Hang*2 小时前
Windows Server 配置与管理——第3章:文件系统管理
运维·服务器·windows·vmware
lifewange3 小时前
Linux ps 进程查看命令详解
linux·运维·服务器
功德+n3 小时前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
杨云龙UP4 小时前
从0到1快速学会Linux操作系统(基础),这一篇就够了!
linux·运维·服务器·学习·ubuntu·centos·ssh
HXQ_晴天4 小时前
Ubuntu 设置中文输入法
linux·运维·ubuntu
Dovis(誓平步青云)4 小时前
《Linux 信号入门:搞懂 “进程通信的紧急电话” 到底怎么用(初篇)》
linux·运维·服务器
0vvv04 小时前
删除wsl环境下的Ubuntu系统
linux·运维·ubuntu
C++ 老炮儿的技术栈4 小时前
GCC编译时无法向/tmp 目录写入临时汇编文件,因为设备空间不足,解决
linux·运维·开发语言·汇编·c++·git·qt
Agent产品评测局4 小时前
企业数据处理自动化落地,抓取分析全流程实现方案 —— 2026企业级智能体选型与技术路径深度解析
运维·人工智能·ai·自动化