环境:selenium4自动化测试和junit5单元框架
测试内容:确保个人博客系统登录功能正常,博客列表可以正常显示内容,博客详情页显示正常编写内容。
测试用例图如下:
目录创建
在idea中创建如下的文件目录
分为三大部分
- 第一部分是进行屏幕截图,用来保存用例运行后的截图,来确保问题出现在哪里。
- 第二部分是common,这个是用来存放公共组件的,这部分为所有的用例添加一个隐式等待和获取屏幕截图。
- 第三部分是Test,这一部分是存放测试用例的,在runSuit中可以把这些测试用例按照顺序进行排序运行,最后退出。这样可以提高测试效率。
自动化测试步骤
首先要对登录页面进行测试,测试的目的是为了确保用户进行正常登录后是否可以进行后续的操作
在输入登录页面的网址后,需要用到F12查找登录按钮的的selector,后续所有的思路都是找到这个元素的selector使用driver.findElement(By.cssSelector(""))这个方法去查找页面是否有这个元素,再加一个点击事件即可。
之后使用su,123","aaa,123这个两个账号来模拟登录,这里面需要使用到@ParameterizedTest这个注解来减少代码的冗余。
测试BlogDetail用例
这里主要是看是否可以找到这两个元素,也就是标题和时间,如果找到了那么就可测试成功了
测试BlogEdit用例
这个是博客的编写页面,我们需要找到如下元素即可
对于博客列表是否可以查看需要找到之前写好的博客,如果有那么成功。
最后我们把这些方法放在一个测试套件里面,一次性执行,这样提高了自动化的执行效率,同时在屏幕截图的文件夹里面可以查看有问题的测试用例
common文件夹
项目总结
- 在自动化测试时,使用到了selenium4和junit5单元测试框架,其中使用到了junit5提供的注解,避免生成了过多的测试对象,提高了测试效率。
- 只建立了一次驱动对象,避免了重复创建和资源的浪费。
- 使用了参数化减少代码的冗余,提高了代码的简洁性。
- 创建了测试套件,降低了测试人员的工作量,通过一次执行可以运行所有的测试用例。
- 使用了等待,提高了自动化的效率,提高了稳定性。
- 使用了截图方便问题的复盘和解决。