BlogWebAutoTest
- 前言
- 一、脑图
- 二、编写代码
- 三、代码测试结果
前言
1.针对个人博客进行测试,个人博客主要有四个页面构成:登录页、列表页、详情页和编辑页,主要功能包括:登录、写博客、删除博客、修改博客、查看详情以及注销等功能。对于个人博客主要是针对功能进行测试。
2.个人博客地址:个人博客注册页面
3.自动化测试一般步骤:
1)使用脑图编写Web自动测试用例
2)创建自动化项目,根据用例来实现脚本
一、脑图
二、编写代码
- 根据脑图进行测试用例的编写:每个页面一个测试类,然后在各个测试类中进行代码测试用例的编写。
- 注意代码复用,避免代码冗余
- 使用测试套件便于运行和修改
- 创建启动以及现场截图保存测试结果
- 隐式添加等待,确保页面能正常加载显示
1.添加相关依赖pom.xml
<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>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.9.1</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.9.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-params -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.9.1</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite</artifactId>
<version>1.9.1</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.platform/junit-platform-suite -->
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite</artifactId>
<version>1.9.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.9.1</version>
<scope>test</scope>
</dependency>
</dependencies>
2.以下为测试类及公共类
1)公共类AutoTestUtils
创建驱动、保存现场截图
注意:在保存现场截图的时候命名是按时间来进行文件夹的划分,然后图片的名称要体现出测试类的类名,方便进行问题的追溯。
注意文件名的动态获取,注意时间格式的设置。
注意:可以在创建驱动的时候修改默认的有头模式or无头模式
2)登录页面测试BlogLoginTest
① 创建驱动,并打开页面
② 测试页面是否正常打开
③ 测试正常登录:多参数测试
④ 测试异常登录:用户名/密码错误的情况(此处不测null)
⑤ 注意测试的顺序,使用Order注解指定,否则可能会因为执行顺序不对导致测试失败
⑥ 注意清空内容后才能再次输入用户名以及密码
3)列表页测试BlogListTest
① 测试博客列表页是否可以正常打开
② 测试列表页的“查看全文”按钮是否可以正常跳转
③ 测试未登录的直接链接是否会跳转到登录页面,顺便测试了“注销”按钮
④ 同样注意执行顺序
4)编辑页测试BlogEditTest
① 测试编辑页是否可以正确打开
② 测试博客是否可以正常发布:元素齐全 or 部分元素
③ 测试“写博客”按钮是否可以正常使用
④ 执行顺序
5)详情页测试BlogDetailTest
① 测试详情页的正确打开:有blogId和没有blogId两种情况
② 测试“删除”按钮是否可用,注意比较的是时间,因为标题可能会存在为空的情况
③ 执行顺序
④ 一定要注意导航回到列表页的操作
6)测试套件RunSuite
测试套件的运行,使用的是以测试类作为执行顺序的方式。
3.代码参考
个人博客自动化测试代码参考
三、代码测试结果
所有测试用例全部通过如图所示