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

深圳做网站-龙华信科百度招商加盟

深圳做网站-龙华信科,百度招商加盟,我的小程序在哪里找,discuz修改网站底部目录 一、项目背景二、论坛系统测试用例思维导图三、论坛系统测试3.1界面测试3.2登陆测试3.3主页测试3.4个人中心测试 四、自动化测试脚本4.1配置驱动4.2创建浏览器类4.3功能测试4.3.1登陆测试4.3.2注册测试4.3.3主页测试4.3.4帖子编辑4.3.5运行主代码 五、BUG分析六、测试总结…

目录

  • 一、项目背景
  • 二、论坛系统测试用例思维导图
  • 三、论坛系统测试
    • 3.1界面测试
    • 3.2登陆测试
    • 3.3主页测试
    • 3.4个人中心测试
  • 四、自动化测试脚本
    • 4.1配置驱动
    • 4.2创建浏览器类
    • 4.3功能测试
      • 4.3.1登陆测试
      • 4.3.2注册测试
      • 4.3.3主页测试
      • 4.3.4帖子编辑
      • 4.3.5运行主代码
  • 五、BUG分析
    • 六、测试总结

一、项目背景

论坛系统致力于打造一个多元交流社区,吸引各领域专业人士、爱好者及普通用户汇聚一堂。用户可在开放的环境中充分交流。伴随互联网用户群体持续壮大,尤其是年轻一代网民对在线交流和知识获取的需求不断攀升,论坛作为经典且有效的互动平台,蕴藏着巨大发展潜力。通过论坛系统建设,期望满足不同用户的多样化需求,提升信息交流效率与质量,为用户创造更多价值,助力互联网内容生态的健康、持续发展。

二、论坛系统测试用例思维导图

对于论坛系统简单可以分为六类方面进行测试:界面测试、安全测试、易用性测试、兼容性测试、功能测试
在这里插入图片描述

三、论坛系统测试

3.1界面测试

在这里插入图片描述

  • 用户登陆框虽然没有在屏幕正中央,好在用白色和背景板颜色区分更加显眼,并标有黑体“用户登陆”。
  • 用户名及密码输入框大小合适,让用户容易输入。
  • 登陆按钮用蓝色框格包围使得用户能加轻松登陆。
  • “点击注册”字样用蓝色标识,时用户容易找到。
  • 密码框内“小眼睛”有显示密码功能。

3.2登陆测试

  • 用户名及密码为空时输入框下显示红色“用户名不能为空”或“密码不能为空”字样。
    (用户名:zhangsan 密码:12345 为例)
    在这里插入图片描述
  • 输入正确用户名及错误密码,提示用户名或密码错误.
    在这里插入图片描述
  • 输入错误用户名及正确密码.
    在这里插入图片描述
  • 输入正确用户名及正确密码
    进入论坛主页
    在这里插入图片描述

3.3主页测试

  • 1.点击发帖子

在这里插入图片描述

  • 2.选择板块

在这里插入图片描述

  • 3.输入标题及内容

在这里插入图片描述

  • 4.点击发布

在这里插入图片描述

  • 5.发布成功!!!

在这里插入图片描述

  • 6.点击输入框输入论坛测试

在这里插入图片描述
测试发现点击搜索框内的放大镜无法搜索。

  • 7.点击帖子标题

在这里插入图片描述
显示进入帖子

  • 8.点击发私信

在这里插入图片描述

  • 9.发布成功

在这里插入图片描述
测试显示没有查找私信功能

  • 10.点击回复

在这里插入图片描述
回复成功!!!

3.4个人中心测试

  1. 点击主页头像

在这里插入图片描述

  1. 进入个人中心

在这里插入图片描述

  1. 点击修改昵称/邮箱地址/电话号码

在这里插入图片描述
测试结果发现无法修改

  1. 点击修改密码

在这里插入图片描述

  1. 修改成功

在这里插入图片描述

四、自动化测试脚本

4.1配置驱动

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。
WebDriverManager 是一个开源的 Java 库,用于自动管理 Selenium WebDriver 所需的驱动程序(如 ChromeDriver、GeckoDriver、EdgeDriver 等)。它可以自动下载、设置和维护这些驱动程序,从而简化了 Selenium 测试的配置过程

