当前位置: 首页 > article >正文

【Kotlin基于selenium实现自动化测试】初识selenium以及搭建项目基本骨架(1)

导读大纲

    • 1.1 Java: Selenium 首选语言
    • 1.2 配置一个强大的开发环境

1.1 Java: Selenium 首选语言

  1. Java 是开发人员和测试人员进行自动化 Web 测试的首选

    • Java 和 Selenium 之间的协同作用受到各种因素的驱动,从而提高它们的有效性
  2. 为什么Java经常被认为是Selenium的首选语言

    • 广泛流行和采用/庞大的用户群
      1. Java 是使用最广泛的编程语言之一
      2. 这种广泛采用意味着大量开发人员和测试人员都熟悉 Java
        • 从而为 Selenium 项目中的协作和知识共享提供便利
    • 面向对象编程(OOP)/可复用性和可维护性
      1. Java 的面向对象特性与 Selenium 的架构非常吻合
      2. 封装、继承和多态性等面向对象编程原则
        • 可以创建可重用和可维护的测试脚本,这对测试自动化至关重要
    • 强大的标准库/丰富的 API 集
      1. Java 提供一套全面的标准库,可让 Selenium 自动化脚本受益匪浅
      2. 这些库提供处理文件系统、数据库、网络等的功能
        • 从而增强 Selenium 测试的能力
    • 跨平台兼容性/平台独立性
      1. Java 的平台独立性是其一大优势
      2. 用 Java 编写的测试脚本无需修改即可在不同的操作系统上执行
        • 与 Selenium 的跨浏览器和跨平台测试能力相一致
    • 强大的社区和生态系统/广泛的资源和支持
      1. 强大的 Java 社区提供广泛的支持,包括论坛、教程和文档
      2. 这使得使用 Selenium 和 Java 的人员更容易排除故障和学习
    • 与其他工具集成/与测试框架兼容
      1. Java 与 JUnit 和 TestNG 等流行的测试框架集成良好
      2. Selenium 通常使用这些框架
        • 组织测试、生成报告管理测试用例和套件
    • 成熟的开发工具/先进的集成开发环境
      1. Java 有强大的集成开发环境(IDE)支持,如 Eclipse 和 IDEA
      2. 这些集成开发环境提供高级编码功能、调试和测试功能
        • 有利于开发和维护 Selenium 测试脚本
    • 稳定性和可靠性/久经考验的记录
      1. Java 在各个领域的稳定性和可靠性由来已久
      2. 这种稳定性在测试自动化中至关重要
        • 因为测试脚本的一致和可靠执行关键所在
    • 强大的自动化生态系统/丰富的库和框架
      1. Java 的生态系统包括众多可增强和简化 Selenium 自动化的库和框架
      2. 这些工具可以大大减少编写和维护测试脚本的工作量和复杂性
  3. Java 的面向对象特性、广泛的使用、强大的库支持、平台独立性和强大的生态系统

    • 使其成为 Selenium 的理想语言
  4. Java符合基于 Selenium 的自动化技术要求

    • 开发复杂、高效的测试自动化套件提供稳定、可扩展的环境

