十、自动化函数+实战

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

相关推荐
Chief_fly14 分钟前
ARM 麒麟系统服务器构建docker镜像
运维·服务器·docker
Dawn-bit20 分钟前
Linux文本处理三剑客之sed详解
linux·运维·服务器·云计算·运维开发
dok1233 分钟前
Johannes 《Linux内核模块与设备驱动开发:编写Linux驱动程序》 (9)manual_cdev
linux·运维·驱动开发
志栋智能34 分钟前
超自动化安全中的自适应防护与自愈能力
网络·安全·自动化
czhaii44 分钟前
汇川注塑机伺服驱动器故障维修排除方法
运维·服务器
Cx330❀1 小时前
【Linux网络】深入 HTTP 协议(五):从 Cookie/Session 原理到 C++ 源码实战
linux·运维·服务器·开发语言·网络·c++·http
Dobby_051 小时前
【CICD】Jenkins Pipeline 快速学习入门
运维·学习·jenkins
nxb55610 小时前
haproxy算法,ip透传,自定义haproxy错误页面
运维·服务器
AKAMAI11 小时前
你的源服务器可能是你做出的最昂贵决定
运维·人工智能·云计算
专业贴准12 小时前
苏州SMT供料器设备选型分析:本地主流自动化企业技术特点与行业趋势
人工智能·自动化·制造