自动化测试——selenium
selenium
概念
- web自动化测试工具
- WebDriver 的 Python 绑定
- 原理:调用浏览器原生接口操作浏览器。通过创建webdriver对象,对象调用webdriver API访问浏览器 核心是HTTP请求。
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BjnXE8fL-1633422840811)(C:\Users\ZMLin\AppData\Roaming\Typora\typora-user-images\image-20210508001948670.png)]
基本用法 流程
环境搭建
①. 基于Python环境搭建,安装selenium包,pip install selenium(2.48.0)
②. 本地安装浏览器驱动,驱动下载完的chromedriver.exe放在chrome安装路径下的application下,并将该路径添加到path环境变量
-
示例代码
# 1. 导包 from selenium import webdriver from time import time # 2. 创建浏览器驱动对象 # Firefox浏览器: driver = webdriver.Firefox() # Chrome浏览器: driver = webdriver.Chrome() # Edge浏览器: driver = webdriver.Edge() # 3. 打开Web页面 driver.get("http://www.baidu.com/") # 4. 暂停 time.sleep(3) # 5. 关闭驱动对象 driver.quit()
元素定位
- 元素定位就是通过元素的信息或元素层级结构来定位元素的
- 结合浏览器开发者工具f12**,快速定位元素,** 查看元素信息
- Selenium提供了八种定位元素方式
- id 是唯一的,元素不共享
- name名字,元素之间可以共享,类似人与人之间重名
- class_name类,一个元素可以属于多个class
- tag_name HTML本质就是由不同的tag组成, 每一种标签一般在页面中会存在多个, 所以不方便进行精确定位,一般很少使用
- link_text 为超链接的全部文本内容
- par