个人博客系统项目自动化测试

2024-09-03 14:36

本文主要是介绍个人博客系统项目自动化测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、项目简介

二、项目功能

三、测试计划

1.功能测试

(1)测试用例

(2)实际执行测试的部分操作步骤/截图

博客登录页面

博客首页(列表页)

博客详情页

博客编辑页(发布页)

2、代码编写对博客系统进行自动化测试

四、测试工具

五、自

目录

一、项目简介

二、项目功能

三、测试计划

1.功能测试

(1)测试用例

(2)实际执行测试的部分操作步骤/截图

博客登录页面

博客首页(列表页)

博客详情页

博客编辑页(发布页)

2、代码编写对博客系统进行自动化测试

(1)三个软件包的介绍

(2)公共类utils

(3)登录页面测试BlogLoginTest

(4)列表页测试BlogListTest

(5)编辑页测试BlogEditTest

(6)详情页测试BlogDetailTest

(7)测试套件runSuite

四、测试工具

五、自动化测试相关代码链接

六、测试小结

    


一、项目简介

       1. 个人博客系统采用前后端分离的方法来实现,同时使用了数据库来存储相关的数据,同时将其部署到云服务器上。前端主要有四个页面构成:登录页、列表页、详情页以及编辑页,以上模拟实现了最简单的个人博客系统。其结合后端实现了以下的主要功能:登录、编辑博客、注销、删除博客、以及强制登录等功能。
      2.但是该项目没有设计用户注册功能,只能提前在数据库中存储用户信息后经过校验登录;并且用户头像不能自己设定,在进行前端页面的书写过程中已经将头像的图片写为静态了;而用户信息中的文章数以及分类数也没有在后端中具体实现,直接在前端页面中写为了静态的。
      3.该个人博客系统可以实现个人用户简单的博客记录,时间、标题、内容以及发布者等都可以进行详细地查看。

二、项目功能

        该个人博客系统主要实现了以下几个功能:登录、注销、写博客以及删除博客等功能。

        登录功能:用户名以及密码已经在后端写入了数据库,没有实现账户注册功能,即:用户名以及密码是已经存在的。登录成功后就会跳转到列表页面。在右上角存在主页和写博客两个按钮,但是在未登录情况下按下均只会跳转到登录页面。
        列表页面:可以在列表页查看有限数量的博客简介,其包括博客标题、发布时间以及内容概要。在左侧可以看到登录的用户以及文章数、分类数等的模块。在右上角有主页、写博客和注销三个功能:主页即列表页,写博客即博客编辑页,注销即注销用户,回到登录页面。
        详情页面:在列表页面点击“查看全文”按钮就会跳转到详情页,此时就可以看到该篇博客的完整内容。在右上角同样有主页、写博客、删除和注销四个功能:删除即删除该篇博客,删除之后就会跳转到列表页面,该篇博客就被成功删除。
       写博客:在登录之后的任意界面点击“写博客”之后就会进入博客编辑页面,此时就可以进行博客的编写,点击“发布文章”后就可以成功发布文章,此时就会跳转到列表页。

三、测试计划

1.功能测试
(1)测试用例
(2)实际执行测试的部分操作步骤/截图
  • 博客登录页面

        输入正确的账号密码成功登录

  • 博客首页(列表页)

        成功登录并跳转到博客列表页

  • 博客详情页

       对博客列表页中的一篇进行点击“查看全文”跳转到博客详情页

  • 博客编辑页(发布页)

        点击“写博客”跳转到博客编辑页面

2、代码编写对博客系统进行自动化测试
(1)三个软件包的介绍

 在pycharm中新建项目BlogAutotest,同时在项目下面建立三个软件包,分别是common,tests,images。

其中common生成文件中需要用到的公共配置内容,创建启动以及现场截图就是会频繁进行复用,需要单独放一个类,方便进行代码复用,所以单独创建一个类进行存储。

tests有5个文件,四个页面每个页面一个测试类,然后根据脑图进行测试用例的编写,还有一个测试套件runtests,测试套件的运行,使用的是以测试类作为执行顺序的方式,使用测试套件便于运行以及修改。

images是保存自动化截图的软件包,根据每天的日期分类,当天的自动化截图保存到当天的文件夹下。在进行页面定位元素或者截图时,注意添加隐式等待,为了确保页面正确加载显示。           

以下是所建立的是common公共包和tests测试包以及images:

