Selenium 实战案例:Web 表单自动化测试的完整实现流程

Python3.8

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

Selenium 实战案例:Web 表单自动化测试的完整实现流程

环境准备与依赖安装

确保已安装Python环境(建议3.7及以上版本),通过pip安装Selenium库:

pip install selenium

下载与浏览器版本匹配的WebDriver(如ChromeDriver),并将其路径添加到系统环境变量中。

初始化WebDriver与页面访问

使用Selenium的WebDriver启动浏览器并打开目标页面:

from selenium import webdriver

driver = webdriver.Chrome()  # 使用Chrome浏览器
driver.get("https://example.com/form")  # 替换为目标表单URL

表单元素定位与操作

通过ID、XPath或CSS选择器定位输入框、下拉框等元素,并模拟用户输入:

# 定位文本输入框并输入内容
name_field = driver.find_element("id", "username")
name_field.send_keys("TestUser")

# 定位下拉框并选择选项
from selenium.webdriver.support.ui import Select
dropdown = Select(driver.find_element("id", "country"))
dropdown.select_by_visible_text("China")

# 定位复选框并勾选
checkbox = driver.find_element("css selector", "input[type='checkbox']")
checkbox.click()

表单提交与结果验证

模拟提交操作并验证返回结果是否符合预期:

submit_button = driver.find_element("xpath", "//button[@type='submit']")
submit_button.click()

# 验证提交后页面是否跳转或显示成功消息
success_message = driver.find_element("class name", "alert-success").text
assert "Submission successful" in success_message

异常处理与日志记录

添加异常捕获逻辑和日志记录,增强脚本健壮性:

import logging

logging.basicConfig(filename='form_test.log', level=logging.INFO)

try:
    # 表单操作代码
except Exception as e:
    logging.error(f"Test failed: {str(e)}")
    driver.save_screenshot("error_screenshot.png")  # 保存错误截图
finally:
    driver.quit()  # 确保浏览器关闭

测试脚本封装与参数化

使用单元测试框架(如unittest或pytest)封装脚本,支持多组测试数据:

import pytest

@pytest.mark.parametrize("username, country", [("User1", "China"), ("User2", "USA")])
def test_form_submission(username, country):
    driver = webdriver.Chrome()
    driver.get("https://example.com/form")
    # 使用参数化数据填充表单
    driver.find_element("id", "username").send_keys(username)
    Select(driver.find_element("id", "country")).select_by_visible_text(country)
    driver.quit()

执行测试与报告生成

通过命令行运行测试并生成HTML报告(以pytest为例):

pytest test_forms.py --html=report.html

报告包含用例执行详情、失败原因及截图,便于问题追踪。

持续集成集成

将脚本集成到CI/CD工具(如Jenkins或GitHub Actions)中,配置定时任务或触发条件,实现自动化测试流程。


通过以上步骤可完成一个完整的Web表单自动化测试流程,涵盖从环境搭建到持续集成的关键环节。实际应用中需根据具体表单结构调整定位策略和数据参数。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值