【自动化测试】技术交流论坛

   日期:2024-12-26    作者:dc8uw 移动:http://3jjewl.riyuangf.com/mobile/quote/42879.html

本篇使用Selenium3+Junit5对个人技术交流论坛进行简单的自动化测试,如有错误,请在评论区指正,让我们一起交流,共同进步



本文开始

项目介绍
技术交流论坛基于 Spring Boot,MyBatis, MySQL等技术实现的一个前后端分离的一个项目
主要功能页有:登录页、注册页、技术交流论坛列表展示页,帖子编辑发布和个人中心页。
测试主要页面:登录页面,注册页面,列表展示页面以及帖子编辑发布页,个人信息展示,退出操作功能。【都是基于常用的主要页面进行的】

3.1.1 配置环境

创建Maven项目,配置pom.xml文件

 

3.1.2 配置使用的公共类

原因
1.每个测试用例都需要驱动,使用前置方法设置,后置方法释放驱动资源
2.配置一些公共方法,方便测试使用;如:截图方法,进入登录状态方法等

 

3.1.3 项目目录 + 截图

3.2.1 注册自动化测试

  • 注册界面测试 - RegTest
    1.获取驱动,打开注册界面
    2.找到输入框,输入账号,昵称,密码,确认密码
    3.点击确认协议
    4.校验是否注册成功
    5.注册失败,截图查看失败原因
成功注册
 
注册失败情况

【注】编写的测试用例太多,取几个演示

 

测试结果

3.2.2 登录自动化测试

  • 登录界面自动化测试 - LoginTest
    1.获取驱动,打开登录界面
    2.校验正常登录 - 多参数测试,多个测试用例
    3.校验异常登录 - 错误的密码登录
    4.对于多组测试,需要清空上次输入的内容
    5.使用注解保证测试的顺序
成功登录情况
 
失败登录
 

运行结果

3.2.3 列表页自动化测试

  • 遇到的bug:
    • 操作:登录状态查看帖子列表
    • 出现异常: no such element
    • 原因:首页帖子页面还未渲染完毕,就捕获文本元素
    • 解决:使用隐式等待
      :webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
登录状态下查看列表
 
未登录状态下查看帖子页
 

运行结果

3.2.4 帖子编辑自动化测试

  • 遇到bug:
    • 操作:登录状态下进行帖子编辑
    • 出现异常:ElementClickInterceptedException: element click intercepted: Element is not clickable at point (939, 1108)
    • 原因:页面是异步加载,点击按钮未加载,就进行了的点击,导致元素点击中断,找不到点击位置
登录状态下进行帖子编辑
 
未登录状态
 

运行结果

3.2.5 个人中心自动化测试

登录状态下获取个人信息
 
未登录状态获取个人中心
 

运行结果

3.2.6 退出功能自动化测试

登录状态下退出
 

运行结果

  • 可以考虑使用PO模式,现在的代码将获取元素,操作元素,测试元素操作混在了一起,对于后期维护比较困难,使用PO模式改进,可以复用元素代码,让多个人写测试用例的耦合降低,也利用后期的维护工作
  • 需要注意测试的执行顺序,不关注可能报错
  • 对于多参数测试,需要清空上次输入数据,页面回退
  • 测试用例并不是越多越好,覆盖较多功能较好
  • 测试功能会有遗漏的情况,对于测试用例执行顺序会有错误情况

1.使用Junit5单元测试框架中的注释:提高测试的稳定性,提高自动化执行效率(指定执行测试顺序,指定参数
2.根据技术交流论坛设计的手工测试用例,对每个测试用例的常用功能实现自动化测试
3.使用工具类每次测试都需要驱动,写一个公共类,实现代码复用
4.使用等待:提高自动化运行效率,提高自动化的稳定性,减小误报的可能性



特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号