前面博客介绍了测试数据管理、配置信息管理以及定位操作页面元素、校验执行结果,此次课程把前面的内容进行整合,完成一个完成的UI层自动化案例。需要测试的场景是验证是否能给自己创建的blog添加comment以及能否将自己创建的blog打星。被测应用页面如下所示
上面包含了两个测试场景,为自己创建的blog添加comment和为自己创建的blog打星,因为这两个测试场景的测试点在添加comment和打星,那么在执行测试前需要为每个测试场景准备测试数据,即创建blog,这属于测试数据准备环节,且这类测试数据和用例强相关,是为某个用例准备的,不与其他用例共享的测试数据,可以把它称为独占测试数据。另外,假设一:该系统有不同的用户角色,期望检查普通用户角色能够给自己创建的帖子添加comment和打星,那么需要管理不同角色的用户信息,这里也涉及测试数据的管理。一个系统,同一个角色用户可能需要执行不同的测试场景,即这类测试数据是多个测试案例共享的,可以把它称为共享测试数据。因为多个案例共享,这类测试数据的特点是案例运行过程中不改变测试数据内容,这类测试数据在所有案例运行前进行准备。假设二:这两个测试案例需要在多环境中运行,即能在多套环境中切换运行,需要管理配置信息。
下面是实现上述两个测试场景中case层的测试脚本。同样,Test Runner上选择“addBlogComment_spec.js”和“favorateBlog_spec.js”即可运行下面的脚本。
const util = require('../../helper/util');
const globalFeedPage = require('../page/globalFeedPage');
const blogDetailsPage = require('../page/blogDetailsPage');
const prepareBlogTestData = require('../../testData/prepareBlogTestData');
const testDataManage = require('../../testData/testDataManage');
describe("add comment for blog test", () => {
beforeEach('prepare blog for test', () => {