博客系统测试报告

手把手教你用Qt5打造二次元游戏启动器(附鸣潮同款UI源码) 本文详细介绍了如何使用Qt5框架从零开始构建一个功能完整、UI风格贴近《鸣潮》的二次元游戏启动器。教程涵盖无边框窗口、动态背景、自定义控件绘制、多线程资源加载以及下载管理等核心模块的实现,并提供了可运行的源码参考,帮助C++开发者和Qt爱好者深入掌握现代桌面应用开发技术。 阅读详情

一.概述

1.1 测试背景

博客系统是运行在Web服务器上的软件,用于快速创建、管理和发布网络博客。它不仅是个人表达的窗口,更是知识沉淀与品牌塑造的重要阵地。

1.2测试目标

1.检查博客系统页面色彩,UI,文字格式是否有误

2.测试博客系统各个功能是否符合产品文档要求

3.测试博客系统操作是否稳定

1.3 测试文档

类型

配置版本
测试硬件设备神舟战神Z7
手动化测试浏览器Microsoft Edge版本 146.0.3856.78 (正式版本) (64 位)
自动化开发环境PyCharm Community Edition 2023.2.2
自动化测试工具Selenium4.2
操作系统Windows 11
自动化测试浏览器Microsoft Edge版本 146.0.3856.78 (正式版本) (64 位)

二.测试用例

测试用例是一组输入、执行条件和预期结果的集合,目的是验证软件是否满足需求规格。

2.1 登录页面测试用例

2.2主页面测试用例

2.3写博客页面测试用例

三.手动化测试

手动测试(Manual Testing),也称为手工测试。它是软件测试中最基础、最传统的一种方式,由测试人员手工执行测试用例,模拟真实用户的操作,观察系统实际行为是否与预期一致,并记录缺陷。

3.1登录页面手动化测试

3.2 主页面手动化测试

3.3写博客页面手动化测试

四。自动化测试

自动化测试是指使用专门的软件工具、脚本或框架,自动执行预定义的测试用例,并将实际结果与预期结果进行比较,从而验证软件系统是否符合要求的过程。它替代了传统的人工重复操作,是软件测试领域中提高效率、保证质量的重要手段。

3.0创建函数接口

import datetime
import os.path
import sys
from selenium import webdriver
from selenium.webdriver.edge.service import service
from webdriver_manager.microsoft import EdgeChromiumDriverManager

class Driver:
    driver = ""
    def __init__(self):
        options = webdriver.edgeOptions()
        self.driver = webdriver.edge(Service=(EdgeChromiumDriverManager().install()),options=options)
        self.driver.implicitly_wait(2)
    def getScreeShot(self):
        #创建屏幕截图
        #图片文件名称:.
        dirname = datetime.datetime.now().strftime("%Y-%m-%d")
        #判断dirname文件夹是否已经存在,若不存在则创建文件夹

        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("../images/"+dirname+"/"+filename)

BlogDriver = Driver()

3.1登录页面测试

import time

from selenium.webdriver.common.by import By

from common.Utils import BlogDriver
#测试博客登陆页面

