您的位置:首页 > 财经 > 金融 > 专业行业网站建站报价_义乌1688批发网_北京网站建设公司大全_营销宣传方式有哪些

专业行业网站建站报价_义乌1688批发网_北京网站建设公司大全_营销宣传方式有哪些

2025/3/9 10:22:44 来源:https://blog.csdn.net/2301_80667728/article/details/145998429  浏览:    关键词:专业行业网站建站报价_义乌1688批发网_北京网站建设公司大全_营销宣传方式有哪些
专业行业网站建站报价_义乌1688批发网_北京网站建设公司大全_营销宣传方式有哪些

文章目录

  • 一、项目背景
  • 二、项目功能
    • 用户注册/登录
    • 帖子列表页
    • 发布帖子
    • 个人中心
  • 三、测试工具和环境
  • 四、测试计划
    • 非功能测试用例
    • 功能测试用例
    • 部分人工手动测试截图
    • web自动化测试
      • 测试用例
      • 代码框架
    • 配置内容代码文件(Utils.py)
    • 注册页面代码文件(RegistrationPage.py)
    • 登录页面代码文件(LoginPage.py)
    • 发布帖子页面代码文件(PublishingPage.py)
    • 个人中心页面代码文件(PersonalCenterPage)
    • 测试论坛系统代码文件(RunTest.py)
  • 五、总结
    • 测试背景
    • 测试用例执行情况
      • 用户注册
      • 用户登录
      • 个人中心页面
      • 发布帖子页面
    • 不足和改进
      • 不足
      • 改进
    • 小结


一、项目背景

本系统延续前后端分离架构,使用MySQL关系型数据库存储结构化数据,部署于云服务器环境。
前端页面扩展为六大核心模块:用户注册/登录页、主版块索引页、帖子详情页(含评论互动)、内容发布页、个人中心页及消息通知页。
该论坛系统适用于中小型兴趣社区、企业知识共享平台等场景,通过模块化设计既可快速部署基础论坛,也可通过功能扩展演进为综合性社区平台。

二、项目功能

该论坛系统主要有以下几个功能:

  • 用户注册/登录;
  • 帖子列表展示;
  • 发布帖子
  • 个人中心。

用户注册/登录

  • 采用用户自主注册机制;
  • 登录成功跳转至版块列表页,失败时弹出错误提示窗口;
  • 登录态异常自动退回至登录页。

帖子列表页

  • 按发帖时间倒序排列主题帖;
  • 展示帖子标题、作者、发布时间、浏览数、点赞量和评论数;
  • 点击帖子跳转至详情页

发布帖子

  • 支持纯文本发帖;
  • 有版块选择;
  • 提交成功刷新当前页面数据。

个人中心

  • 可修改头像、昵称、邮箱地址和密码等;
  • 点击提交修改按钮返回登录页面。

三、测试工具和环境

操作系统:Windows 11 家庭中文版

处理器: 11th Gen Intel(R) Core(TM) i5-1155G7 @ 2.50GHz 2.50 GHz

浏览器:Chrome 版本 133.0.6943.142(正式版本) (64 位)

测试工具:Python,Selenium

自动化脚本运行环境: PyCharm 2024.2.1

四、测试计划

非功能测试用例

功能测试用例

部分人工手动测试截图

情景一:异常注册

未勾选 使用条款和隐私政策

密码和确认密码不一致

情景二:异常登录

用户名或密码错误

情景三:登录成功后的跳转页面

情景四:登录成功后的发布帖子页面

情景五:登录成功后的个人中心页面

web自动化测试

测试用例

见上面的功能测试用例

代码框架

配置内容代码文件(Utils.py)

