自动化测试---Selenium
1.Selenium快速入门
Selenium是一个开源的Web自动化工具,一般用于测试、爬虫、刷票等场景
三个组件:
Selenium IDE:浏览器插件,脚本录制
Selenium WebDriver:让代码控制浏览器模拟用户操作,自动化测试必备组件
Selenium Grid:分布式扩展,让自动化脚本在多个机器上运行
特点:
1.行业标准:WebDriver成为W3G标准
2.兼容性强:
1.支持多语言:python、Java、c#、ruby
2.支持多浏览器:chrome、Firefox、edge、safari
3.支持多环境:Windows、macos、Linux
3.生态比较成熟:
1.书籍、视频
2.Appium
3.pytest
2.Selenium环境搭建:
python+pycharm+Selenium
pip install selenium
from selenium import webdriverdriver=webdriver.Chrome() #启动driver.get(\"https://www.baidu.com/\") #控制driver.quit() #关闭
结果:
没有报错
报错了
找不到浏览器
找不到浏览器驱动
3.Selenium应用示例
能够做什么:
一般操作:访问、点击、输入
上下滚动
左右切换
大小缩放(兼容性问题)
1.两大对象:
对象:面向对象
Selenium最开始使用Java开发,几乎所有的用法都是面向对象的风格
WebDriver:浏览器的操作
页面跳转
大小调整
截图
滚动窗口
切换窗口
获取网址标题、内容、网址
WelElement:元素的操作
输入
点击
截图
获取内容、大小、位置
2.八种定位:ID,NAME,CLASSNAME,TAG_NAME,LINK_TEXT,PARIAL_LINK_TEXT,CSS_SELECTOR,XPATH
1.针对链接:LINK_TEXT、PARIAL_LINK_TEXT
2.针对元素属性:ID、NAME、TAG_NAME、CLASSNAME
3.万能方法:CSS_SELECTOR、XPATH
同一个元素,可以使用不同的方式进行定位
3.三大等待:隐式等待、显示等待、流程等待
经典场景:等待元素加载完成
强制等待
隐式等待
显示等待
4.pytest集成
pip install pytest-selenium
在谷歌浏览器生成测试报告
pytest --driver chrome --html report.html
5.测试框架封装:
POM页面对象模型
POM=Page Object Model页面对象模型
使用对象,代表页面
使用对象中的属性,代表页面的元素
使用对象中的方法,代表页面的操作
KDT关键字驱动测试