在pycharm软件的设置中观察是否安装这两个软件包,如果没有可能无法正常驱动打开本地浏览器
在这里插入图片描述

4.2创建浏览器类

  • 每个功能都需要pycharm驱动浏览,若每个功能都有一份浏览器驱动,功能过多可能导致软件崩溃,将驱动器类放入一个common文件,功能测试则放入test文件,image用于保存截屏图片


在这里插入图片描述

  • 驱动器类
    Lunta实例化出Driver类,每次测试功能时调用类对象driver,防止每个功能模块都创建一个新的驱动器。
import datetime
import os
import sys
import timefrom selenium import webdriver
from selenium.webdriver.edge.service import Service
from webdriver_manager.microsoft import EdgeChromiumDriverManagerclass Driver:driver=""def __init__(self):#打开edge驱动管理EdsIns=EdgeChromiumDriverManager().install()options=webdriver.EdgeOptions()#创建edge浏览器对象self.driver=webdriver.Edge(service=Service(EdsIns),options=options)# 截屏功能def getScreenShot(self):dirname = datetime.datetime.now().strftime('%Y-%m-%d')if not os.path.exists("../images/" + dirname):os.mkdir("../images/" + dirname)filename = sys._getframe().f_back.f_code.co_name + "-" + datetime.datetime.now().strftime('%Y-%m-%d-%H%M%S') + ".png"self.driver.save_screenshot(f'../images/{dirname}/' + filename)
Lunta=Driver()

4.3功能测试

4.3.1登陆测试

  1. 函数find_element()分别找出用户名及密码输入框
  2. send_keys输入内容
  3. click模拟用户点击登陆按钮
  4. find_element找出主页信息判断是否登陆成功
import timefrom selenium.webdriver.common.by import Byfrom common.untils import Luntaclass LunTaLgoin:url=""driver=""def __init__(self):self.url="http://127.0.0.1:9580/sign-in.html"self.driver=Lunta.driverself.driver.get(self.url)#成功登陆def LTLoginTest(self):self.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("zhangsan")self.driver.find_element(By.CSS_SELECTOR,"#password").send_keys("1234")self.driver.find_element(By.CSS_SELECTOR,"#submit").click()time.sleep(2)#查找头像是否登陆成功self.driver.find_element(By.CSS_SELECTOR,"#index_nav_avatar")#截屏登陆成功页面Lunta.getScreenShot()# self.driver.find_element(By.CSS_SELECTOR,"#index_nav_avatar").click()# self.driver.find_element(By.CSS_SELECTOR,"#index_user_logout").click()# Lunta.getScreenShot()#登陆失败def LTFailTest(self):#密码错误self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("zhangsan")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("12345")self.driver.find_element(By.CSS_SELECTOR, "#submit").click()time.sleep(1)Lunta.getScreenShot()#检测是否出现密码错误弹窗self.driver.find_element(By.CSS_SELECTOR,"body > div.jq-toast-wrap.bottom-right > div")#清空内容self.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("zhang")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("1234")self.driver.find_element(By.CSS_SELECTOR, "#submit").click()time.sleep(1)Lunta.getScreenShot()# 检测是否出现密码错误弹窗self.driver.find_element(By.CSS_SELECTOR, "body > div.jq-toast-wrap.bottom-right > div")# 清空内容self.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("")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("12345")self.driver.find_element(By.CSS_SELECTOR, "#submit").click()time.sleep(1)Lunta.getScreenShot()# 检测是否出现用户名不能为空提示text=self.driver.find_element(By.CSS_SELECTOR, "#signInForm > div.mb-3 > div").textassert text=="用户名不能为空"# 清空内容self.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("zhang")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("")self.driver.find_element(By.CSS_SELECTOR, "#submit").click()time.sleep(1)Lunta.getScreenShot()# 检测是否出现用户名不能为空提示text = self.driver.find_element(By.CSS_SELECTOR, "#signInForm > div.mb-2 > div > div").textassert text == "密码不能为空"

4.3.2注册测试

  1. click模拟点击注册按钮
  2. find_element找出用户名,昵称,密码及确认密码输入框
  3. send_keys输入内容
  4. 注册失败是否有弹窗提示
  5. 注册成功返回登陆界面是否能登陆
