Selenium自动化测试快速入门指南

1.Selenium快速入门

Selenium 是一个开源的Web自动化工具,一般用于测试、爬虫、刷票等场景。

三个组件:

  • Selenium IDE:浏览器插件,生成测试脚本(脚本录制),4年前停止更新
  • Selenium WebDriver :让代码控制浏览器模拟用户操作,自动化测试必备组件
  • Selenium Grid :分布式扩展,让自动化脚本在多个机器上运行。

Selenium特点:

  • 1.行业标准:WebDriver成为W3C标准
  • 2.兼容性强:
    • 1.支持多语言:python,java,c#,ruby
    • 2.支持多浏览器:chrome,firefox,edge,safari
    • 3.支持多环境:windows,macos,linux
  • 3.生态比较成熟:
    • 1.书籍,视频
    • 2.Appium(APP自动化测试)
    • 3.pytest

2.Selenium环境搭建

1、安装Python IDE集成开发工具 PyCharm

2、在PyCharm Terminal终端命令行输入:pip install selenium 安装Selenium

复制代码
 pip install selenium

3.Python+Selenium 环境验证,浏览器打开百度搜索

复制代码
from selenium import webdriver
from selenium.webdriver.edge.service import Service

# 指定驱动路径
service = Service(executable_path=r'C:\Program Files\edgedriver\MicrosoftWebDriver.exe')

#添加detach选项防止浏览器闪退
options = webdriver.EdgeOptions()
options.add_experimental_option("detach", True)
# driver = webdriver.Edge(options=options)

#通过ChromeOptions添加-kiosk参数实现类似F11的全屏效果
# options.add_argument('-kiosk')

#初使化浏览器
driver = webdriver.Edge(options=options,service=service)
driver.get("https://www.baidu.com")

driver.maximize_window()                    #可使浏览器窗口最大化但不覆盖系统任务栏
# driver.set_window_size(300, 300)          #可指定像素级尺寸
# driver.fullscreen_window()                #Edge浏览器专用配置

#退出
# driver.quit()

4.环境验证失败的原因

  1. 没有安装浏览器edge,chrome,ie等
  2. 没有浏览器驱动msedgedriver.exe,chromedriver.exe等
  3. 浏览器版本与浏览器驱动版本不一致
相关推荐
应用市场4 小时前
构建自定义命令行工具 - 打造专属指令体
开发语言·windows·python
东方佑4 小时前
从字符串中提取重复子串的Python算法解析
windows·python·算法
Dfreedom.4 小时前
一文掌握Python四大核心数据结构:变量、结构体、类与枚举
开发语言·数据结构·python·变量·数据类型
一半烟火以谋生4 小时前
Python + Pytest + Allure 自动化测试报告教程
开发语言·python·pytest
叶子丶苏5 小时前
第八节_PySide6基本窗口控件_按钮类控件(QAbstractButton)
python·pyqt
百锦再6 小时前
对前后端分离与前后端不分离(通常指服务端渲染)的架构进行全方位的对比分析
java·开发语言·python·架构·eclipse·php·maven
Blossom.1187 小时前
把AI“刻”进玻璃:基于飞秒激光量子缺陷的随机数生成器与边缘安全实战
人工智能·python·单片机·深度学习·神经网络·安全·机器学习
Kratzdisteln7 小时前
【Python OOP Diary 1.1】题目二:简单计算器,改错与优化
python·面向对象编程
小白银子7 小时前
零基础从头教学Linux(Day 53)
linux·运维·python
skywalk81638 小时前
基于频域的数字盲水印blind-watermark
linux·开发语言·python