小牛丨软件测试学习小牛丨软件测试学习
首页
  • 业务测试面试题
  • 数据库测试面试题
  • Linux测试环境面试题
  • 网络协议测试面试题
  • 中间件测试面试题
  • Java测试开发面试题
  • Python测试开发面试题
  • Python自动化面试题
  • Java自动化面试题
  • 性能测试面试题
  • 手撕代码
  • HR面试题
  • 系列总入口
  • 业务测试理论
  • 数据库测试
  • Linux测试环境
  • 网络协议
  • 中间件测试
  • Python编程
  • Java编程
  • 自动化测试
  • 性能测试
  • AI测试
  • HR面试
  • AI测试学习路线
  • AI测试基础面试题
  • 大模型测试面试题
  • AI自动化测开面试题
  • AI Agent测试面试题
  • AI性能与稳定性测试面试题
  • AI应用安全测试面试题
  • 互联网大厂面试真题
  • 互联网中厂面试真题
  • 手机厂商面试真题
  • 通信厂商面试真题
  • 新能源汽车面试真题
  • 银行金融面试真题
  • 项目说明
  • 电商接口文档
  • 实战项目总入口
  • 测试简历编写指南
  • 20K level 简历打磨指南
  • 测试简历模板参考
  • 简历常见问题与避坑
  • 零基础入行专题路径
  • 初中级进阶高级专题路径
  • 零基础小白入行软件测试保姆级学习路线
  • 初中级测试进阶高级测试全路线
首页
  • 业务测试面试题
  • 数据库测试面试题
  • Linux测试环境面试题
  • 网络协议测试面试题
  • 中间件测试面试题
  • Java测试开发面试题
  • Python测试开发面试题
  • Python自动化面试题
  • Java自动化面试题
  • 性能测试面试题
  • 手撕代码
  • HR面试题
  • 系列总入口
  • 业务测试理论
  • 数据库测试
  • Linux测试环境
  • 网络协议
  • 中间件测试
  • Python编程
  • Java编程
  • 自动化测试
  • 性能测试
  • AI测试
  • HR面试
  • AI测试学习路线
  • AI测试基础面试题
  • 大模型测试面试题
  • AI自动化测开面试题
  • AI Agent测试面试题
  • AI性能与稳定性测试面试题
  • AI应用安全测试面试题
  • 互联网大厂面试真题
  • 互联网中厂面试真题
  • 手机厂商面试真题
  • 通信厂商面试真题
  • 新能源汽车面试真题
  • 银行金融面试真题
  • 项目说明
  • 电商接口文档
  • 实战项目总入口
  • 测试简历编写指南
  • 20K level 简历打磨指南
  • 测试简历模板参考
  • 简历常见问题与避坑
  • 零基础入行专题路径
  • 初中级进阶高级专题路径
  • 零基础小白入行软件测试保姆级学习路线
  • 初中级测试进阶高级测试全路线
  • 三大自动化精华文章

    • 三大自动化精华文章
    • 1. 接口自动化测试项目怎么讲
    • 2. 接口自动化框架应该包含哪些模块
    • 3. Web 自动化测试怎么入门
    • 4. Selenium 面试怎么回答
    • 5. App 自动化测试怎么准备
    • 6. Appium 面试怎么讲
    • 7. 自动化用例分层怎么设计
    • 8. 自动化测试数据怎么管理
    • 9. 自动化报告和持续集成怎么做
    • 10. 自动化项目怎么写进简历
⌕
🛒项目实战📦资料包🛠测试神器AIAI路线CV简历测评🧭入行测评🧪测开测评🎯训练营🏆案例❤赞赏我

3. Web 自动化测试怎么入门

Web 自动化测试主要用于模拟用户在浏览器中的操作,比如打开页面、输入账号密码、点击按钮、选择下拉框、提交表单、校验页面结果。测试岗位面试中,Web 自动化常和 Selenium、元素定位、等待机制、PO 模式、数据驱动、失败截图、CI 集成一起被问到。入门 Web 自动化,不是先追求复杂框架,而是先理解浏览器、页面元素、定位方式、操作和断言。

很多同学学习 Web 自动化时,上来就搭框架,结果元素定位不稳定、等待不会写、用例经常失败。正确路径应该是:先会定位元素和操作页面,再理解等待和断言,再封装 Page Object,最后再做数据驱动、报告和持续集成。

一、Web 自动化适合测什么

Web 自动化适合稳定、重复、核心的页面流程。

常见场景:

  • 登录;
  • 注册;
  • 搜索;
  • 表单提交;
  • 订单创建;
  • 后台审核;
  • 权限菜单展示;
  • 文件上传下载;
  • 冒烟测试;
  • 回归测试。

不适合频繁变化、页面不稳定、一次性验证的场景。

二、Web 自动化常用工具

常见工具:

  • Selenium;
  • Playwright;
  • Cypress;
  • Robot Framework;
  • pytest / TestNG;
  • Allure;
  • Jenkins。

传统测试岗位问得最多的是 Selenium,但新项目也越来越多使用 Playwright。

三、入门第一步:打开浏览器

Selenium 示例:

from selenium import webdriver

