selenium学习目录
第一章 selenium学习入门
一、什么是Selenium?
Selenium 是一个用于 Web 应用程序自动化测试的工具集。
它主要有以下特点:
- 跨平台:可以在多种操作系统上运行,如 Windows、Mac、Linux 等。 支持多种语言:如
Python、Java、C#等,方便不同编程语言背景的测试人员使用。 - 强大的功能:能够模拟用户与浏览器的交互,包括点击、输入、页面导航等操作,还可以进行元素定位、获取页面信息等。
- 广泛的应用:不仅用于自动化测试,在 Web 应用的性能测试、爬虫等领域也有应用。
Selenium 为 Web 自动化测试提供了一种高效、灵活的解决方案,帮助开发和测试团队提高工作效率和质量。
二、工作原理
- 启动浏览器:Selenium 通过与浏览器的驱动程序进行交互,启动相应的浏览器实例,如 Chrome、Firefox 等。
- 发送指令:测试脚本使用特定语言的 Selenium API 向浏览器发送操作指令,如点击某个按钮、输入文本等。
- 浏览器执行:浏览器接收到这些指令后,执行相应的动作,就如同真实用户在操作一样。
- 获取反馈:Selenium 可以获取浏览器执行操作后的页面状态、元素属性等反馈信息,用于验证测试结果。
- 持续交互:不断重复以上过程,实现对 Web 应用各种功能和场景的自动化测试。
三Selenium环境搭建
下载浏览器驱动
谷歌驱动下载
1.先看一下谷歌浏览器的版本
下载地址:http://chromedriver.storage.googleapis.com/index.html(下载对应版本的驱动)
Edge驱动下载
下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
八大元素定位
Selenium需要使用定位来找到网页中的元素(比如文本框、按钮、链接等),以便进行交互操作(比如输入文本、点击按钮、导航链接等)。定位是通过特定的属性值(比如id、name、class、xpath等)来唯一标识页面元素并用于查找它们的过程。没有定位,Selenium就无法精确地定位并控制页面上的元素,从而无法实现自动化测试或爬虫等操作。
- ID 定位:基于元素属性中的id的值来进行定位,类似于人们身份证上的身份证号码,不出意外都不会重复。
- Name 定位:基于元素属性中的name的值来进行定位,类似于人们身份证上的名字,很可能会出现重名。
- Link Text 定位:主要用于超链接进行定位。
- Partial Link Text 定位:Link Text模糊查询版本,类似于数据库中的link
%,当模糊查询匹配到多个符合调节的元素,选取第一个。 - Class Name 定位:基于元素class样式来定位,非常容易遇到重复的。
- Tag Name 定位:通过标签名来进行定位,重复度最高,只有在需要定位后进行二次筛选的情况下使用。
- CSS Selector 定位:通过绝对路径定位:这种方式几乎不用。
- Xpath 定位:
通过绝对路径定位,这种方式几乎不用。
通过相对路径进行定位,格式“//+唯一的父标签+/子标签……”。
通过元素属性定位: 单属性定位。 多属性定位。
通过元素部分属性定位: 以部分属性值开头。 包含部分属性值。 通过文本定位。
这几种查找元素的效率中,id>name>Xpath。
总结
Selenium 是用于 Web 应用程序自动化测试的工具集,具有跨平台、支持多语言、功能强大且应用广泛等特点。其工作原理包括启动浏览器、发送指令、浏览器执行、获取反馈并持续交互来实现自动化测试。在 Selenium 环境搭建中,需下载对应浏览器的驱动,如谷歌和 Edge 驱动。Selenium 要使用定位来找到网页元素进行交互操作,八大元素定位方法分别为 ID 定位、Name 定位、Link Text 定位、Partial Link Text 定位、Class Name 定位、Tag Name 定位、CSS Selector 定位和 Xpath 定位,不同定位方法各有特点,查找元素效率为 id>name>Xpath。