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

【来点小剧场--项目测试报告】个人博客项目自动化测试

前述

  1. 针对个人博客项目进行测试,个人博客主要由七个页面构成:注册页、登录页、个人博客列表页、博客发布页、博客修改页、博客列表页、博客详情页,主要功能包括:注册、登录、编辑并发布博客、修改已发布的博客、查看详情、删除博客以及注销等功能。对于个人博客的测试主要就是针对主要功能进行测试,在这里,由于注册功能比较特殊和麻烦,所以暂且不测。
  2. 个人博客地址:登录页面
  3. 自动化测试一般步骤:1)使用脑图编写web自动化测试用例
    2)创建自动化项目,根据用例来实现脚本

一、思维导图

二、代码编写

  1. 根据脑图进行测试用例的编写:每个页面一个测试类,然后再各个测试类中进行测试用例的编写。
  2. 注意公共属性需要单独放一个类,方便进行代码复用。
  3. 使用测试套件便于运行以及修改。
  4. 创建启动以及现场截图就是会频繁进行复用,所以单独创建一个类进行存储。
  5. 注意添加隐式等待,为了确保页面正确加载显示。

1.添加相关依赖pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>blog_sm_Test</artifactId><version>1.0-SNAPSHOT</version><!--    <build>-->
<!--        <plugins>-->
<!--            <plugin>-->
<!--                <artifactId>maven-surefire-plugin</artifactId>-->
<!--                <version>2.22.2</version>-->
<!--            </plugin>--><!--        </plugins>-->
<!--    </build>--><dependencies><!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java --><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>3.141.59</version></dependency><!-- https://mvnrepository.com/artifact/commons-io/commons-io --><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.11.0</version></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>5.8.2</version><scope>test</scope></dependency><dependency><groupId>org.junit.platform</groupId><artifactId>junit-platform-suite</artifactId><version>1.8.2</version><scope>test</scope></dependency></dependencies><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties></project>

2.新建包并在包下创建测试类以及公共类

所建类和包图示

1)公共类InitAndEnd

  1. 公共类实现的功能有两个即创建驱动进行相关初始化,和保存截图
  2. 注意:在保存现场截图的时候命名是按时间来进行文件夹的划分,然后图片的名称要体现出测试类的类名,方便进行问题的追溯。
  3. 文件名进行动态获取。

2)登录页面测试blogLogin_Test

  1. 创建驱动打开页面。
  2. 测试页面是否正常打开。
  3. 异常登陆测试——用户名和密码都为null。
  4. 异常登陆测试——用户名或密码错误。
  5. 正常登录测试。

3)个人博客列表页测试myblogList_Test

  1. 测试页面是否可以正常打开。
  2. 测试按钮是否有效,即点击按钮会不会执行相关的功能。
  3. 测试未登录状态下会不会到达这一个页面。

4)博客发布页测试blogAdd_Test

  1. 检查元素是否被加载出来。
  2. 错误发表一篇博客——不输入标题,然后对相关url进行比对,观察是否发布成功。
  3. 正确发表一篇博客。
  4. 跳转到博客详情页,观察博客是否发布成功。

5)博客修改页测试blogChange_Test

  1. 点击编辑按钮并查找元素。
  2. 将博客的标题进行修改。
  3. 观察博客修改是否成功。

6)博客删除测试blogDelete_Test

  1. 点击删除按钮并进行删除操作。
  2. 观察博客是否被删除。

7)博客详情页测试blogList_Test

  1. 检查元素是否完成加载。
  2. 检查未登录的状态下能否直接访问该页面。
  3. 验证完后进行登录,方便后续测试。

8)注销测试

  1. 执行注销操作。
  2. 进行弹出的提示框的选择。
  3. 测试取消注销和确定注销后结果。
  4. 比对url观察结果。

9)测试套件SuiteTest

测试套件的运行,使用的是以测试类作为执行顺序的方式。

3.代码参考

blog_sm_Test测试代码

三、代码测试

所有用例均通过,并且有保留截图:

四、亮点

  1. 使用了JUnit5中提供的注解:避免生成过多的对象,造成资源和时间的浪费,提高了自动化的执行效率
  2.  只创建一次驱动对象,避免每个用例重复创建驱动对象造成时间和资源的浪费。
  3. 使用参数化:保持用例的简洁,提高代码的可读性。
  4. 使用测试套件:降低了测试人员的工作量,通过套件一次执行所有要运行的测试用例。
  5. 使用了等待:提高了自动化的运行效率,提高了自动化的稳定性,减小误报的可能性。
  6. 使用了屏幕截图:方便问题的追溯以及问题的解决。
http://www.lryc.cn/news/196206.html

相关文章:

  • 【安卓环境搭建报错的解决】
  • Pruning Pre-trained Language Models Without Fine-Tuning
  • Java内存模型-Java Memory Model(JMM)-可见性、原子性、有序性
  • 基于Springboot实现在线答疑平台系统项目【项目源码+论文说明】
  • 前端工程化知识系列(1)
  • xml文件报错 ORA-00907: 缺失右括号
  • VScode platformio的使用
  • transformer_01
  • JavaSE入门---认识方法
  • 编译[Bug]——too few arguments for template template parameter “Tuple“ detected
  • 网工内推 | 南天软件,base北京,需持有CCIE认证,最高25k
  • Unity有限状态机的简易实现
  • 什么是NetApp的DQP和如何安装DQP?
  • Vue之Vue的介绍安装开发实例生命周期钩子
  • 【计网】计算机网络概述
  • 初识Java 14-1 测试
  • react常用的hooks有哪些?
  • Nacos config 配置中心详解
  • C++ UDP通信
  • 自由程序员想接私活?那你还不得知道这几个接单平台!最后一个就是宝藏!!
  • 二叉树与递归的相爱相杀
  • Docker 安装 reids
  • opensl学习——base16编码解码、base64编码解码、ASCII码表、扩展ASCII码
  • gazebo各种插件
  • C语言Free空指针会怎样?
  • 软件测试全套教程,软件测试自学线路图
  • 禁止浏览器缩放
  • 前端食堂技术周刊第 100 期:TS 5.3 Beta、ViteConf2023、Rspress 1.0、Fresh 1.5、Chrome 118
  • 汇川IT7000系列HMI使用脚本实现画面跳转时自动切换手自动模式
  • FDTD Solutions笔记