十、自动化函数+实战

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)设置浏览器加载策略

相关推荐
七夜zippoe1 分钟前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
Fcy6481 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满1 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠2 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Harvey9032 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
珠海西格电力科技3 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
释怀不想释怀3 小时前
Linux环境变量
linux·运维·服务器
zzzsde3 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
聆风吟º5 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
NPE~5 小时前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化