selenium工具测试

selenium工具测试

一、实验目的

1、掌握 Selenium 自动化测试环境搭建
2、学习录制与回放测试脚本
3、实现检查点验证与参数化测试

二、实验内容

实验前准备
安装Firefox浏览器

  1. 访问 Firefox官网
  2. 点击 “下载Firefox” → 运行安装程序 → 完成安装。
  3. 打开Firefox,确保能正常访问网页(如百度)。
    我使用的是Microsoft Edge浏览器,能够正常访问页面:
    image

安装Selenium IDE(录制回放工具)

  1. 打开Firefox浏览器,访问Selenium IDE插件页面(https://addons.mozilla.org/firefox/addon/selenium-ide/)。
  2. 点击 “添加到Firefox” → 确认安装 → 安装完成后,右上角出现红色“S”图标。
    注意:如果安装失败,检查网络或尝试重启浏览器。
    我的浏览器需要点击右上角的三个点,点击扩展,获取拓展,搜索完成后进行获取:
    image

image

image

任务一:录制并回放GitHub搜索操作
目标:录制“搜索GitHub仓库”的操作,并自动回放。
步骤1:启动Selenium IDE并创建项目
image

  1. 点击Firefox右上角红色“S”图标 → 点击 “Create New Project”。
  2. 输入项目名称(例如 GitHubSearch),在 “Base URL” 输入 https://github.com
    image

image

  1. 点击 “Start Recording” 开始录制。
    image

步骤2:录制搜索操作

  1. Firefox自动打开GitHub首页,在搜索框输入 Selenium,按回车键搜索。
    image

  2. 页面跳转至搜索结果页后,返回Selenium IDE界面,点击 “Stop Recording”。
    image

image

注意:操作时不要关闭Selenium IDE窗口。

步骤3:回放脚本

  1. 点击Selenium IDE中的 “Run current test” 按钮(绿色三角形图标)。
    image

  2. 观察浏览器是否自动执行搜索操作,并检查日志区是否显示 “Passed”(绿色标记)。
    失败排查:

  • 如果回放失败,检查搜索框的name属性是否为q(右键搜索框 → 检查元素 → 查看name值)
    日志区域显示结果:
    image

任务二:验证搜索结果标题(检查点)
目标:编写脚本检查GitHub搜索结果的标题是否包含关键词。
步骤1:安装Python和Selenium库

  1. 安装Python:

    • 访问 Python官网,下载最新版本。
    • 运行安装程序,务必勾选 “Add Python to PATH” → 完成安装。
  2. 验证安装:

    • 按 Win + R 输入 cmd → 输入 python --version,显示版本号即成功。
      image
  3. 安装Selenium库:

    • 在CMD中输入以下命令:
      bash
      pip install selenium webdriver-manager
      image

image

步骤2:编写检查点脚本

  1. 打开记事本(或VSCode等编辑器),复制以下代码:
from selenium import webdriver
from selenium.webdriver.common.by import By
from webdriver_manager.firefox import GeckoDriverManager

# 自动启动Firefox浏览器
driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
driver.get("https://github.com")

# 搜索关键词"Selenium"
search_box = driver.find_element(By.NAME, "q")
search_box.send_keys("Selenium")
search_box.submit()

# 检查标题是否包含"Selenium"
assert "Selenium" in driver.title, "❌ 检查点失败:标题缺少关键词!"
print("✅ 检查点验证成功!")

driver.quit()  # 关闭浏览器2. 保存文件为 github_test.py(注意后缀是 .py)。  

代码解释:

  • driver = webdriver.Firefox(...):自动下载驱动并打开浏览器。
  • assert "Selenium" in driver.title:如果标题不包含关键词,报错并停止脚本。
    image

步骤3:运行脚本

  1. 在CMD中进入脚本所在目录(例如文件在桌面):
    bash
    cd Desktop
    python github_test.py

  2. 预期结果:

    • 浏览器自动打开GitHub并搜索 → 控制台显示 “✅ 检查点验证成功!”。
      image

image

任务三:参数化测试(多关键词搜索)
目标:用不同关键词测试搜索结果的正确性。
步骤1:准备测试数据文件

  1. 右键桌面 → 新建文本文档 → 输入以下内容:
    csv
    keyword,expected_result
    Selenium,有结果
    InvalidKeyword123,无结果
    image

image

  1. 保存文件为 search_data.csv(后缀改为 .csv)。
    步骤2:编写参数化脚本
  2. 新建文件 github_param_test.py,复制以下代码:
   import csv
import pytest
from selenium import webdriver
from selenium.webdriver.common.by import By
from webdriver_manager.firefox import GeckoDriverManager

def read_csv():
    with open('search_data.csv', 'r') as f:
        return list(csv.DictReader(f))

@pytest.mark.parametrize("data", read_csv())
def test_search(data):
    driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
    driver.get("https://github.com")

    # 输入关键词并搜索
    search_box = driver.find_element(By.NAME, "q")
    search_box.send_keys(data["keyword"])
    search_box.submit()

    # 根据预期结果验证
    if data["expected_result"] == "有结果":
        assert "No results matched" not in driver.page_source
    else:
        assert "No results matched" in driver.page_source

driver.quit()

image

步骤3:执行测试

  1. 在CMD中输入:
    bash
    pip install pytest # 仅首次需要安装
    pytest github_param_test.py -v

  2. 预期输出:
    plaintext
    ============== test session starts ==============
    collected 2 items

    github_param_test.py::test_search[Selenium-有结果] PASSED
    github_param_test.py::test_search[InvalidKeyword123-无结果] PASSED
    image

实验报告提交要求
每个实验的代码和每个步骤结束后的运行结果截图。
实验中遇到的问题及解决方法。
问题一:我一开始使用的是Chrome浏览器,但是在国内无法使用正版的Selenium IDE插件。
解决方法:我改用Edge浏览器的扩展商店安装Selenium IDE用来完成任务一。
问题二:GitHub搜索框定位失败,原因是指导书中的搜索框属性与当前GitHub网站的不一致。
解决方法:重新检查并定位搜索框位置,确定属性值。
问题三:WebDriver驱动自动下载失败,SSL证书错误。
解决方法:手动下载了驱动,并在代码中指定驱动路径。
from selenium.webdriver.edge.service import Service
EDGE_DRIVER_PATH = r"D:\drivers\msedgedriver.exe"
service = Service(executable_path=EDGE_DRIVER_PATH)
driver = webdriver.Edge(service=service)

posted @ 2026-05-23 20:33  haoyinuo  阅读(9)  评论(0)    收藏  举报