【UI自动化测试】2_web自动化测试 _Selenium环境搭建(重点)

文章目录

  • 一、Selenium工具
    • [1.1 Selenium特点](#1.1 Selenium特点)
    • [1.2 Selenium家族(发展史)【了解】](#1.2 Selenium家族(发展史)【了解】)
    • [1.3 Selenium核心组件(重点)](#1.3 Selenium核心组件(重点))
      • [1.3.1 什么是WebDriver?](#1.3.1 什么是WebDriver?)
      • [1.3.2 WebDriverAPI支持的浏览器](#1.3.2 WebDriverAPI支持的浏览器)
      • [1.3.3 WebDriverAPI 支持的开发语言](#1.3.3 WebDriverAPI 支持的开发语言)
  • 二、Selenium环境搭建(重点)
    • [2.1 web自动化测试环境搭建步骤](#2.1 web自动化测试环境搭建步骤)
      • [2.1.1 Python开发环境](#2.1.1 Python开发环境)
      • [2.1.2 安装selenium](#2.1.2 安装selenium)
      • [2.1.3 安装浏览器](#2.1.3 安装浏览器)
      • [2.1.4 安装浏览器驱动](#2.1.4 安装浏览器驱动)
    • [2.2 入门案例](#2.2 入门案例)

一、Selenium工具

  • 概念: Selenium是一个用于Web应用程序测试的工具;中文的意思(硒)
  • 使用selenium编写Web端面向过程自动化脚本

1.1 Selenium特点

  1. 开源软件:源代码开放可以根据需要来增加工具的某些功能

  2. 跨平台:linux 、windows 、mac

  3. 核心功能:就是可以在多个浏览器上进行自动化测试

  4. 多语言:Java、Python、C#、JavaScript、Ruby等

  5. 成熟稳定:目前已经被google , 百度, 腾讯等公司广泛使用

  6. 功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能

1.2 Selenium家族(发展史)【了解】

1.3 Selenium核心组件(重点)

  • Selenium-IDE:FireFox火狐插件,录制脚本工具。支持脚本回放和导出。 可以导出Python和Java等类型的单元测试脚本。
  • Selenium-Grid:分布式执行自动化测试用例工具,用于大批量测试用例的执行
  • Selenium-webdriver: 脚本编写核心工具,提供模拟手工操作的常用方法。(selenium所提供编写代码的第三方包)

1.3.1 什么是WebDriver?

1、Webdriver (Selenium2)是一种用于Web应用程序的自动测试工具;

2、它提供了一套友好的API;

3、Webdriver完全就是一套类库,不依赖于任何测试框架,除了必要的浏览器驱动;

yacas 复制代码
说明:
API:应用编程接口说明(WebDriver类库内封装非常多的方法,要使用这些方法,就需要友好的调用命名规则)

1.3.2 WebDriverAPI支持的浏览器

1、Firefox (FirefoxDriver)

2、IE(InternetExplorerDriver)

3、Opera(OperaDriver)

4、Chrome (ChromeDriver)

5、safari(SafariDriver)

6、HtmlUnit (HtmlUnit Driver) 没有界面的浏览器

提示:

  • Firefox、Chrome:对元素定位和操作有良好的支持,同时对JavaScript支持也非常好。
  • IE:只能在windows平台运行,所有浏览器中运行速度最慢
  • HtmlUnit:无GUI(界面)运行,运行速度最快;
yacas 复制代码
推荐火狐浏览器原因:

1.Selenium IDE
2.FireBug
3.对WebDriver API支持良好

1.3.3 WebDriverAPI 支持的开发语言

官网文档:https://docs.seleniumhq.org/docs/03_webdriver.jsp

yacas 复制代码
1、Java
2、Python
3、PHP
4、JavaScript
5、Perl
6、Ruby
7、C#

二、Selenium环境搭建(重点)

2.1 web自动化测试环境搭建步骤

1.Python开发环境

2.安装selenium:selenium提供自动化实现的常用方法

3.安装浏览器:脚本结果直接体现Chrome、FireFox

4.安装浏览器驱动:保证能够用程序驱动浏览器,实现自动化测试

2.1.1 Python开发环境

yacas 复制代码
- python解释器
- pycharm编码工具

2.1.2 安装selenium

python 复制代码
说明:在安装selenium时,前提是Python3.5以上版本安装完毕且能正常运行

1、安装:pip install selenium==3.141.0  
   pip:通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。
   install: 安装命令
   selenium==3.141.0: 指定安装selenium3.141.0版本(如果不指定版本默认为最新版本) 

2、卸载:pip uninstall selenium

3、查看:pip show selenium

2.1.3 安装浏览器

yacas 复制代码
火狐浏览器【推荐】
 - 1、FireFox 48以上版本:Selenium 3.X  +  FireFox浏览器驱动(geckodriver)
 - 2、Firefox 48 以下版本:Selenium2.X 内置驱动

IE浏览器(了解)
 - 1、IE 9以上版本:Selenium3.X +IE驱动
 - 2、IE 9以下版本:Selenium 2.X +IE驱动

谷歌浏览器
 - selenium2.x/3.x +Chrome驱动
chromedriver版本 chrome版本
V2.24 V52-54
V2.23 V51-53
V2.22 V49-52
V2.21 V46-50
V2.20 V43-48

2.1.4 安装浏览器驱动

1、不同的浏览器都有自己的驱动程序。

bash 复制代码
# chromedriver最新版本,只需要把下面的版本号更换就可以下载了

https://storage.googleapis.com/chrome-for-testing-public/143.0.7499.40/win64/chromedriver-win64.zip

2、确认浏览器的版本号。

3、到对应浏览器驱动程序下载地址,下载匹配版本的驱动程序。

4、浏览器驱动程序放置到python解释器的安装目录,并解压 chromedriver.exe。

shell 复制代码
C:\Users\ggk>where python
C:\Z\Program\Py\Anaconda\python.exe  # python安装目录
C:\Users\ggk\AppData\Local\Microsoft\WindowsApps\python.exe

windows:
- 1、解压下载的驱动,获取到chromedriver.exe
- 2、将chromedriver.exe复制到python.exe所在目录即可(避免再次将chromedrver.exe 添加path变量)

mac:
 - 1、解压下载的驱动,获取到chromedriver
 - 2、将chromedriver复制到/usr/local/bin目录即可。

提示:浏览器驱动下载好后需要添加Path环境变量中;或者直接放到Python安装目录(因为Python已经添加到Path中)


# 如果显示Chromedriver的版本信息,则说明配置成功。
C:\Users\ggk>chromedriver --version  
ChromeDriver 143.0.7499.40 (cfecec24a8e1b3d5f3b58e52f11d1327ac1534c0-refs/branch-heads/7499@{#4009})

2.2 入门案例

通过程序启动浏览通过程序启动浏览器,并打开百度首页,暂停3秒,关闭浏览器器,并打开百度首页,暂停3秒,关闭浏览器

python 复制代码
# 1、导包
import time
from selenium import webdriver

# 2、打开浏览器-创建浏览器驱动对象
driver = webdriver.Chrome()

# 3、打开测试网址
driver.get("http://www.baidu.com/")

# 4、暂停3s->代替测试步骤
time.sleep(3)

# 5、关闭浏览器
driver.quit()
相关推荐
大模型玩家七七2 小时前
关系记忆不是越完整越好:chunk size 的隐性代价
java·前端·数据库·人工智能·深度学习·算法·oracle
全栈前端老曹2 小时前
【Redis】Pipeline 与性能优化——批量命令处理、提升吞吐量、减少网络延迟
前端·网络·数据库·redis·缓存·性能优化·全栈
扶苏10022 小时前
深入 Vue 3 computed:原理、实战与避坑指南
前端·javascript·vue.js
盛夏绽放3 小时前
流式响应 线上请求出现“待处理”问题
前端·后端·nginx·proxy
weixin199701080163 小时前
虾皮商品详情页前端性能优化实战
前端·性能优化
ArcX3 小时前
手把手从 0 诠释大模型 API 的本质: Tools + MCP + Skills
前端·后端·ai编程
慧一居士3 小时前
vue项目中,tsx格式的文件是什么,怎样使用
前端·vue.js
马尔代夫哈哈哈4 小时前
SpringBoot 统一功能处理
java·前端·spring boot
慧一居士4 小时前
tsconfig.json完整使用配置介绍和示例
前端·vue.js