import timefrom selenium.webdriver.common.by import Byfrom common.untils import Lunta
class LunTareg:driver=""url=""def __init__(self):self.url = "http://127.0.0.1:9580/sign-in.html"self.driver = Lunta.driverself.driver.get(self.url)def LTreg(self):time.sleep(2)self.driver.implicitly_wait(2)self.driver.find_element(By.CSS_SELECTOR,"body > div > div > div > div:nth-child(1) > div > div.text-center.text-muted.mt-3 > a").click()#注册成功self.driver.find_element(By.CSS_SELECTOR,"#username").send_keys("zhangs")self.driver.find_element(By.CSS_SELECTOR,"#nickname").send_keys("zhangs")self.driver.find_element(By.CSS_SELECTOR,"#password").send_keys("1234")self.driver.find_element(By.CSS_SELECTOR, "#passwordRepeat").send_keys("1234")self.driver.find_element(By.CSS_SELECTOR, "#policy").click()self.driver.find_element(By.CSS_SELECTOR,"#submit").click()time.sleep(2)Lunta.getScreenShot()self.driver.back()#登陆self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("zhangs")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("1234")self.driver.find_element(By.CSS_SELECTOR, "#submit").click()time.sleep(2)# 查找头像是否登陆成功self.driver.find_element(By.CSS_SELECTOR, "#index_nav_avatar")# 截屏登陆成功页面Lunta.getScreenShot()time.sleep(2)self.driver.back()def LTrefaii(self):time.sleep(2)self.driver.implicitly_wait(2)#点击注册self.driver.find_element(By.CSS_SELECTOR,"body > div > div > div > div:nth-child(1) > div > div.text-center.text-muted.mt-3 > a").click()# 注册失败(用户已存在)self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("zhangs")self.driver.find_element(By.CSS_SELECTOR, "#nickname").send_keys("zhangs")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("1234")self.driver.find_element(By.CSS_SELECTOR, "#passwordRepeat").send_keys("1234")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.jq-toast-wrap.bottom-right > div")Lunta.getScreenShot()# 注册失败(用户名为空)self.driver.find_element(By.CSS_SELECTOR, "#username").clear()self.driver.find_element(By.CSS_SELECTOR, "#submit").click()# 是否提示text=self.driver.find_element(By.CSS_SELECTOR, "#signUpForm > div > div:nth-child(2) > div").textassert text=="用户名不能为空"Lunta.getScreenShot()# 注册失败(昵称为空)self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("zhangs")self.driver.find_element(By.CSS_SELECTOR, "#nickname").clear()self.driver.find_element(By.CSS_SELECTOR, "#submit").click()# 是否提示text = self.driver.find_element(By.CSS_SELECTOR, "#signUpForm > div > div:nth-child(3) > div").textassert text == "昵称不能为空"Lunta.getScreenShot()# 注册失败(密码为空)self.driver.find_element(By.CSS_SELECTOR, "#nickname").send_keys("zhangs")self.driver.find_element(By.CSS_SELECTOR, "#password").clear()self.driver.find_element(By.CSS_SELECTOR, "#submit").click()time.sleep(2)# 是否提示text = self.driver.find_element(By.CSS_SELECTOR, "#signUpForm > div > div:nth-child(4) > div").textassert text == "密码不能为空"Lunta.getScreenShot()# 注册失败(确认密码错误)self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("1234")self.driver.find_element(By.CSS_SELECTOR, "#passwordRepeat").send_keys("12345")self.driver.find_element(By.CSS_SELECTOR, "#submit").click()text=self.driver.find_element(By.CSS_SELECTOR,"#signUpForm > div > div:nth-child(5) > div > div").textassert text=="请检查确认密码"#未点击同意self.driver.find_element(By.CSS_SELECTOR, "#policy").click()# 是否弹窗提示self.driver.find_element(By.CSS_SELECTOR, "body > div.jq-toast-wrap.bottom-right > div")Lunta.getScreenShot()self.driver.back()

4.3.3主页测试

1.click点击发帖子内容
2.send_keys输入标题
3.send_keys输入内容(编辑框外置无法完成交互)
4.Action链模拟点击(click无法点击)