1.2 配置一个强大的开发环境

  1. 设置和掌握Java、IDEA 和Selenium WebDriver的集成技术

    • 重点是配置一个强大的开发环境
  2. 首先,需要安装 Java,为测试脚本奠定强大的编程语言基础

    • 选择最适合测试项目的 JDK 版本
      • Oracle JDK
      • 选择并点击与您的操作系统(Windows、macOS 或 Linux)相对应的下载链接
      • 接受 Oracle Java SE 的 Oracle 技术网络许可协议.
      • 点击可执行文件的下载链接
        1. 无论是 Windows 的 .exe、macOS 的 .dmg 还是 Linux 的 .tar.gz.
    • 运行安装程序
      • Windows
        1. 双击下载的 .exe 文件,然后按照提示进行安装
        2. 您可以选择安装 JDK 的目录
      • macOS(手动安装)
        1. 打开 .dmg 文件并按照说明操作
        2. 通常需要将 JDK 拖入"Applications"文件夹
      • Linux
        1. 通过图形文件管理器或使用 tar -xzf [filename] 命令行
          • 将 .tar.gz 文件解压缩到所需位置
    • 设置环境变量
      1. 在 Windows 中, 执行以下操作
        • 在 "系统变量"中,单击"新建"创建一个新的 JAVA_HOME 变量
          1. 并将其值设置为 JDK 安装路径
        • 在 "系统变量"中找到"Path"变量
          1. 然后单击"编辑"添加一个新条目,内容为 %JAVA_HOME%\bin
      2. 在 macOS 和 Linux 中,请执行以下操作.
        • 打开终端,键入 vi ~/.bashrc 或 vim ~/.bashrc
          1. 添加一行"export JAVA_HOME=/usr/lib/jvm/jdk-11"
        • 将 Java 二进制目录添加到 PATH 变量中
          1. export PATH=$JAVA_HOME/bin:$PATH
          2. 这一步可确保从命令行访问 Java 二进制文件
        • 保存文件并重新加载你的配置文件
          1. 例如,运行 source ~/.bashrc
    • 检查 Java 版本以验证安装
      • 在终端中键入 javac --version 并按 Enter
        title
  3. 接着, 安装 IDEA 集成开发工具

    • IDEA
  4. 然后安装 Selenium

    • 下载 Selenium WebDriver Java 客户端
    • 在maven中央仓库搜索依赖包
      title
    • 下载对应浏览器的Selenium WebDriver
      1. Google Chrome
      2. Mozilla Firefox
      3. Microsoft edge
      4. Apple Safari
      5. Opera
      6. Internet Eexplorer
    • 每个 WebDriver 都允许Selenium 与相应的浏览器进行交互
      1. 从而实现自动化测试
  5. 在 IDEA 中创建新 Kotlin 项目
    title

  6. 将 Selenium JAR 添加到项目中(手动添加Selenium依赖包)

    • 将下载的 ZIP 文件解压缩到计算机上的文件夹中
    • 右键项目目录, 打开"Project Structure"
      title
    • 选择"Libraries"–>“点击+”–>“选择Java”–>“选择刚才解压缩的目录”
      title
  7. 通过 Gradle 配置来添加 Selenium 依赖

    • 使用该方式则无需手动下载 Selenium JAR 包
// ================== build.gradle.kts
dependencies {
    implementation("org.seleniumhq.selenium:selenium-chrome-driver:4.25.0")
    implementation("org.seleniumhq.selenium:selenium-java:4.25.0")
    testImplementation(kotlin("test"))
}
  1. 创建一个简单的测试脚本来验证配置是否正确
    • 右键kotlin目录, 创建一个包"kt.selenium"
      title
    • 在"kt.selenium"包下创建一个"Main.kt"的kotlin文件
      title
package kt.selenium
import org.openqa.selenium.WebDriver
import org.openqa.selenium.chrome.ChromeDriver
fun main() {
    // 初始化一个 ChromeDriver 实例
    val driver: WebDriver = ChromeDriver()
    // 在浏览器中打开百度
    driver.get("https://www.baidu.com")
    // 关闭浏览器
    driver.quit()
}

http://www.kler.cn/news/327315.html

相关文章:

  • 华为OD机试 - 超级玛丽通过吊桥的走法 - 动态规划(Python/JS/C/C++ 2024 E卷 200分)
  • 数据结构——计数、桶、基数排序
  • 深入探索 PyTorch 在机器学习中的应用
  • 观测云对接 SkyWalking 最佳实践
  • Springboot中yml文件不生效原因分析及解决
  • 【C++篇】启航——初识C++(下篇)
  • 滚雪球学Oracle[7.1讲]:Oracle云数据库
  • 如何从 Windows 11/10/8.1/8/7 中恢复已删除的视频
  • 前端导出页面PDF
  • rust的nutyp验证和validator验证数据的方法
  • MySQL | group by 用法
  • 牛客周赛 Round 62
  • 828华为云征文|部署个人文档管理系统 Docspell
  • Kali Linux安全工具
  • 实战OpenCV之形态学操作
  • 网络带宽对于服务器的影响
  • 云原生之运维监控实践-使用Prometheus与Grafana实现对MySQL和Redis服务的监测
  • Drf认证组件
  • Feign 主要负责简化 HTTP API 的调用逻辑; Eureka 负责服务实例的注册和服务发现; Ribbon 则负责实现客户端的负载均衡。
  • UE4_Niagara基础实例—7、如何让粒子照亮周边环境
  • 制造企业各部门如何参与生产成本控制与管理?
  • Leetcode Hot 100 | 543.二叉树的直径 | 递归+优化
  • 【人人保-注册安全分析报告-无验证方式导致安全隐患】
  • 项目:微服务即时通讯系统客户端(基于C++QT)]四,中间界面搭建和逻辑准备
  • git使用“保姆级”教程3——添加暂存区及提交本地库
  • 苹果手机如何录屏?IOS 自带工具与嗨格式录屏大师 APP 详解
  • 只写CURD后台管理的Java后端要如何提升自己
  • RabbitMQ的应用问题
  • ansible学习之 Facts
  • Python知识点:如何使用EdgeX Foundry与Python进行边缘计算