软件测试/测试开发丨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、获取元素属性信息

  • 获取元素属性信息

  • 原因:

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

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

相关推荐
HAPPY酷2 分钟前
C++ 和 Python 的“容器”对决:从万金油到核武器
开发语言·c++·python
却尘4 分钟前
Next.js 请求最佳实践 - vercel 2026一月发布指南
前端·react.js·next.js
ccnocare5 分钟前
浅浅看一下设计模式
前端
Lee川9 分钟前
🎬 从标签到屏幕:揭秘现代网页构建与适配之道
前端·面试
Ticnix36 分钟前
ECharts初始化、销毁、resize 适配组件封装(含完整封装代码)
前端·echarts
纯爱掌门人39 分钟前
终焉轮回里,藏着 AI 与人类的答案
前端·人工智能·aigc
twl42 分钟前
OpenClaw 深度技术解析
前端
gpfyyds66643 分钟前
Python代码练习
开发语言·python
崔庆才丨静觅1 小时前
比官方便宜一半以上!Grok API 申请及使用
前端
星光不问赶路人1 小时前
vue3使用jsx语法详解
前端·vue.js