案例:我尝试了课程中的TpShop网页无法正常访问,所以学习过程中我自己换成了网易邮箱登录界面来进行验证!注意该篇笔记中在底部放入了我自己的验证过程!(见目录:⭐6.网易邮箱登录测试的实现代码)大家可自行复制我的代码尝试!
视频链接:黑马程序员(仅做学习记录,如有侵权请告知删除)https://www.bilibili.com/video/BV1edEizxEbU/?spm_id_from=333.1387.favlist.content.click
目录
一、AI手工测试入门
1.测试基础
1.1 软件测试是什么
软件测试是检查软件是否按预期运行的过程。
1.2 作用
保证质量、降低成本、提升体验。
1.3 测什么
测试内容主要围绕质量模型展开——是确保软件在功能、性能、安全性、易用性、兼容性、可维护性、可迁移性、可靠性方面达到预期质量水平。
1.4 测试流程
需求分析、测试计划、测试设计、测试执行、缺陷管理、测试报告。

1.5 质量模型的应用示例
2.AI工具基本应用(DeepSeek)
2.1 DeepSeek三种模式应用:
- 基础模式:常规问题、速度快
- 深度思考(R1):复杂问题、速度慢
- 联网搜索:时效问题、适中
2.2 AI沟通使用:
使用结构化的表达,可提高精准率。结构化公式:角色+任务+背景+要求+输出
2.3 应用案例:(假设示例已存在背景条件)
提示词:

需求文档:

将需求文档和评审要求发送给AI工具:

生成结果如下:

结果不同取决于投喂的提示词!
3.编写测试计划
3.1 测试计划介绍

3.2 如何用AI编写

4.设计测试
4.1 AI测试步骤:
- 提供需求给AI,设计测试点
- 评审测试点
- 将测试点转为可执行文档(测试用例)
4.2 功能测试点要求:
- 100%覆盖需求
- 边界范围覆盖
- 格式不正确
- 类型不正确
- 为空
4.3 登录案例实战——设计测试
步骤:
1.根据需求设计测试点
测试点:一个功能需要被检查的“点”,是需要覆盖的测试目标。

2. 测试点评审
评审:AI进行查漏补缺。
3.将测试点转为测试用例


生成结果如下:

复制到表格文件:

4.4 登录案例实战——执行测试

5.描述缺陷
5.1 缺陷介绍
软件中存在的任何问题都是缺陷(bug)。
缺陷判断的衡量标准:
- 1.少功能:软件为实现需求规格说明书中明确要求的功能。
- 2.多功能:软件实现的功能超出需求规格说明书指明的范围。
- 3.功能错误:软件出现了需求规格说明书中指明不应该出现的错误。
- 4.隐形功能缺失/错误:软件为实现需求规格说明书中虽未明确指明但应该实现的要求。
- 5.不易使用:软件难以理解,不易使用,运行缓慢,用户体验不好。
5.2 缺陷描述
重点内容:
- 当前指派:将bug提交给谁
- Bug类型: 代码错误、设计缺陷、········
- Bug标题: 描述bug问题
- 严重程度:bug的严重程度
- 优先级: bug的修复紧急程度
- 重现步骤:复现步骤
- 附件: 执行实际结果截图或日志文件


5.3 案例实战——执行失败的用例提交bug

发送给AI工具:
生成结果如下:

登录禅道官网提交Bug:

输入Bug内容信息,点击保存:


后续由指派的开发人员点击bug详情,并验证复现一下问题,如果确认是bug,则点击确认。修改完善代码后,再上传代码并点击已解决。

再由测试人员进行复现,如果bug不存在了,则点击关闭bug。
以上即为一个bug的测试生命周期。
6.编写测试报告
6.1 测试报告
定义:测试报告是测试工作的总结,记录测试过程、结果和结论。
内容:

6.2 如何利用DS编写测试报告
1.准备数据:

2.编写提示词:

生成结果如下:

二、AI自动化测试
1.自动化测试基础
1.1 自动化测试介绍
定义:自动化测试是通过工具或脚本自动执行测试用例,验证软件功能的过程。
对比:

优势:

1.2 自动化测试示例