class BlogLogin:
    url = ""
    driver = ""
    def __init__(self):
        self.url = "http://49.235.61.184:19090/blog_edit.html"
        self.driver = BlogDriver.driver
        self.driver.get(self.url)
    #成功登陆的测试用例
    def LoginSucTest(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("123456")
        self.driver.find_element(By.CSS_SELECTOR,"#submit").click()
        #能够找到博客首页用户的昵称,说明登录成功,否则登录失败
        self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.left > div > h3")
        #添加屏幕截图
        BlogDriver.getScreeShot()
        #返回到登陆页面
        self.driver.back()

    #异常登陆的测试用例
    def LoginFailTest(self):
        #若连续多次的send_keys则会出现关键词拼接,而不是替换。若要替换需要先clear
        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("admin")
        #错误的密码
        self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("1234")
        self.driver.find_element(By.CSS_SELECTOR, "#submit").click()
        #检查是否登录失败
        actual=self.driver.find_element(By.CSS_SELECTOR,"body").text
        #添加屏幕截图
        BlogDriver.getScreeShot()
        #断言检测一下是否符合预期
        assert actual == "用户名或密码错误!"

login = BlogLogin()
login.LoginSucTest()
login.LoginFailTest()

3.2主页测试

from selenium.webdriver.common.by import By

from common.Utils import BlogDriver
#博客主页测试用例
class BlogList:
    url = ""
    driver = ""
    def __init__(self):
        self.url = "http://49.235.61.184:19090/blog_edit.html"
        self.driver = BlogDriver.driver
        self.driver.get(self.url)
    #测试首页(登录情况下)
    def ListTestByLogin(self):
        #测试博客标题是否存在
        self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div > div.title")
        #测试博客内容是否存在
        self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div:nth-child(1) > div.desc")
        #测试按钮是否存在
        self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div > div.operating > button:nth-child(1)")

        #个人信息-检查昵称是否存在
        #self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.left > div > h3")
        #添加屏幕截图
        BlogDriver.getScreeShot()

3.1写博客测试

from selenium.webdriver.common.by import By

from common.Utils import BlogDriver
#测试博客详情页
class BlogDeail:
    url = ""
    driver = ""
    def __init__(self):
        self.url = http://8.137.19.140:9090/blog_login.html
        self.driver = BlogDriver.driver
        self.driver.get(self.url)

    #登陆状态下博客详情页的测试
    def DetailTestByLogin(self):
        #检查标题
        self.driver.find_element(By.CSS_SELECTOR, )
        #检查时间
        self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div > div.date")
        #检查内容
        self.driver.find_element(By.CSS_SELECTOR,"#content > p")
        #屏幕截图
        BlogDriver.getScreeShot()
import time

from selenium.webdriver.common.by import By

from common.Utils import BlogDriver
#测试博客编辑页面
class BlogEdit:
    url = ""
    driver = ""
    def __init__(self):
        self.url = "http://8.137.19.140:9090/blog_edit.html"
        self.driver = BlogDriver.driver
        self.driver.get(self.url)

    #正确发布博客(登陆状态下)
    def EditSucTestByLogin(self):
        self.driver.find_element(By.CSS_SELECTOR,"#title").send_keys("自动化测试创建")
        #找到编辑区域,输入关键词(编辑区域不可操作)
        #菜单栏无法元素无法定位
        #博客系统编辑区域默认情况下就不为空,可以暂不处理

        #直接点击发布按钮来发布博客
        self.driver.find_element(By.CSS_SELECTOR,"#submit").click()
        #点击完成之后出现页面的跳转,页面跳转需要加载时间,可能会出现代码执行的速度比页面渲染的速度要快,导致元素查找不到,因此可以添加等待
        #添加隐式等待和显示等待都可以,任选择一个
        #隐式等待:创建浏览器对象之后就可以加上,因为隐式等待的作用域在driver整个生命周期
        #显示等待:可以作用在当前代码中
        time.sleep(3)
        actual=self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div:nth-child(1) > div.title").text
        assert actual == "自动化测试创建"
        #屏幕截图
        BlogDriver.getScreeShot()

五.结语

本篇主要介绍测试软件项目相关流程,供小伙伴们参考学习,愿与大家共同进步,祝天天开心~

RK3588芯片:ALSA音频通路下HDMI与耳机自动切换的技术探索 摘要:本文详细探讨了基于RK3588芯片的HDMI与耳机自动切换方案。文章首先剖析了ALSA音频架构的核心组件与工作原理,接着介绍了RK3588芯片的硬件特性及音频处理优势。重点阐述了自动切换的实现原理,包括硬件检测机制、ALSA驱动处理逻辑和软件控制流程,并提供了详细的配置步骤。同时针对常见问题如切换异常、音频质量下降等给出了解决方案。该方案通过合理配置设备树和ALSA文件,实现了音频输出的智能切换,提升了用户体验,展现了RK3588在音频处理领域的强大性能。未来随着AI音频技术的发展,该方案在智能家居、 阅读详情

相关推荐

Web3前沿技术的智能合约安全审计

随着Web3技术的快速发展,智能合约作为区块链应用的核心组件,其安全性问题日益突出。本文旨在系统性地介绍智能合约安全审计的技术体系,帮助开发者理解智能合约安全风险,掌握安全审计的方法论和工具链。智能合约安全的基本概念常见漏洞类型及其原理安全审计的技术方法实际审计案例分析安全审计工具和资源首先介绍基本概念和背景然后分析常见漏洞和安全风险接着详细讲解安全审计技术提供实际案例和代码示例最后讨论工具资源和未来趋势智能合约:运行在区块链上的自执行程序,代码即法律安全审计。

AI天才研究院 1548

《博客系统测试报告》

博客系统测试报告

一同进步,一同追梦 1209

Sony DPT RP1/CP1破解攻略

前言 自己有一台Sony DPT CP1和一台kindle,两个都已经用了很多年。直到最近发现微信读书上经常可以找到一些免费而且不错的书,所以就萌生了在两台机器上使用微信读书的想法。kindle比较容易实现,直接打开内置浏览器,进入微信读书网页版就行了,而Sony的电纸书则只能通过破解+安装微信读书的方式实现。大概弄了两三个小时吧,也遇到了一些问题,所以这里记录一下整个过程,希望能方便后来的使用者。 首先感谢HappyZ, osc_t5nbj8ds。前者是提供公开破解的方法的大神,后者则是解决了我遇到的问题

weixin_43467572的博客 1万+

个人博客系统测试报告

因为账号和密码都已经储存在数据库里面,只要对应的输入框输入正常的账号和密码就可以,跳转到博客列表页了。

weixin_70067429的博客 801

VS2022 LNK1168无法打开进行写入 解决办法

C语言编程---VS---错误和警告---链接器工具错误---LNK1168--无法打开进行写入

weixin_67166415的博客 7162

PCIe5.0均衡简介(整理版)

pcie5.0 均衡 equalization

m0_53559277的博客 9110

【测试】博客系统测试报告

对测试过程进行的总结,为后续的学习增加经验

dab112的博客 1709

MSDN Win10镜像缺少驱动?这里有全面解决方案

针对MSDN Win10镜像缺少驱动的问题,本文提供了四种解决方案:厂商官网下载驱动程序、利用Windows更新获取驱动、使用第三方驱动更新工具以及使用集成驱动的Win10系统镜像。每种方案都有其优缺点,用户可以根据自己的需求和实际情况选择合适的方案。建议优先考虑官方渠道:官方渠道下载的驱动程序稳定可靠,是解决问题的首选方案。谨慎选择第三方工具:使用第三方工具时,务必选择信誉好、无广告捆绑的工具,并注意保护个人隐私和计算机安全。备份重要数据:在进行系统安装或更新前,务必备份重要数据以防丢失。

nntxthml的博客 1538

基于SpringBoot的博客系统测试报告

1.登录模块:登录时用Session获取用户表,在获取用户id来使后端将用户信息存储在Session中,在登录时通过获取用户对应的账号以及密码进行校验,如果都匹配则给予token令牌放行,登录通过,如果校验失败则需要重新输入登录信息,再次进行登录校验。总之,按照脑图的规划,可以将测试用例按照页面进行分组,结合测试套件和公共属性类,以及单独存储启动和现场截图的类,来进行测试用例的编写和组织。本报告为博客系统测试报告,本项目模拟了csdn,实现了包括了用户登录,发布博客文章,查看博客等功能。

weixin_74889808的博客 1143

【Python_PySide6学习笔记(二十四)】菜单栏QMenuBar类的基本用法

此篇文章中介绍 PySide6 中 QMenuBar 类的基本用法,包括"创建菜单栏"、"创建一级菜单"、"创建二级菜单"等,会持续更新,有需要的读者可以点赞收藏,也欢迎在评论区进行讨论。

禾戊之昂的博客 1625

AI翻译工具自动翻译日语视频生成srt中文字幕,支持离线轻松生成任意日语视频字幕!可选择支持显卡模式和cpu模式低显存也能用

【AI离线字幕神器:日语视频一键转中文字幕】推荐一款基于Faster-Whisper的本地化字幕工具,可离线生成日语视频的中文字幕(.srt格式),支持CPU/GPU加速处理。实测1小时视频最快4-5分钟完成翻译,无需联网保护隐私。操作简单只需拖拽文件,支持批量处理音频(mp3/wav)和视频(mp4/mkv)文件,还能自定义输出格式和参数调整。特别适合需要观看无字幕日语资料的用户,堪称技术宅必备神器。下载地址附后,包含详细使用教程和参数配置说明。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1万+

我的博客系统测试报告

测试报告,功能测试,自动化测试,性能测试

fanhailomg的博客 669

推荐11个顶级的Claude Code Skills

ClaudeCode的Skills系统为程序员提供了11个强大的AI辅助工具,包括代码审查、重构建议、单元测试生成、API文档自动生成、性能分析、安全扫描、数据库迁移脚本生成、CI/CD配置、依赖管理、ER图生成和日志分析等功能。这些"技能包"可大幅提升开发效率,从代码质量到协作沟通全方位优化工作流程。用户可根据需求选择2-3个核心功能开始尝试,熟练后还可自定义Skills。该系统需要配合Anthropic的API使用,建议先在小型项目测试再应用于核心业务。

分享AI、区块链技术及应用,未来已来 1856
上一篇: 问卷调查系统测试报告
知困勉行的Allen
博客等级 码龄3年 279粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值