import timefrom selenium.webdriver import ActionChains
from selenium.webdriver.common.by import Byfrom common.untils import Luntaclass LunTahome():driver=""url=""def __init__(self):# 登陆状态urlself.driver=Lunta.driverself.url="http://127.0.0.1:9580/index.html"self.driver.get(self.url)def LTPuTest(self):self.driver.implicitly_wait(5)#点击发布帖子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,"#article_post_borad").click()#编辑框外置无法完成交互# 输入标题,若能交互则完成以下命令# self.driver.find_element(By.CSS_SELECTOR, "#article_post_title").send_keys("如何年薪百万")#self.driver.find_element(By.CSS_SELECTOR,"article_post_submit").click()# # Action链模拟点击# element = self.driver.find_element(By.XPATH, '//*[@id="article_post_submit"]')# ActionChains(self.driver).move_to_element(element).click().perform()# # 提示帖子内容不能为空# self.driver.find_element(By.CSS_SELECTOR, "body > div.jq-toast-wrap.bottom-right > div")# Lunta.getScreenShot()#输入标题self.driver.find_element(By.CSS_SELECTOR,"#article_post_title").send_keys("如何年薪百万")#Action链模拟点击element=self.driver.find_element(By.XPATH,'//*[@id="article_post_submit"]')ActionChains(self.driver).move_to_element(element).click().perform()#提示帖子内容不能为空self.driver.find_element(By.CSS_SELECTOR,"body > div.jq-toast-wrap.bottom-right > div")Lunta.getScreenShot()# 不输入标题self.driver.find_element(By.CSS_SELECTOR,"#article_post_title").clear()# Action链模拟点击element = self.driver.find_element(By.XPATH, '//*[@id="article_post_submit"]')ActionChains(self.driver).move_to_element(element).click().perform()# 提示输入标题不能为空self.driver.find_element(By.CSS_SELECTOR, "body > div.jq-toast-wrap.bottom-right > div")Lunta.getScreenShot()self.driver.back()

4.3.4帖子编辑

  • click点击发帖子>私信>send_keys输入内容>click点击回复>find_element搜索"回复成功弹窗">click点击回复>send_keys输入内容>click点击回复>find_element搜索“回复成功弹窗”>click点击点赞
import timefrom selenium.webdriver.common.by import Byfrom common.untils import Luntaclass LunTaser:driver=""url=""def __init__(self):self.url="http://127.0.0.1:9580/index.html"self.driver=Lunta.driverself.driver.get(self.url)#搜索def LTaser(self):self.driver.implicitly_wait(5)self.driver.find_element(By.CSS_SELECTOR,"body > div.page > header.navbar.navbar-expand-md.navbar-light.d-print-none > div > div > div.nav-item.d-none.d-md-flex.me-3 > div > form > div > input").send_keys("1234")#点击搜索self.driver.find_element(By.CSS_SELECTOR,"body > div.page > header.navbar.navbar-expand-md.navbar-light.d-print-none > div > div > div.nav-item.d-none.d-md-flex.me-3 > div > form > div > input").click()#搜索第一篇文章time.sleep(3)text=self.driver.find_element(By.CSS_SELECTOR,"#artical-items-body > div:nth-child(1) > div > div.col > div.text-truncate > a > strong").textLunta.getScreenShot()#断言是否搜索成功#assert text=="1234"#私信def LTiss(self):self.driver.implicitly_wait(5)Lunta.getScreenShot()self.driver.find_element(By.CSS_SELECTOR,"#artical-items-body > div:nth-child(1) > div > div.col > div.text-truncate > a > strong").click()self.driver.find_element(By.CSS_SELECTOR,"#btn_details_send_message").click()self.driver.find_element(By.CSS_SELECTOR,"#index_message_receive_content").send_keys("上转转回收了吧")self.driver.find_element(By.CSS_SELECTOR,"#btn_index_send_message").click()Lunta.getScreenShot()#是否发布成功弹窗self.driver.find_element(By.CSS_SELECTOR,"body > div.jq-toast-wrap.bottom-right > div")Lunta.getScreenShot()#回复def LTreply(self):self.driver.implicitly_wait(5)time.sleep(5)self.driver.find_element(By.CSS_SELECTOR,"#artical-items-body > div:nth-child(1) > div > div.col > div.text-truncate > a > strong").click()self.driver.find_element(By.CSS_SELECTOR,"#article_details_reply > div.CodeMirror.cm-s-default.CodeMirror-wrap.CodeMirror-empty > div.CodeMirror-scroll").send_keys("哇哈哈")self.driver.find_element(By.CSS_SELECTOR,"#details_btn_article_reply > span").click()#内容为空无法发送Lunta.getScreenShot()#提示请输入内容self.driver.find_element(By.CSS_SELECTOR,"body > div.jq-toast-wrap.bottom-right > div")#点赞def LTlike(self):self.driver.implicitly_wait(5)self.driver.find_element(By.CSS_SELECTOR,"#artical-items-body > div:nth-child(1) > div > div.col > div.text-truncate > a > strong").click()self.driver.find_element(By.CSS_SELECTOR,"#details_btn_like_count").click()#提示点赞成功self.driver.find_element(By.CSS_SELECTOR,"body > div.jq-toast-wrap.bottom-right > div > h2")time.sleep(1)Lunta.getScreenShot()

