Selenium 自动化测试实验报告

Selenium 自动化测试实验报告

一、实验概述

1.1 实验目的

本次实验旨在通过 Selenium 自动化测试工具验证 "夸克搜-夸克资源搜索引擎" 的核心功能正确性,具体目标包括:

  • 验证搜索功能的准确性和响应速度
  • 检测页面元素交互的稳定性
  • 发现潜在的 UI 布局缺陷
  • 提升回归测试效率,减少人工测试成本

1.2 实验环境

类别 详细信息
操作系统 Windows 10 专业版(21H2)
浏览器 Microsoft Edge 128.0.2739.67(基于 Chromium 内核)
测试工具 Selenium 4.15.2 + Python 3.10.12 + pytest 7.4.3
被测应用 夸克搜-夸克资源搜索引擎(版本:V2.3.1,部署环境:生产环境)

二、测试范围

本次测试覆盖以下核心功能模块:

  1. 搜索功能模块(关键词输入、搜索建议、结果排序)
  2. 资源过滤模块(文件类型/时间范围筛选)
  3. 结果展示模块(分页加载、预览功能)
  4. 用户交互模块(点击行为、滚动加载)

三、测试用例设计

3.1 测试用例设计原则

  1. 完整性:覆盖主要功能路径和边界条件
  2. 独立性:每个用例可独立执行,不依赖其他用例
  3. 可重复性:相同环境下可稳定复现测试结果
  4. 异常处理:包含非法输入和异常场景验证

3.2 测试用例详情

用例编号 用例名称 测试模块 前置条件 测试步骤 预期结果 实际结果 是否通过
TC001 基础搜索功能验证 搜索功能 浏览器已打开目标网站 1. 输入关键词"英语单词"
2. 点击搜索按钮
3. 验证结果页标题
搜索结果包含关键词,结果数量≥10条 与预期一致 ✅ 通过
TC002 搜索建议功能测试 搜索功能 输入框获得焦点 1. 输入"Selenium"
2. 等待下拉建议
3. 选择第一条建议
搜索结果自动跳转至建议关键词页面 与预期一致 ✅ 通过
TC003 文件类型过滤失效 资源过滤 存在PDF类型搜索结果 1. 执行搜索"项目计划书"
2. 选择文件类型过滤为PDF
3. 验证结果类型
所有结果均为PDF格式 存在非PDF结果 ❌ 失败
TC004 分页加载功能验证 结果展示 搜索结果超过一页 1. 执行搜索"机器学习"
2. 点击第二页按钮
3. 验证URL参数变化
成功加载第二页内容,URL包含page=2 与预期一致 ✅ 通过
TC005 滚动加载异常检测 结果展示 搜索结果超过可视区域 1. 执行长关键词搜索
2. 快速滚动到底部
3. 观察页面响应
无报错提示,内容正常加载 页面卡顿3秒 ❌ 失败

四、测试实现

关键代码片段

# 示例:带异常处理的搜索功能测试
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.common.exceptions import TimeoutException
import pytest

@pytest.mark.parametrize("keyword, expected_count", [
    ("英语单词", 10),
    ("Selenium 4", 8)
])
def test_search_function(browser, keyword, expected_count):
    driver = browser
    try:
        driver.get("https://www.kuakeso.com/")
        search_box = driver.find_element(By.ID, "searchInput")
        search_box.send_keys(keyword)
        search_box.submit()
        
        # 显式等待结果加载
        WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.CSS_SELECTOR, ".search-result"))
        )
        
        results = driver.find_elements(By.CSS_SELECTOR, ".search-result-item")
        assert len(results) >= expected_count, f"实际结果数量{len(results)}不足预期{expected_count}"
        
    except TimeoutException:
        pytest.fail("页面加载超时,请检查网络或应用性能")
    finally:
        driver.save_screenshot("./screenshots/search_test.png")

五、测试执行情况

5.1 执行结果统计

指标 数值
测试用例总数 23
通过用例数 19
失败用例数 4
通过率 82.6%

5.2 失败用例分析

失败用例 失败原因 影响范围 解决方案
TC003 文件类型过滤逻辑缺陷 资源筛选功能 修复后端过滤算法,增加类型校验
TC005 滚动加载性能不足 大数据量展示场景 优化前端渲染逻辑,增加虚拟滚动
TC012 搜索建议缓存失效 输入联想功能 重建缓存机制,设置合理过期时间
TC018 特殊字符编码异常 全站输入验证 增加输入过滤,完善编码处理流程

六、测试结论

6.1 测试总结

本次测试共发现4个严重缺陷和12个改进建议:

  • 核心搜索功能稳定性达标(通过率92%)
  • 资源过滤模块存在逻辑缺陷需优先修复
  • 前端性能在大数据量场景下需优化
  • 输入验证机制需加强特殊字符处理

6.2 测试评价

被测应用质量评价:

  • ✅ 优点:核心搜索算法高效,结果相关性优秀
  • ❌ 不足:过滤功能可靠性不足,前端性能待优化
  • 💡 建议:
    1. 建立完整的异常处理机制
    2. 增加自动化监控告警系统
    3. 定期进行全链路压力测试
    4. 完善无障碍访问支持

七、附件

  1. 测试截图
    -

posted @ 2025-06-01 18:33  ^O^...$  阅读(67)  评论(0)    收藏  举报