一、前置用例及前置执行SQL
![](http://upload-images.jianshu.io/upload_images/15065120-75beaff169e028b7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/825/format/webp)
1.1 用于解决为用例的执行创建数据场景;
1.2 前置用例功能是通过执行已设定的用例,创建后续用例的数据场景。通常可用于:验证登录成功场景时,先通过设置前置用例为注册成功用例,以确保执行登录时该帐号是已注册的;
1.3 前置执行SQL,当前设计仅限测试环境可用,生产库不适宜直接进行db的update、delete、insert into操作。
二、断言设置
![](http://upload-images.jianshu.io/upload_images/15065120-ef373475fe96b7e3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
2.1 验证方式
通过以下三种方式获取用例执行实际结果,与用例设置的期望值作对比。
![](http://upload-images.jianshu.io/upload_images/15065120-2c0a3192279c74b4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/757/format/webp)
JsonPath:Fastjson的JSONPath进行json数据提取;
示例:
{ "data": [{ "calorieStandardRate": 36, "happenDate": 20181217, "motionTimeStandardRate": 9 }, { "calorieStandardRate": 100, "happenDate": 20181219, "motionTimeStandardRate": 34 }, { "calorieStandardRate": 100, "happenDate": 20181220, "motionTimeStandardRate": 44 }, { "calorieStandardRate": 90, "happenDate": 20181221, "motionTimeStandardRate": 3 }], "message": "OK", "result": "0000"}
$.data[-1].calorieStandardRate:代表取data数组中最后一个的 calorieStandardRate 值;
$.data[0].calorieStandardRate:代表取data数组中第一个的 calorieStandardRate 值;
$.data.length():代表取data数组的长度,可进一步代表返回了几条数据;
Response:表示接口返回的response字符串;
Value(SQL):表示执行sql查询后的结果;
2.2 预期值
期望结果和实际结果均支持字符串、sql脚本、Jsonpath动态取值,避免写“死”测试数据,造成在后期的用例失败,提高用例的可持续性。
2.3 对比方式
值相等、值不相等、值包含、值不包含
2.4 在线调试
可在线对用例进行调试校验。完整的记载着用例的输入、参数替换、输出、断言对比结果。
![](http://upload-images.jianshu.io/upload_images/15065120-c3708383268750ff.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/596/format/webp)