企业微信
测试框架结构
测试框架核心
- API对象:完成对接口的封装
- 接口测试框架:完成对api的驱动
- 配置模块:完成配置文件的读取
- 数据封装:数据构造与测试用例的数据封装
- Utils:其他功能封装,改进原生框架不足
- 测试用例:调用Page/API对象实现业务并断言
测试用例构建体系
- 使用package管理业务模块
- 使用class管理业务功能
- 使用method完成业务具体行为
- 使用配置文件读取初始配置
- 使用继承规划用例执行顺序
- 使用testcase完成测试用例的落地
- 使用assertion完成业务正确性校验
- 使用数据文件管理用例的数据驱动
- 使用jenkins完成持续集成
企业微信基础数据
- 企业微信api:文档 - 企业微信开发者中心
- 企业微信app https://work.weixin.qq.com
- 获取token: 文档 - 企业微信开发者中心
- 自建应用secret: 8KEGhmql2Tj9stLV14mwCCR6POfphQpcOuqYQitrAMo
- 企业id: wwd6da61649bd66fea
- 自建应用agentID: 1000004
用例设计
- 创建部门
- 获取部门
- 更新部门
- 删除部门
测试用例
- 创建 + 获取
- 更新部门 + 获取
- 删除部门 + 获取
构建用例框架
封装API
请求内容构造
- 模板文件+数据
- 数据文件+结构体修改
- POJO model 模型化
第二部分 添加成员、消息的自动化测试
4:15
配置文件
数据驱动
@ParameterizedTest
@ValueSource(strings = {
"霍格沃兹测试学院线上第七期",
"霍格沃兹测试学院线上第八期",
"霍格沃兹测试学院线上第九期",
"a",
"1",
"@"
})
void create(String name) {
departmentData.name=name;
department.create(departmentData);
Response response=department.list("");
response.then().statusCode(200);
response.then().body("errcode", equalTo(0));
response.then().body("department.size()", greaterThanOrEqualTo(0));
response.then().body("department.find{ it.name == '"+ departmentData.name + "'}.name", equalTo(departmentData.name));
}
并发
- mvn test maven支持并发
- mvn test -Dtest=package 结合多配置项目
- maven并发文档介绍 https://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html
报告
- maven报告 target/surefire-reports junit xml
- pytest junit testng 本身的html报告
- allure2
作业1
- 完成通讯录的测试,删除部门的测试用例追加上,把代码更新到github,并贴上github的项目连接
作业2
- 添加用户到部门,数据驱动
- 支持测试环境、预发布环境、联调环境 本质是修改ip和host
- 接口对象封装为数据驱动