4.3.5运行主代码

from test import LunTaLgoin
from test import LunTahome
from test import LunTareg
from test import LunTaserif __name__ == '__main__':# 注册失败LunTareg.LunTareg().LTrefaii()# 注册成功LunTareg.LunTareg().LTreg()#登陆失败LunTaLgoin.LunTaLgoin().LTFailTest()#登陆成功LunTaLgoin.LunTaLgoin().LTLoginTest()#主页测试LunTahome.LunTahome().LTPuTest()# 帖子测试LunTaser.LunTaser().LTaser()LunTaser.LunTaser().LTiss()LunTaser.LunTaser().LTreply()LunTaser.LunTaser().LTlike()

五、BUG分析

  1. 搜索框输入内容无法点击搜索

在这里插入图片描述

  1. 主页板块内容显示不完全

在这里插入图片描述

  1. 昵称、邮箱地址、电话号码、个人简介无法修改

在这里插入图片描述
在这里插入图片描述

六、测试总结

本次论坛系统测试旨在全面验证系统功能的完整性、稳定性及用户体验,确保系统能够满足用户在信息交流、内容发布等方面的需求。测试范围涵盖了前台用户操作功能以及后台管理功能,采用了多种测试方法,包括功能测试、性能测试、兼容性测试等。

http://www.dtcms.com/wzjs/338629.html

相关文章:

  • wordpress不同页面广告seo辅助工具
  • 做设计_素材网站有哪优化网站推广
  • 网站怎么做电脑系统下载文件日本和韩国是亚洲的国家
  • 网站刷链接怎么做中国站长站
  • mmd怎么做下载网站重庆高端seo
  • 设计案例网站谷歌三件套一键安装
  • 电子商城网站开发项目描述微信营销平台系统
  • 怎么做自己的网站后台教程google国外入口
  • 郑州网站建设到诺然公司seo是什么职位
  • wordpress 三级联动白银网站seo
  • 义乌网站制作公司重庆seo网站
  • 开发网站 需求seo技术优化
  • 网站首页地址是什么潍坊今日头条新闻最新
  • 定制网站开发哪家好今天刚刚发生的新闻
  • 郑州七彩网站建设公司下载优化大师并安装
  • 丽水做网站指数是什么
  • 如何用ssm框架做网站软文的目的是什么
  • 普通的旧房装修价格网站建设网络推广seo
  • 衡阳网站建设价格郑州网站建设价格
  • 英文网站如何做关键词微信营销号
  • 网站制作功能多少钱seo课程在哪培训好
  • 焦作网站建设设计app开发网站
  • 温州党建网吉安seo网站快速排名
  • 网站备案是怎么回事四川疫情最新消息
  • 互联网 网站建设价格怎么进行推广
  • 哪个网站能找到做夜场的女孩查网站
  • 南通免费网站建设怎么自己创建网址
  • 做网站的专业术语重庆seo网络推广平台
  • 免费的seo网站膝广州seo公司哪个比较好
  • 如何做登录网站google adwords关键词工具