# 导入所需的模块
import datetime  # 用于处理日期和时间
import os  # 用于文件和目录操作
import sys  # 用于获取调用栈信息# 导入Selenium相关模块
from selenium import webdriver  # Selenium 核心模块
from selenium.webdriver.chrome.service import Service  # Chrome 浏览器服务
from webdriver_manager.chrome import ChromeDriverManager  # 自动管理 ChromeDriver# 创建浏览器驱动类
class Driver:driver = ""  # 类属性,用于保存浏览器驱动实例def __init__(self):"""初始化浏览器驱动配置"""# 创建 Chrome 浏览器选项对象(可用于添加扩展、无头模式等配置)options = webdriver.ChromeOptions()# 指定 ChromeDriver 的路径driver_path = "D:/Downloads/chromedriver-win64/chromedriver-win64/chromedriver.exe"# 创建 Chrome 浏览器驱动实例self.driver = webdriver.Chrome(executable_path=driver_path,  # 指定驱动路径options=options  # 传入浏览器选项)# 设置隐式等待(作用于整个浏览器生命周期,查找元素时的默认等待时间)self.driver.implicitly_wait(2)  # 单位:秒def getScreeShot(self):"""屏幕截图方法"""# 生成日期格式的目录名(示例:2023-08-01)dirname = datetime.datetime.now().strftime("%Y-%m-%d")# 拼接截图保存路径(上级目录的 images 文件夹下)screenshot_dir = "../images/" + dirname# 如果目录不存在则创建if not os.path.exists(screenshot_dir):os.mkdir(screenshot_dir)# 生成文件名格式:# 调用当前方法的上层方法名 + 时间戳 + 后缀(示例:test_login_2023-08-01-143045.png)filename = (sys._getframe().f_back.f_code.co_name  # 获取调用该方法的函数名+ datetime.datetime.now().strftime("%Y-%m-%d-%H%M%S")+ ".png")# 保存截图到指定路径self.driver.save_screenshot(os.path.join(screenshot_dir, filename))# 创建全局浏览器驱动实例(可被其他模块导入使用)
ForumDriver = Driver()

注册页面代码文件(RegistrationPage.py)