1.3 自动化测试流程
挑选用例—>搭建环境—>编写脚本—>回归测试


2.环境搭建
2.1 所需环境

2.2 环境搭建—Python

2.3 环境搭建—Pycharm

2.4 环境搭建—Selenium
①第一种方式:在终端页面下载安装

②第二种方式:在Pycharm中下载安装(推荐)

2.5 环境搭建—浏览器

3.Web自动化测试快速入门
3.1 快速入门——Selenium
- 概念:是一个用于Web应用程序测试的工具。
- 作用:可以使用代码对Web页面进行操作,完成Web应用程序自动化测试。
3.2 快速入门——案例实战
实现步骤:
1.启动浏览器
2.打开百度首页
3.搜索操作
①查找搜索文本框,输入:搜索关键字
②查找“百度一下”按钮,点击开始搜索
4.关闭浏览器
代码框架:
3.3 如何利用DS实现
提示词:

生成结果如下:(实现代码)
# 导入selenium相关模块
from selenium import webdriver
from selenium.webdriver.common.by import By
import time # 用于添加简单等待
# 1. 启动Edge浏览器
driver = webdriver.Chrome() # 创建Edge浏览器实例
# 2. 打开百度首页
driver.get("https://www.baidu.com") # 访问百度网址
time.sleep(2) # 等待2秒让页面加载(简单等待方式)
# 3. 定位搜索框并输入关键词
# 通过ID定位搜索框元素,ID为'kw'
search_box = driver.find_element(By.ID, value="kw")
search_box.clear() # 清空搜索框原有内容
search_box.send_keys("北京烤鸭") # 输入指定关键词
time.sleep(2) # 等待2秒让页面加载(简单等待方式)
# 4. 定位并点击搜索按钮
# 通过ID定位搜索按钮,ID为'su'
search_btn = driver.find_element(By.ID, value="su")
search_btn.click() # 执行点击操作
time.sleep(5) # 等待2秒让页面加载(简单等待方式)
# 后续可添加更多操作,如等待搜索结果加载、验证结果等
# 最后关闭浏览器(可根据需要保留,若脚本执行完自动关闭)
driver.quit()

4.Pycharm集成AI编码工具
小结:
4.1 安装

4.2 注释
4.3 为#注释文本处给出智能提示补全代码

5.通义灵码应用实战
5.1 利用AI工具编写登录自动化测试脚本
自动化测试流程:

这里因为老师提供的TpShop部署环境,我登陆其网址不能正确访问,于是我决定将用例换成网易邮箱的登录界面: https://mail.163.com/
编写脚本:

案例提示词:

(注意:以上为老师的步骤模板,某些部分不同的元素我都相应改成了网易邮箱登陆页面的元素,动态变化的元素需要手动地在开发者工具中查找定位元素名并修改)
5.2 小结

⭐6.网易邮箱登录测试的实现代码
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
# 初始化浏览器驱动(这里以Chrome为例)
driver_path = r'C:\Users\lenove\Downloads\chromedriver-win64\chromedriver.exe' #下载浏览器驱动到本地路径
service = Service(driver_path) #保存驱动路径的服务
driver = webdriver.Chrome(service=service) #启动服务
# 打开网易邮箱登录页面
driver.get("https://mail.163.com/")
driver.maximize_window() # 最大化浏览器窗口
# 显式等待:等待表单iframe加载完成(网易邮箱登录框在iframe内)
WebDriverWait(driver, 5).until(
EC.frame_to_be_available_and_switch_to_it(
(By.CSS_SELECTOR, "iframe[id^='x-URS-iframe']")
)
)
time.sleep(3)
# 定位账号输入框
email_input = driver.find_element(
By.CSS_SELECTOR, "input[name='email'][data-placeholder='邮箱账号或手机号码']"
)
email_input.send_keys("你的账号") # 替换为你的实际测试账号
time.sleep(3)
# 定位密码输入框
pwd_input = driver.find_element(
By.CSS_SELECTOR, "input[name='password'][data-placeholder='输入密码']"
)
pwd_input.send_keys("你的密码") # 替换为你的实际测试密码
time.sleep(3)
# 定位登录按钮
login_btn = driver.find_element(
By.CSS_SELECTOR, "#dologin"
)
login_btn.click()
time.sleep(10)
driver.quit() # 关闭浏览器
运行结果:

7.断言
7.1 断言的介绍
断言:是一种检查机制,用于验证某个条件是否为真,如果条件为真测试通过,如果条件为假测试失败。
应用:
1.验证相等
2.验证为真或假
3.验证是否存在集合中
思考:

7.2 登录断言实现
- 获取文本方法:
driver.find_element(By.CSS_SELECTOR, "value").text
- 捕获断言:

- 提示词: #暂停2秒,断言昵称为 1362220000

7.3 小结

8.pytest框架
8.1 知识介绍入门
介绍:Pytest是功能强大且灵活的Python测试框架,广泛用于单元测试、功能测试、集成测试。
特点:
- 自动搜索测试用例。
- 支持参数化测试,fixture等高级功能。
- 详细的测试失败报告,便于调试。
- 丰富的插件生态系统,可扩展功能。
安装:
验证:
更多学习用法可参考官方文档:pytest 文档 - pytest 测试框架
8.2 基本应用
说明:Pytest的测试文件通常以 test_*.py 开头,测试函数也是以 test 开头。

fixture:Pytest为测试提供可重用的代码功能,可以使用scope控制的作用域。
作用:将公共代码抽取出来,后期便于代码复用

8.3 案例应用(提示词)

⭐8.4 对网易邮箱登录模块进行提取公共代码测试:
import pytest
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
# 使用pytest的fixture来封装浏览器的启动和关闭
@pytest.fixture(scope="module")
def browser():
# 初始化浏览器驱动(这里以Chrome为例)
driver_path = r'C:\Users\lenove\Downloads\chromedriver-win64\chromedriver.exe' # 下载浏览器驱动到本地路径
service = Service(driver_path) # 保存驱动路径的服务
driver = webdriver.Chrome(service=service) # 启动服务
driver.implicitly_wait(10) # 设置隐式等待时间为10秒
yield driver # 返回浏览器对象
driver.quit() # 测试结束后关闭浏览器
# 测试登录功能
def test_login(browser):
# 打开163邮箱登录页面
browser.get("https://mail.163.com/")
# 切换到登录iframe,因为登录表单在iframe中
iframe = browser.find_element(By.CSS_SELECTOR, "iframe[id^='x-URS-iframe']")
browser.switch_to.frame(iframe)
# 定位邮箱账号输入框并输入账号
email_input = browser.find_element(By.CSS_SELECTOR, "input[name='email'][data-placeholder='邮箱账号或手机号码']")
email_input.send_keys("你的账号")
# 定位密码输入框并输入密码
password_input = browser.find_element(By.CSS_SELECTOR, "input[name='password'][data-placeholder='输入密码']")
password_input.send_keys("你的密码")
# 定位登录按钮并点击
login_button = browser.find_element(By.CSS_SELECTOR, "#dologin")
login_button.click()
运行结果:

8.5 小结

9.测试报告(基于pytest)
pytest 默认可以生成一些简单报告,比如命令:
pytest --html=report.html可生成静态的 HTML 格式报告(报告格式简单,包含测试用例列表、执行结果(通过 / 失败)、耗时等基本信息。)而 Allure 报告是一种更美观、信息更丰富、功能更强大的测试报告。
下面是使用 pytest 生成可视化 Allure 报告的步骤:
9.1 Allure报告介绍、安装 (前置:已有Java运行环境)
介绍:Allure报告是一个开源的、多语言支持的自动化测试报告工具,皆在生成可视化的、直观、交互式的HTML测试报告。
安装:Allure报告的安装分为两部分,Pytest Allure插件和Allure命令行工具

9.2 Allure应用
步骤:
- 1.使用 pytest 运行测试并生成 Allure 数据:pytest --alluredir=report (指定目录名)
示例:
- 2.启动临时服务生成并查看allure报告:allure serve report(指定目录名)
示例:
- 3.将Allure数据生成静态HTML报告:allure generate report -o allure-report --clean
9.3 小结

本篇完结!
转载自CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/Fxy200466/article/details/148019230
















