You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从零搭建功能测试自动化:Selenium、Python、PyTest实践问询

问题解答

1. 完全可以用pytest实现全自动化测试

你已经能用Selenium完成表单填写和流程跳转,结合pytest刚好能补全测试用例管理、前置/后置操作复用、结果校验、批量执行这些核心能力,是当前最适合你的方案。

落地步骤参考:

  • 用pytest结构化测试用例:把每个手动测试用例转换成一个pytest函数,函数里包含「流程执行(你已实现的Selenium代码)+ 结果校验」两部分
  • 用fixture复用重复操作:把登录、浏览器初始化、环境准备这类所有用例都需要的前置操作,封装成pytest的fixture,避免重复代码
  • 拆解预期结果为可校验的点:对方给的预期结果(比如“提交后状态为待审核”),要转换成Selenium能定位并校验的具体元素:比如定位状态文本元素,用assert校验文本是否匹配;或者校验页面跳转后的URL是否正确;如果涉及数据存储,能通过前端展示的就校验前端,不能的话再跟对方协调获取接口或数据库查询权限

2. 不需要刻意索要技术性测试用例

你可以自己通过手动执行测试用例,梳理每个步骤对应的可自动化校验点。比如对方给的用例写“提交申请后显示成功提示”,你手动跑一遍,记录提示框的元素定位方式(ID、XPath等),然后在自动化代码里用assert校验该元素是否可见、文本是否正确。

如果遇到某些预期结果无法通过前端校验的情况(比如后台数据状态),再针对性地跟对方沟通,索要必要的校验手段(比如查询接口、数据库只读权限),而不是直接要技术性用例。

3. 录制流程后人工校验视频的局限性

这种方式是可行的,但只适合少量核心流程的验证,完全不适合全量测试:

  • 效率极低:人工看视频耗时比手动测试还久
  • 容易漏检:人眼很难注意到所有细节
  • 无法批量执行:没法快速回归测试

更优的替代方案(除pytest+Selenium外):

  • 数据驱动测试:用pytest.mark.parametrize批量测试不同的表单输入数据,覆盖更多场景
  • 引入测试报告:用pytest-html生成可视化HTML报告,方便快速定位失败用例的问题
  • 图像识别辅助:如果页面元素定位经常变化,可以用PyAutoGUI结合图像识别做元素定位,但维护成本较高,仅作为补充

示例代码(pytest+Selenium)

import pytest
from selenium import webdriver
from selenium.webdriver.common.by import By

# 全局前置/后置:初始化浏览器+登录
@pytest.fixture(scope="module")
def driver():
    driver = webdriver.Chrome()
    driver.maximize_window()
    # 登录操作
    driver.get("你的应用登录URL")
    driver.find_element(By.ID, "username").send_keys("test_user")
    driver.find_element(By.ID, "password").send_keys("test_pwd")
    driver.find_element(By.ID, "login-btn").click()
    yield driver
    driver.quit()

# 测试用例:提交申请流程
def test_submit_application(driver):
    # 跳转到申请页面
    driver.get("申请页面URL")
    # 填写表单(你已实现的代码)
    driver.find_element(By.ID, "applicant-name").send_keys("张三")
    driver.find_element(By.ID, "applicant-phone").send_keys("13800138000")
    # 提交表单
    driver.find_element(By.ID, "submit-btn").click()
    # 校验预期结果
    assert driver.current_url == "提交成功后的页面URL"
    status_text = driver.find_element(By.CLASS_NAME, "audit-status").text
    assert status_text == "待审核"

内容的提问来源于stack exchange,提问作者michaelbane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 15:32:50