软件测试/测试开发丨Selenium Web自动化测试基本操作

点此获取更多相关资料

本文为霍格沃兹测试开发学社学员学习笔记分享

原文链接:https://ceshiren.com/t/topic/26901

一、浏览器控制

模拟功能测试中对浏览器的操作

1.1、打开网页

  • get方法打开浏览器
python 复制代码
def open_browser():
    driver = webdriver.Chrome()
    driver.get("https://www.baidu.com/")
    time.sleep(1)

1.2、刷新

  • refresh方法刷新页面
python 复制代码
# 刷新网页
    driver.refresh()

1.3、回退

  • 用back方法回退到上一个界面
python 复制代码
    driver.back()

1.4、最大化

  • maximize_window方法使窗口最大化

    复制代码
      driver.maximize_window()

1.5、最小化

  • minimize_window方法使窗口最小化
python 复制代码
    driver.minimize_window()

二、常见定位方法

2.1、HTML铺垫

  • 标签:<a>
  • 属性:href
  • 类属性: class

2.2、Selenium八大定位方式

Selenium提供了八种定位方式
Locator strategies | Selenium

序号 方式 描述
1 class name class 属性对应的值
2 css selector(重点) css 表达式
3 id(重点) id 属性对应的值
4 name(重点) name 属性对应的值
5 link text 查找其可见文本与搜索值匹配的锚元素
6 partial link text 查找其可见文本包含搜索值的锚元素。如果多个元素匹配,则只会选择第一个元素。
7 tag name 标签名称
8 xpath(重点) xpath表达式

2.3、常用定位方式练习

示例,两种方式作用一模一样

官方建议使用下面的方式

python 复制代码
driver.find_element_by_id("su")
driver.find_element(By.ID, "su")
python 复制代码
def web_locate():
    driver = webdriver.Chrome()
    driver.implicitly_wait(3)
    driver.get("https://vip.ceshiren.com/#/ui_study")
    driver.find_element(By.ID, "openWindows")
    driver.quit()

三、常见交互方法

3.1、元素操作

  • 点击:click()
  • 输入:send_keys()
  • 清空:clear()
python 复制代码
# 点击搜索框
driver.find_element(By.ID,"kw").click()
# 输入"霍格沃兹测试开发"
driver.find_element(By.ID,"kw").send_keys("霍格沃兹测试开发")
# 清空搜索框中信息
driver.find_element(By.ID,"kw").clear()

3.2、获取元素属性信息

  • 获取元素属性信息

  • 原因:

    • 定位到元素后,获取元素的文本信息,属性信息等
  • 目的:

    • 根据这些信息进行断言或者调试
  • 演练地址: 霍格沃兹测试开发

相关推荐
魔力之心3 分钟前
TensorFlow2 study notes[1]
人工智能·python·tensorflow
猎嘤一号1 小时前
Windows11桌面解锁守护脚本
开发语言·python·opencv
蓝婷儿2 小时前
Python 数据建模与分析项目实战预备 Day 2 - 数据构建与字段解析(模拟简历结构化数据)
开发语言·python·机器学习
青衫客362 小时前
浅谈 Python 中的 yield——yield的返回值与send()的关系
开发语言·python
测试老哥3 小时前
Python+Selenium实现自动化测试
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
前端 贾公子7 小时前
pnpm 的 resolution-mode 配置 ( pnpm 的版本解析)
前端
Dxy12393102167 小时前
Python PDFplumber详解:从入门到精通的PDF处理指南
开发语言·python·pdf
伍哥的传说7 小时前
React 自定义Hook——页面或元素滚动到底部监听 Hook
前端·react.js·前端框架
在努力的韩小豪8 小时前
如何从0开始构建自己的第一个AI应用?(Prompt工程、Agent自定义、Tuning)
人工智能·python·llm·prompt·agent·ai应用·mcp
麦兜*9 小时前
Spring Boot 集成Reactive Web 性能优化全栈技术方案,包含底层原理、压测方法论、参数调优
java·前端·spring boot·spring·spring cloud·性能优化·maven