1,项目背景
基于SSM框架实现的个人博客系统,由五个页面构成:用户登录页、博客发表页、博客编辑页、博客列表页以及博客详情页。登录即可查看自己与其他用户已发布的博客,也可以使用自己的账号发布博客,通过使用 Selenium 定位web元素、对获取到的元素进行操作等,对个人博客系统进行测试,测试的核心内容包 括用户登录、博客列表、用户信息、博客数量、查看全文、详情页内容、写博客、删除博客、编辑发布博客、退出账号 等。该博客系统可以 实现发布个人博客,记录博客发布日期、时间、标题、博客发布者 等信息。
2,设计测试用例
博客登录页:
博客详情页:
博客编辑页:
博客列表页:
3,功能测试
登录功能测试:账号:lisi 密码:123456
测试结果如下:
输入正确的账号和密码,会成功跳转到博客主页; 输入错误的账号或密码,会有相应的提示; 符合预期结果
博客功能测试:
正常发布:标题和内容不为空;
异常发布:标题或内容为空,含弹窗提示;
文章可正常修改删除,无异常行为
4,自动化测试
自动化测试点如下:
目录结构如下:
参照测试用例,编写自动化测试脚本
1.创建浏览器对象
请求URL访问对应的页面,进入到对应的页面之后,才可以执行一系列的测试用例。浏览器对象是每个页面都会调用的(多次创建消耗性能),所以把创建浏览器对象单独拿出来放到一个文件中,这里使用Until.py 文件,用来生成测试文件中需要用到的配置内容。有时候我们想要知道每次运行结束前的界面是什么情况,就可以使用 屏幕截图 来保存当时的情况。
①首先创建一个类(Driver)
②定义一个类成员和两个构造函数(一个函数是存放创建的浏览器对象与其他常用浏览器相关参数设置,一个函数是屏幕截图)
创建一个运行文件(程序的主入口 ),运行各个测试类中的函数
博客“登录”自动化测试
①新建一个博客登录测试文件(自定义文件名为:BlogLogin.py)
②引入Until文件(获取创建的浏览器对象)和其他相关依赖
③创建一个博客登录测试类(这里命名为BlogLogin)
④构造一个函数编写登录成功的测试用例(这里命名为LoginSucTest)和构造一个函数编写异常登录的测试用例(这里命名为LoginFailTest)。
⑤注意清空输入框的内容后才能再次输入用户名及密码进行登录
⑥在这个自动化测试中主要是对页面是否正常打开,并且针对是否可以登录成功/登录失败进行测试。
⑦在RuntTest.py中指定各个函数的执行顺序
”博客列表页及博客列表中数量“自动化测试
①新建一个博客列表页测试文件(自定义文件名为:BlogList.py)
②引入Until文件(获取创建的浏览器对象)和其他相关依赖
③创建博客列表页测试类(这里命名为BlogList)
④构造两个函数分别编写博客登录成功状态下访问博客列表和未登录状态下访问博客列表的自动化测试脚本
⑤测试内容包括:博客标题、博客内容、按钮等是否存在,以及"博客数量是否为0”
⑥在RuntTest.py中指定各个函数的执行顺序
RunTest.py
博客详情页(点击“查看全文”按钮)“自动化测试
①新建一个博客详情页测试文件(自定义文件名为:BlogDetail.py)
②引入Until文件(获取创建的浏览器对象)和其他相关依赖
③创建博客详情页测试类(这里命名为BlogDetail)
④构造函数,登录状态下的博客详情页自动化测试
⑤这个界面中,主要是针对页面是否显示正常,点击“查看全文”按钮是否正常跳转进行测试
⑥在RuntTest.py中指定各个函数的执行顺序
“登录状态下的博客详情页”测试:
RunTest.py
“删除博客”自动化测试
①在博客详情页测试文件中,构造一个函数编写删除博客自动化脚本
②在这个界面中主要是点击“删除”按钮之后,自动跳转到列表页,获取第一篇博客标题是否是给定标题,来判断是否删除成功。
③在RuntTest.py中指定各个函数的执行顺序
RunTest.py
”博客的编辑与发布“自动化测试
①新建一个博客详情页测试文件(自定义文件名为:BlogEdit.py)
②引入Until文件(获取创建的浏览器对象)和其他相关依赖
③创建博客详情页测试类(这里命名为BlogEdit)
④构造函数,编写登录状态下的编辑和发布博客自动化测试的脚本
⑤这个界面中,主要是针对页面是否显示正常,在列表页点击“写博客”按钮是否正常跳转、编写博客之后,点击”发布博客“按钮是否发布成功进行测试
⑥在RuntTest.py中指定各个函数的执行顺序
RunTest.py
”退出账号“自动化测试
①在BlogList文件的BlogList类中构造函数,编写登录状态下退出账号测试脚本
②这个界面中,主要是针对页面是否显示正常,在列表页点击“退出”按钮是否正常跳转到登录页
③在RuntTest.py中指定各个函数的执行顺序
RunTest.py