Selenium + Java 环境搭建

2023年 10月 2日 47.5k 0

1.什么是自动化测试

  自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。

2. Selenium 介绍

2.1 Selenium 是什么

  selenium 是用来做web自动化测试框架。在Java中,直接在 pom.xml 中导入依赖。


    org.seleniumhq.selenium
    selenium-java
    3.141.59

  没错,就是导个包。然后使用其中的API来操作浏览器,从而实现自动化。

Selenium 的特点:支持各种浏览器,支持各种平台,支持各种语言,有丰富的API。

2.2 Selenium + Java 环境搭建

  这里以chrome浏览器为准,也就是使用 chrome 浏览器来做自动化测试。

  • 下载 chrome 浏览器。
  • 查看当前浏览器的版本,我的版本是117.0.5938.132
  • image.png

  • 下载 chrome 浏览器驱动。
  • 对照你的版本下载,当你使用的是 Chrome 版本 115 或更高版本,就点最上面的链接:

    image.png

    找到你对应的版本,我这里是117.0.5938.132

    image.png

    将链接复制到地址栏中就直接开始下载了。建议关闭浏览器的自动更新,因为驱动的版本要与浏览器版本对应。

  • 解压后,把里面的chromedriver.exe放到你的 GoogleChromeApplication 目录下,我这里是C:Program FilesGoogleChromeApplication
  • image.png

  • 配置环境变量
  • image.png
    path 中:

    image.png
    6. 打开IDEA,创建一个Maven项目,在 pom.xml 中添加如下依赖:

    
        org.seleniumhq.selenium
        selenium-java
        3.141.59
    
    
  • 测试是否搭建成功:
  • public class Main {
        public static void main(String[] args) {
            WebDriver webDriver = new ChromeDriver();
            webDriver.get("https://juejin.cn");
        }
    }
    

    点击运行,如果打开了该网页说明搭建环境成功。

    2.3 Selenium WebDriver 的工作原理

      我们上面导的依赖就是 Selenium WebDriver 的一部分(Java 的 Selenium API),Selenium WebDriver 还包含了其他语言的Selenium API以及组件。

  • 当程序运行的时候,Selenium WebDriver 会调用Selenium API库中的相应方法,这些方法会根据你脚本中的信息,生成一个HTTP请求,并发送给浏览器驱动。
  • 浏览器驱动中包含了一个 HTTP Server,用来接收这些 HTTP 请求。
  • HTTP Server接收到请求后,会解析 HTTP 请求中的指令,并将其转换为浏览器能够理解的协议。同时,浏览器驱动会启动或连接到浏览器,并通过 WebSocket 连接发送指令给浏览器。
  • 根据指令来具体操控对应的浏览器。
  • 浏览器将结果返回给浏览器驱动,浏览器驱动再将结果封装成HTTP响应,返回给 Selenium WebDriver。
  • Selenium WebDriver接收到响应后,可以根据结果进行断言或其他操作。
  • 相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论