# 测试论坛注册界面
# 本脚本使用 Selenium 库实现对论坛注册界面的自动化测试,包括成功注册和失败注册的测试用例。from selenium.webdriver.common.by import By  # 导入 Selenium 的 By 模块,用于指定元素的查找方式
from common.Utils import ForumDriver  # 导入自定义的 ForumDriver 类,用于获取 WebDriver 实例class ForumRegistration:url = ""  # 用于存储论坛注册页面的 URLdriver = ""  # 用于存储 WebDriver 实例def __init__(self):# 初始化方法,设置注册页面的 URL 并启动 WebDriverself.url = "http://127.0.0.1:9580/sign-up.html"  # 设置论坛注册页面的 URLself.driver = ForumDriver.driver  # 获取 WebDriver 实例self.driver.get(self.url)  # 打开注册页面# 成功注册的测试用例def RegistrationSucTest(self):"""测试正常注册流程:1. 清空所有输入框。2. 输入有效的用户名、昵称、密码和确认密码。3. 勾选用户协议。4. 点击注册按钮。5. 验证是否成功跳转到登录页面。6. 截图保存测试结果。"""# 若连续多次的 send_keys 则会出现关键词拼接,而不是替换。若要替换需要先 clearself.driver.find_element(By.CSS_SELECTOR, "#username").clear()  # 清空用户名输入框self.driver.find_element(By.CSS_SELECTOR, "#nickname").clear()  # 清空昵称输入框self.driver.find_element(By.CSS_SELECTOR, "#password").clear()  # 清空密码输入框self.driver.find_element(By.CSS_SELECTOR, "#passwordRepeat").clear()  # 清空确认密码输入框self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("z11")  # 输入有效的用户名self.driver.find_element(By.CSS_SELECTOR, "#nickname").send_keys("123")  # 输入有效的昵称self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("123")  # 输入有效的密码self.driver.find_element(By.CSS_SELECTOR, "#passwordRepeat").send_keys("123")  # 输入有效的确认密码self.driver.find_element(By.CSS_SELECTOR, "#policy").click()  # 勾选用户协议self.driver.find_element(By.CSS_SELECTOR, "#submit").click()  # 点击注册按钮# 查找注册成功跳转后的页面的元素:登录页面的 用户登录元素self.driver.find_element(By.CSS_SELECTOR, "body > div > div > div > div:nth-child(1) > div > div.card.card-md > div > h2")  # 验证是否成功跳转到登录页面# 添加屏幕截图ForumDriver.getScreeShot()  # 调用截图方法,保存测试结果# 失败注册的测试用例def RegistrationFailTest(self):"""测试异常注册流程:1. 清空所有输入框。2. 输入用户名、密码和确认密码(确认密码与密码不一致)。3. 勾选用户协议。4. 点击注册按钮。5. 验证是否出现注册失败提示。6. 截图保存测试结果。"""# 若连续多次的 send_keys 则会出现关键词拼接,而不是替换。若要替换需要先clearself.driver.find_element(By.CSS_SELECTOR, "#username").clear()  # 清空用户名输入框self.driver.find_element(By.CSS_SELECTOR, "#nickname").clear()  # 清空昵称输入框self.driver.find_element(By.CSS_SELECTOR, "#password").clear()  # 清空密码输入框self.driver.find_element(By.CSS_SELECTOR, "#passwordRepeat").clear()  # 清空确认密码输入框self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("z")  # 输入用户名self.driver.find_element(By.CSS_SELECTOR, "#nickname").send_keys("123")  # 输入昵称self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("12")  # 输入密码# 确认密码和密码输入不一致self.driver.find_element(By.CSS_SELECTOR, "#passwordRepeat").send_keys("123")  # 输入与密码不一致的确认密码self.driver.find_element(By.CSS_SELECTOR, "#policy").click()  # 勾选用户协议self.driver.find_element(By.CSS_SELECTOR, "#submit").click()  # 点击注册按钮# 查找注册失败页面的元素:注册页面的 提示检查确认密码self.driver.find_element(By.CSS_SELECTOR, "#signUpForm > div > div:nth-child(5) > div > div")  # 验证是否出现注册失败提示# 添加屏幕截图ForumDriver.getScreeShot()  # 调用截图方法,保存测试结果

登录页面代码文件(LoginPage.py)

# 测试论坛登录界面
# 本脚本使用 Selenium 库实现对论坛登录界面的自动化测试,包括成功登录和异常登录的测试用例。from selenium.webdriver.common.by import By  # 导入 Selenium 的 By 模块,用于指定元素的查找方式from common.Utils import ForumDriver  # 导入自定义的 ForumDriver 类,用于获取 WebDriver 实例class ForumLogin:url = ""  # 用于存储论坛登录页面的 URLdriver = ""  # 用于存储 WebDriver 实例def __init__(self):# 初始化方法,设置登录页面的 URL 并启动 WebDriverself.url = "http://127.0.0.1:9580/sign-in.html"  # 设置论坛登录页面的 URLself.driver = ForumDriver.driver  # 获取 WebDriver 实例self.driver.get(self.url)  # 打开登录页面# 成功登陆的测试用例def LoginSucTest(self):"""测试正常登录流程:1. 清空用户名和密码输入框。2. 输入正确的用户名和密码。3. 点击登录按钮。4. 验证是否成功登录到首页。5. 截图保存测试结果。"""# 若连续多次的 send_keys 则会出现关键词拼接,而不是替换。若要替换需要先 clearself.driver.find_element(By.CSS_SELECTOR, "#username").clear()  # 清空用户名输入框self.driver.find_element(By.CSS_SELECTOR, "#password").clear()  # 清空密码输入框self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("zhaoliu")  # 输入正确的用户名self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("123")  # 输入正确的密码self.driver.find_element(By.CSS_SELECTOR, "#submit").click()  # 点击登录按钮# 查找登录成功页面的元素:首页标题self.driver.find_element(By.CSS_SELECTOR, "#article_list_board_title")  # 验证是否成功登录到首页# 添加屏幕截图ForumDriver.getScreeShot()  # 调用截图方法,保存测试结果# 异常登陆的测试用例def LoginFailTest(self):"""测试异常登录流程:1. 清空用户名和密码输入框。2. 输入未注册的用户名和密码。3. 点击登录按钮。4. 验证是否出现登录失败提示。5. 截图保存测试结果。"""# 若连续多次的 send_keys 则会出现关键词拼接,而不是替换。若要替换需要先 clearself.driver.find_element(By.CSS_SELECTOR, "#username").clear()  # 清空用户名输入框self.driver.find_element(By.CSS_SELECTOR, "#password").clear()  # 清空密码输入框# 未注册的用户名self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("admin")  # 输入未注册的用户名self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("123")  # 输入密码self.driver.find_element(By.CSS_SELECTOR, "#submit").click()  # 点击登录按钮# 检查是否登录失败:看是否出现 提示登录失败元素self.driver.find_element(By.CSS_SELECTOR, "body > div.jq-toast-wrap.bottom-right > div")  # 验证是否出现登录失败提示# 添加屏幕截图ForumDriver.getScreeShot()  # 调用截图方法,保存测试结果