(2)公共类utils
  • 创建驱动、保存现场截图
  • 注意:在保存现场截图的时候命名是按时间来进行文件夹的划分,然后图片的名称要体现出测试类的类名,方便进行问题的追溯。
  • 注意文件名的动态获取,注意时间格式的设置。
(3)登录页面测试BlogLoginTest
  •  创建驱动,并打开页面
  •  测试页面是否正常打开
  •  测试正常登录:多参数测试
  • 测试异常登录:用户名/密码错误/两者都为空的情况
  • 注意测试的顺序,否则可能会因为执行顺序不对导致测试失败
  • 注意清空内容后才能再次输入用户名以及密码
(4)列表页测试BlogListTest
  • 测试博客列表页是否可以正常打开
  • 测试列表页的“查看全文”按钮是否可以正常跳转
  • 测试未登录的直接链接是否会跳转到登录页面,顺便测试了“注销”按钮
  • 同样注意执行顺序
(5)编辑页测试BlogEditTest
  • 测试编辑页是否可以正确打开
  • 测试博客是否可以正常发布:元素齐全 or 部分元素
  • 测试“写博客”按钮是否可以正常使用
  • 执行顺序
(6)详情页测试BlogDetailTest
  • 测试详情页的正确打开
  • 测试能否从详情页打开博客编辑页面
  • 执行顺序
(7)测试套件runSuite
  • 测试套件的运行,使用的是以测试类作为执行顺序的方式。

四、测试工具

      使用selenium进行web自动化测试。selenium 是一个强大的工具,用于自动化 web 应用程序的测试。它支持多种浏览器,并可以通过不同的编程语言来编写自动化脚本,如 Java、Python、C# 等。Selenium 需要 WebDriver 来与浏览器进行交互。不同的浏览器需要不同的 WebDriver。

五、自动化测试相关代码链接

个人博客系统自动化测试相关代码链接

六、测试小结

  • 一定要关注测试用例的执行顺序问题
  • 对于页面的检查一定要到位,如检查元素是否存在确保页面的正确性
  • 注意多参数测试的页面导航问题
  • 因为列表页等的测试是需要在登录成功后才能抵达的,所以在进行登录页面测试的最后一步应该是登录成功的状态,这样子是为了确保列表页等能够正确进入测试。【并不是绝对,但是需要进行关注】
  • 驱动关闭的位置要注意,只有最后一个用例结束之后才进行关闭。
  • 为了把所有的用例的执行结果保存下来,方便后续查错或查看,也就是保存现场,此时就需要直接在公共类中进行该方法的定义。
  • 注意屏幕截图保存的方式:动态时间戳并进行时间格式化,然后期望按照某种维度(天、周)以文件夹的方式进行保存。
  • 在使用chrome浏览器进行自动化测试时,要保整 ChromeDriver 与你hrome 浏览器版本兼容。
  • 如果在测试中遇到超时问题,请检查网络连接或尝试增加 WebDriverWait 的等待时间。
  • 对于不同的 Web 元素定位策略(如 ID、NAME、CLASS_NAME、CSS_SELECTOR、XPATH 等),请根据 Web 页面的实际情况选择合适的策略。

              

     

                

这篇关于个人博客系统项目自动化测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1133229

相关文章

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

python实现简易SSL的项目实践

《python实现简易SSL的项目实践》本文主要介绍了python实现简易SSL的项目实践,包括CA.py、server.py和client.py三个模块,文中通过示例代码介绍的非常详细,对大家的学习... 目录运行环境运行前准备程序实现与流程说明运行截图代码CA.pyclient.pyserver.py参

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

10个Python Excel自动化脚本分享

《10个PythonExcel自动化脚本分享》在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式,本文将分享10个实用的Excel自动化脚本,希望可以帮助大家更轻松地掌握这些技能... 目录1. Excel单元格批量填充2. 设置行高与列宽3. 根据条件删除行4. 创建新的Excel工作表5

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

MySQL分表自动化创建的实现方案

《MySQL分表自动化创建的实现方案》在数据库应用场景中,随着数据量的不断增长,单表存储数据可能会面临性能瓶颈,例如查询、插入、更新等操作的效率会逐渐降低,分表是一种有效的优化策略,它将数据分散存储在... 目录一、项目目的二、实现过程(一)mysql 事件调度器结合存储过程方式1. 开启事件调度器2. 创