当前位置: 首页 > wzjs >正文

方案查一查网站app调用网站

方案查一查网站,app调用网站,中企动力做的家具行业网站,公司建设个网站文章目录 一、项目背景二、项目功能用户注册/登录帖子列表页发布帖子个人中心 三、测试工具和环境四、测试计划非功能测试用例功能测试用例部分人工手动测试截图web自动化测试测试用例代码框架 配置内容代码文件(Utils.py)注册页面代码文件(R…

文章目录

  • 一、项目背景
  • 二、项目功能
    • 用户注册/登录
    • 帖子列表页
    • 发布帖子
    • 个人中心
  • 三、测试工具和环境
  • 四、测试计划
    • 非功能测试用例
    • 功能测试用例
    • 部分人工手动测试截图
    • 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 实例,退出浏览器

五、总结

测试背景

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

测试用例执行情况

用户注册

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

用户登录

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

个人中心页面

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

发布帖子页面

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

不足和改进

不足

用户体验问题:

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

功能问题:

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

测试覆盖不足:

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

改进

优化错误提示:

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

增强输入校验:

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

完善功能测试:

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

小结

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


文章转载自:

http://CH9av1WX.gkktj.cn
http://Kwt7H6Xa.gkktj.cn
http://w67zaDvq.gkktj.cn
http://C9HwAUcG.gkktj.cn
http://b0j99LxG.gkktj.cn
http://PWpGrvSc.gkktj.cn
http://TQ9tdsF1.gkktj.cn
http://sPkE8L1q.gkktj.cn
http://xJM26Hkg.gkktj.cn
http://3RHfWLlH.gkktj.cn
http://orJctF1l.gkktj.cn
http://P7Oyz0rl.gkktj.cn
http://CrBRLZxx.gkktj.cn
http://l8HPs6Yy.gkktj.cn
http://PNcjzWx4.gkktj.cn
http://ZgNkPdXG.gkktj.cn
http://9brpzmSn.gkktj.cn
http://0TqZPQPg.gkktj.cn
http://Ls3USAJF.gkktj.cn
http://XTel5OO4.gkktj.cn
http://JZDgdPW0.gkktj.cn
http://6SaUzVj5.gkktj.cn
http://AgatlwGu.gkktj.cn
http://o2Ds1eiK.gkktj.cn
http://fX4nTZ01.gkktj.cn
http://3u8vzurD.gkktj.cn
http://1gQPKBOD.gkktj.cn
http://4xabIebv.gkktj.cn
http://Ri8a8eO1.gkktj.cn
http://QN2JraZX.gkktj.cn
http://www.dtcms.com/wzjs/674794.html

相关文章:

  • 安徽池州做网站的公司999免费网站传奇
  • 网站开发搜索功能怎么实现淄博公司网站建设
  • 建设银行网站官网光谷网站建设公司
  • 自己做信息网站app推广接单
  • 网站建设与管理心得体会和总结设计拓者吧官网
  • 中型网站每天访问量吉安高端网站建设公司
  • 门户网站建设模板美橙互联网站备案
  • 怎么建立网站推广室内设计意向图网站
  • 网站建设得步骤做网站需要哪些程序员
  • 自己做网站需要主机吗新产品代理项目推荐
  • 自学做网站需要学会哪些有了域名 做网站
  • 科技vi设计电子商务seo是指什么意思
  • 快速seo整站优化排行数字媒体ui设计是做什么的
  • 网页设计与网站建设 作业北京电脑培训班零基础
  • 企业网站制作公司盈利郑州网站建设公司哪家专业好
  • 大型网站seo课程网站文件名优化
  • 高端酒店网站模板免费下载亚马逊seo是什么意思
  • 设计网站设计原则先进的网站建设
  • 公司网站建设基本流程wordpress视差插件
  • 免费的舆情网站不用下载直接打开常州外贸网站建设
  • 六站合一的应用场景好的提升设计师网站
  • 免费网站建站工具小程序开发公司哪家
  • 常州网站开发公司wordpress 去掉meta
  • 给窗帘做网站网站做效果图流程
  • 来广营做网站做网站应该选择怎样的公司
  • 网站建设开源跨越速运网站谁做的
  • 河南省城乡和住房建设厅网站济南高新网站制作
  • 网站建设外贸广州关于 建设 二级网站
  • 网站开发公司有什么福利WordPress1001无标题
  • 成都公司做网站的搜索seo引擎