发布帖子页面代码文件(PublishingPage.py)

from selenium.webdriver.common.by import By  # 导入 Selenium 的 By 模块,用于指定元素的查找方式
from common.Utils import ForumDriver  # 导入自定义的 ForumDriver 类,用于获取 WebDriver 实例# 测试发布帖子页
class PublishingPage:url = ""  # 用于存储论坛主页的 URLdriver = ""  # 用于存储 WebDriver 实例def __init__(self):"""初始化方法,设置论坛主页的URL并启动WebDriver。"""self.url = "http://127.0.0.1:9580/index.html"  # 设置论坛主页的 URLself.driver = ForumDriver.driver  # 获取 WebDriver 实例self.driver.get(self.url)  # 打开论坛主页# 登录状态下发布帖子页的测试def PublishingPageDetail(self):"""测试在登录状态下进入发布帖子页面的流程:1. 点击发布帖子的按钮,进入发布帖子页面。2. 验证页面中是否存在“发新帖”元素,以确认页面加载成功。3. 添加屏幕截图以保存测试结果。"""# 点击发布帖子标签进入发布帖子主页self.driver.find_element(By.CSS_SELECTOR, "#bit-forum-content > div.page-header.d-print-none > div > div > div.col-auto.ms-auto.d-print-none > div > a.btn.btn-primary.d-none.d-sm-inline-block.article_post").click()# 查看发布帖子页面中 发新帖元素是否存在self.driver.find_element(By.CSS_SELECTOR, "#bit-forum-content > div.page-header.d-print-none > div > div > div > h2")# 添加屏幕截图ForumDriver.getScreeShot()  # 调用截图方法,保存测试结果

个人中心页面代码文件(PersonalCenterPage)

from selenium.webdriver.common.by import By  # 导入 Selenium 的 By 模块,用于指定元素的查找方式
from common.Utils import ForumDriver  # 导入自定义的 ForumDriver 类,用于获取 WebDriver 实例# 测试个人中心页
class PersonalCenterPage:url = ""  # 用于存储论坛主页的 URLdriver = ""  # 用于存储 WebDriver 实例def __init__(self):"""初始化方法,设置论坛主页的URL并启动WebDriver。"""self.url = "http://127.0.0.1:9580/index.html"  # 设置论坛主页的 URLself.driver = ForumDriver.driver  # 获取 WebDriver 实例self.driver.get(self.url)  # 打开论坛主页# 登录状态下个人中心页的测试def PersonalCenterPage(self):"""测试在登录状态下进入个人中心页面的流程:1. 点击头像,进入个人主页。2. 点击设置按钮,进入个人中心。3. 验证个人中心页面中是否存在“用户中心”元素。4. 添加屏幕截图以保存测试结果。"""# 点击头像进入个人主页self.driver.find_element(By.CSS_SELECTOR, "#index_nav_avatar").click()# 点击设置按钮进入个人中心self.driver.find_element(By.CSS_SELECTOR, "#index_user_settings").click()# 检查个人中心页中 用户中心元素是否存在:self.driver.find_element(By.CSS_SELECTOR, "#bit-forum-content > div.page-header.d-print-none > div > div > div > h2")# 添加屏幕截图ForumDriver.getScreeShot()  # 调用截图方法,保存测试结果

