一、项目背景
- 个人博客系统采用前后端分离的方法来实现,同时使用了数据库来存储相关的数据,同时将其部署到云服务器上。前端主要有四个页面构成:登录页、列表页、详情页以及编辑页,以上模拟实现了最简单的个人博客系统。其结合后端实现了以下的主要功能:登录、编辑博客、注销、删除博客、以及强制登录等功能。
- 但是该项目没有设计用户注册功能,只能提前在数据库中存储用户信息后经过校验登录;并且用户头像不能自己设定,在进行前端页面的书写过程中已经将头像的图片写为静态了;而用户信息中的文章数以及分类数也没有在后端中具体实现,直接在前端页面中写为了静态的。
- 该个人博客系统可以实现个人用户简单的博客记录,时间、标题、内容以及发布者等都可以进行详细地查看。
二、项目功能
该个人博客系统主要实现了以下几个功能:登录、注销、写博客以及删除博客等功能。
- 登录功能:用户名以及密码已经在后端写入了数据库,没有实现账户注册功能,即:用户名以及密码是已经存在的。登录成功后就会跳转到列表页面。在右上角存在主页和写博客两个按钮,但是在未登录情况下按下均只会跳转到登录页面。
- 列表页面:可以在列表页查看有限数量的博客简介,其包括博客标题、发布时间以及内容概要。在左侧可以看到登录的用户以及文章数、分类数等的模块。在右上角有主页、写博客和注销三个功能:主页即列表页,写博客即博客编辑页,注销即注销用户,回到登录页面。
- 详情页面:在列表页面点击“查看全文”按钮就会跳转到详情页,此时就可以看到该篇博客的完整内容。在右上角同样有主页、写博客、删除和注销四个功能:删除即删除该篇博客,删除之后就会跳转到列表页面,该篇博客就被成功删除。
- 写博客:在登录之后的任意界面点击“写博客”之后就会进入博客编辑页面,此时就可以进行博客的编写,点击“发布文章”后就可以成功发布文章,此时就会跳转到列表页。
三、测试计划
一)功能测试
-
测试用例:
2. 实际执行测试的部分操作步骤/截图
1)正常登录
2)写博客测试:
3)发布成功并查看详情页
4)删除博客,进入详情页,并点击“删除”之后成功删除
5)注销:点击“注销”后回到登录页
二)自动化测试
- 针对个人博客项目进行测试,个人博客主要由四个页面构成:登录页、列表页、详情页和编辑页,主要功能包括:登录、编辑并发布博客、查看详情、删除博客以及注销等功能。对于个人博客的测试主要就是针对主要功能进行测试,然后按照页面书写测试类。
- 个人博客地址:藏书阁
- 自动化测试一般步骤:
1)编写web自动化测试用例
2)创建自动化项目,根据用例来实现脚本
以页面书写测试类,然后对主要功能进行测试。
代码编写
- 根据脑图进行测试用例的编写:每个页面一个测试类,然后再各个测试类中进行测试用例的编写。
- 注意公共属性需要单独放一个类,方便进行代码复用。
- 使用测试套件便于运行以及修改。
- 创建启动以及现场截图就是会频繁进行复用,所以单独创建一个类进行存储。
- 注意添加隐式等待,为了确保页面正确加载显示。
添加依赖
<dependency><groupId>io.github.bonigarcia</groupId><artifactId>webdrivermanager</artifactId><version>5.8.0</version></dependency><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>4.0.0</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version></dependency>
新建包并在包下创建测试类以及公共类
1)公共类Utils
创建驱动、保存现场截图
2)登录页面测试LoginPage
① 创建驱动,并打开页面
② 测试页面是否正常打开
③ 测试正常登录
④ 测试异常登录:用户名/密码错误的情况
3)列表页测试ListPage
① 测试博客列表页是否可以正常打开
② 测试列表页的“查看全文”按钮是否可以正常跳转
③ 测试未登录的直接链接是否会跳转到登录页面,测试“注销”按钮
4)编辑页测试EditPage
① 测试编辑页是否可以正确打开
② 测试博客是否可以正常发布
③ 测试“写博客”按钮是否可以正常使用
5)详情页测试BlogDetailTest
① 测试详情页的正确打开
6)驱动释放DriverQuiteTest
代码参考:BlogAutoTest/src/test/java · 刘子鹏/Java学习 - 码云 - 开源中国 (gitee.com)
运行结果