browser = webdriver.Chrome()
browser.get("https://example.com")
browser.quit()

这个流程说明 Web 自动化是通过浏览器驱动控制真实浏览器。

四、元素定位

元素定位是 Web 自动化基础。

常见定位方式:

  • id;
  • name;
  • class name;
  • tag name;
  • link text;
  • partial link text;
  • css selector;
  • xpath。

优先使用稳定属性,比如 id、data-testid、唯一 name。不要过度依赖绝对 XPath。

五、常见页面操作

常见操作包括:

  • 点击;
  • 输入;
  • 清空;
  • 获取文本;
  • 获取属性;
  • 下拉选择;
  • 鼠标悬停;
  • 切换 iframe;
  • 切换窗口;
  • 上传文件;
  • 滚动页面。

示例:

username = browser.find_element("id", "username")
username.send_keys("tester")

六、等待机制

Web 自动化不稳定,很大一部分原因是等待没处理好。

常见等待:

  • 强制等待:sleep;
  • 隐式等待:implicitly_wait;
  • 显式等待:WebDriverWait。

推荐显式等待,等到元素可见、可点击或文本出现。

不要大量使用 sleep,会让脚本慢且不稳定。

七、断言怎么做

Web 自动化断言页面结果,而不是只看操作是否执行。

常见断言:

  • 页面是否跳转;
  • 文本是否出现;
  • 弹窗是否出现;
  • 表格数据是否正确;
  • 按钮是否可用;
  • 菜单是否展示;
  • URL 是否正确;
  • 页面元素是否存在。

例如登录成功后断言用户名或首页元素出现。

八、PO 模式怎么理解

Page Object 模式把页面元素和操作封装到页面类中。

好处:

  • 用例更清晰;
  • 页面元素集中维护;
  • 页面变更时改一处;
  • 减少重复代码。

结构:

pages/
  login_page.py
testcases/
  test_login.py

用例调用页面方法,而不是直接写一堆定位代码。

九、Web 自动化常见不稳定原因

  • 元素定位不稳定;
  • 页面加载慢;
  • 弹窗遮挡;
  • iframe 未切换;
  • 新窗口未切换;
  • 数据不独立;
  • 环境慢;
  • 浏览器版本和驱动不匹配;
  • 用例之间互相依赖。

面试时能说出这些,会显得有实战经验。

十、入门学习路径

建议按顺序学:

  1. HTML 基础;
  2. 浏览器开发者工具;
  3. Selenium 基础操作;
  4. 元素定位;
  5. 等待机制;
  6. 常见控件处理;
  7. 断言;
  8. PO 模式;
  9. pytest/TestNG;
  10. 报告和 Jenkins。

十一、面试回答模板

如果面试官问“Web 自动化测试怎么入门”,可以这样回答:

Web 自动化入门我会先掌握浏览器驱动、元素定位、页面操作、等待机制和断言。常用工具是 Selenium 或 Playwright。自动化场景优先选择稳定、重复、核心的流程,比如登录、搜索、表单提交和后台审核。实现时先通过 id、css、xpath 等方式定位元素,再进行输入、点击、选择、切换 iframe 或窗口等操作,最后断言页面文本、URL、表格数据或元素状态。框架层面会使用 Page Object 模式封装页面元素和操作,结合 pytest/TestNG、Allure 和 Jenkins 做回归执行。

十二、常见追问

追问:Web 自动化为什么不稳定?

常见原因是元素定位不稳定、等待不合理、页面加载慢、弹窗遮挡、iframe 或窗口未切换、测试数据不独立。

追问:什么时候不适合做 Web 自动化?

页面频繁变化、需求不稳定、一次性验证或视觉类强依赖场景,不适合优先自动化。

追问:PO 模式解决什么问题?

页面元素和操作集中封装,减少重复代码,提高维护性。

十三、练习清单

  1. 打开浏览器;
  2. 定位输入框;
  3. 输入账号密码;
  4. 点击登录;
  5. 显式等待首页元素;
  6. 断言登录成功;
  7. 处理下拉框;
  8. 处理 iframe;
  9. 封装 LoginPage;
  10. 生成自动化报告。

Web 自动化入门重点是稳定性。元素定位、等待机制、断言和 PO 模式,比堆很多用例更重要。

配套刷题:

  • Python自动化面试题
相关推荐

下一步可以看这些

面试通关软件测试面试通关系列精华文章

把面试题、项目、简历和训练营串成一套求职准备路径。

入行路线零基础入行软件测试专题路径

从测评、学习路线、项目、简历到面试,按顺序入行。

进阶路线初中级测试进阶高级专题路径

接口自动化、性能测试、CI/CD、复杂业务质量保障进阶路线。

AI 方向AI 测试学习路线专题页

大模型评测、RAG 测试、Agent 测试和 AI 自动化路线。

求职结果Offer 案例 / 学员案例展示

看看真实学员 Offer 案例,判断目标和学习投入是否匹配。

资料 / 交流群添加小牛微信

备注:资料、简历、AI 或找工作,领取对应资料或进交流群。

添加小牛微信
Prev
2. 接口自动化框架应该包含哪些模块
Next
4. Selenium 面试怎么回答