测试论坛系统代码文件(RunTest.py)

from tests import LoginPage  # 导入登录页面的测试模块
from tests import RegistrationPage  # 导入注册页面的测试模块
from tests import PersonalCenterPage  # 导入个人中心页面的测试模块
from common.Utils import ForumDriver  # 导入公用的 WebDriver 工具类
from tests import PublishingPage  # 导入发布帖子页面的测试模块if __name__ == '__main__':"""主程序入口,用于运行所有测试用例。"""# 注册页面print("开始测试:注册页面")# 注册失败print("测试用例:注册失败")RegistrationPage.ForumRegistration().RegistrationFailTest()  # 调用注册失败的测试用例# 注册成功print("测试用例:注册成功")RegistrationPage.ForumRegistration().RegistrationSucTest()  # 调用注册成功的测试用例# 登录页面print("开始测试:登录页面")# 登录失败print("测试用例:登录失败")LoginPage.ForumLogin().LoginFailTest()  # 调用登录失败的测试用例# 登录成功print("测试用例:登录成功")LoginPage.ForumLogin().LoginSucTest()  # 调用登录成功的测试用例# 个人中心页print("开始测试:个人中心页")PersonalCenterPage.PersonalCenterPage().PersonalCenterPage()  # 调用个人中心页的测试用例# 发布帖子页print("开始测试:发布帖子页")PublishingPage.PublishingPage().PublishingPageDetail()  # 调用发布帖子页的测试用例# 指定浏览器的退出print("关闭浏览器")ForumDriver.driver.quit()  # 关闭 WebDriver 实例,退出浏览器

五、总结

测试背景

本次测试的目标是一个基础版的论坛系统,主要功能包括用户注册、登录、个人中心页面访问以及帖子发布。
测试旨在验证这些功能的正确性、稳定性和用户体验。

测试用例执行情况

用户注册

测试过程测试结果
输入有效的用户名、昵称、密码及确认密码后,成功跳转至登录页面,验证通过。注册成功
输入无效的用户名或密码(如密码不匹配),页面提示注册失败,验证通过。注册失败

用户登录

测试过程测试结果
输入正确的用户名和密码后,成功跳转至首页,验证通过。登录成功
输入错误的用户名或密码后,页面提示登录失败,验证通过。登录失败

个人中心页面

测试过程测试结果
登录状态下点击头像进入个人中心,页面加载成功,验证通过。通过

发布帖子页面

测试过程测试结果
登录状态下点击发布帖子按钮,成功进入帖子发布页面,验证通过。通过

不足和改进

不足

用户体验问题:

  • 登录失败时,提示信息不够具体,无法明确告知用户是用户名还是密码错误。

功能问题:

  • 未对用户输入进行严格校验,例如允许注册用户名为单个字符,可能导致后续功能异常。

测试覆盖不足:

  • 未测试帖子发布功能的完整流程(如输入帖子内容、提交帖子等)。

改进

优化错误提示:

  • 在注册和登录页面,提供更详细的错误提示,帮助用户快速定位问题。

增强输入校验:

  • 对用户名、密码等输入进行严格校验,确保符合系统要求。

完善功能测试:

  • 完整测试帖子发布功能,包括输入帖子标题、内容、提交等流程。

小结

本次测试基本覆盖了论坛系统的核心功能,测试结果表明系统的主要功能正常运行。
然而,仍存在一些用户体验和功能上的问题需要改进。
后续测试应重点关注功能的完整性、用户体验的优化以及系统的安全性。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com