6.11日报

完成软件测试试验六的实验

、实验目的

1、掌握 Selenium 自动化测试环境搭建

2、学习录制与回放测试脚本

3、实现检查点验证与参数化测试

二、实验内容

 

实验前准备 

l  安装Firefox浏览器 

1. 访问 [Firefox官网](https://www.mozilla.org/firefox/)。 

2. 点击 “下载Firefox” → 运行安装程序 → 完成安装。 

3. 打开Firefox,确保能正常访问网页(如百度)。 

 

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

1. 打开Firefox浏览器,访问Selenium IDE插件页面(https://addons.mozilla.org/firefox/addon/selenium-ide/)。 

2. 点击 “添加到Firefox” → 确认安装 → 安装完成后,右上角出现红色“S”图标。 

注意:如果安装失败,检查网络或尝试重启浏览器。 

 

任务一:录制并回放GitHub搜索操作 

目标:录制“搜索GitHub仓库”的操作,并自动回放。 

l  步骤1:启动Selenium IDE并创建项目 

1. 点击Firefox右上角红色“S”图标 → 点击 “Create New Project”。 

2. 输入项目名称(例如 GitHubSearch),在 “Base URL” 输入https://github.com。 

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

 

 

输入项目名称

 

在 “Base URL” 输入https://github.com。

 

点击 “Start Recording” 开始录制。

 

 

l  步骤2:录制搜索操作 

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

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

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

 

 

 

 

l  步骤3:回放脚本 

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

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

失败排查: 

- 如果回放失败,检查搜索框的name属性是否为q(右键搜索框 → 检查元素 → 查看name值)

 

点击Run current test

 

 

 

 

 

 

任务二:验证搜索结果标题(检查点) 

目标:编写脚本检查GitHub搜索结果的标题是否包含关键词。 

l  步骤1:安装Python和Selenium库 

1. 安装Python: 

   - 访问 [Python官网](https://www.python.org/downloads/),下载最新版本。 

   - 运行安装程序,务必勾选 “Add Python to PATH” → 完成安装。 

2. 验证安装: 

   - 按 Win + R 输入 cmd → 输入 python --version,显示版本号即成功。 

3. 安装Selenium库: 

   - 在CMD中输入以下命令: 

      bash

      pip install selenium webdriver-manager

 

 

l  步骤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:如果标题不包含关键词,报错并停止脚本。 

 

 

 

 

 

l  步骤3:运行脚本 

1. 在CMD中进入脚本所在目录(例如文件在桌面): 

    bash

   cd Desktop

   python github_test.py

  

2. 预期结果: 

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

 

 

任务三:参数化测试(多关键词搜索) 

目标:用不同关键词测试搜索结果的正确性。 

l  步骤1:准备测试数据文件 

1. 右键桌面 → 新建文本文档 → 输入以下内容: 

   csv

   keyword,expected_result

   Selenium,有结果

   InvalidKeyword123,无结果

 

 

2. 保存文件为 search_data.csv(后缀改为 .csv)。 

l  步骤2:编写参数化脚本 

1. 新建文件 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()

 

 

 

l  步骤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

以下为测试结果:

 

 

 

实验中遇到的问题及解决方法

 

访问github不成功,用代理,但有时候仍然可能访问不了,多试几次就可以了。

浏览器驱动问题

问题:浏览器驱动无法正确安装或更新。

解决方法:

使用webdriver-manager库可以自动管理浏览器驱动,确保其为最新版本。

手动下载驱动并指定路径,确保驱动与浏览器版本兼容。

权限问题

问题:脚本在执行时遇到权限问题,无法创建或修改文件。

解决方法:

以管理员权限运行命令行工具或IDE。

检查文件和目录的权限设置,确保脚本有读写权限。

网络问题

问题:网络不稳定导致测试失败。

解决方法:

确保网络连接稳定,避免在网络状况不佳时运行测试。

在脚本中增加重试机制,当遇到网络问题时自动重试。

posted @ 2025-06-15 23:03  Code13  阅读(9)  评论(0)    收藏  举报