1.证券系统接口自动化,首先需要在测试需求下创建场景,进而在场景中配置组件,例如“股票的普通买入”,这个场景配置的组件如下所示:
2.上面股票普通买入的场景其实是将金证接口做成的组件和专门用于计算和校验的组件结合起来拼成这样的一个场景进行测试,那么这样的场景下生成的用例测试点相对比较全面,不仅单独测到了涉及的所有接口,又测试了买入数量是否超过了交易数量&&资金的变化情况&&委托状态成功与否,那么这里涉及到一个问题:例如“买入校验交易数量”这个组件,是一个校验的组件,这个校验是如何实现的?用例执行之后校验点的校验结果怎么查看?如下,分三个步骤:
a、接口的制作需要有校验点栏位;这里需要强调一下,410411是接口文档中的接口,我们是将其制作成Excel按照特定格式导入到TC,这个组件只有出参入参没有检查点,有检查点的组件是单独用作校验,“买入校验交易数量”是测试人员根据校验的需要制作的组件,如下,这个组件初在设计Excel时,只有3个栏位:maxstkqty、yqqty和maxstkqty_check,其中2个是出参1个是检查点;其实maxstkqtyh和yqqty是入参也可以的,但我们一般做校验组件习惯性将非校验点的都设置为出参,其实除了校验点,其他字段是入参还是出参并不重要,他们存在的意义只是从前面的组件值传递到这些字段;校验点不一样了,必须是C(检查点):
导入到TC前的Excel:
导入到TC后作为组件存在,如下:
b、第二步骤是需要校验点的组件中编写脚本,如下是脚本:
这个脚本具体剖析如下:
//第一步
Double yqQty = Double.parseDouble(ar.parameterData.getFrom("yqqty"));//从用例中获取yqqty字段的值(这个值是从计算预期成交金额的yqqty值传递过来),并将其转换为double类型
//第二步
Double sjMaxstkqty = Double.parseDouble(ar.parameterData.getFrom("maxstkqty"));//从用例中获取maxstkqty字段的值(这个值是从410410-取交易数量的maxunlimitstkqty值传递过来),并将其转换为double类型
//第三步,判断410410接口返回的交易数量是否大于等于用例中手工填写的交易数量,如果大于等于则说明买股票的数量在可允许范围内,换句话说是校验点应该是正确的,ar.parameterData.putInto后面的括号有2个参数,一个是校验点字段名称maxstkqty_check,后面一个是字符串拼接起来,意思是委托数量+可委托数量+true;那么相反,如果小于yqQty,则将yqQty+";"+sjMaxstkqty+";false"这个拼接的字符串putInto到maxstkqty_check这个校验点字段;这里肯定很多读者会有疑问,脚本这样写的目的是什么?用例执行结束后怎么看校验点执行结果?校验点的校验结果对组件的执行结果甚至是用例的执行结果有何影响?下面第三步骤d会进行讲述
if ( sjMaxstkqty >= yqQty) {
ar.parameterData.putInto("maxstkqty_check",yqQty+";"+sjMaxstkqty+";true");}
else {
ar.parameterData.putInto("maxstkqty_check",yqQty+";"+sjMaxstkqty+";false");
throw new Exception("委托股份数量校验失败");
}
c、通过a和b步骤实现了组件的导入和校验组件脚本的编写,还需要在组件配置校验点中将校验点添加进来,添加后才能保证用例执行完可以在日志中查看,如下,切换到“校验点”选项卡,点击添加按钮,在弹出的页面中首先选择有校验点的组件,然后找到校验点字段,双击,右边会显示,点击确定即可添加成功:
d、上面脚本中,如果走第一个分支,脚本没有异常抛出,起码可以说明该组件执行正确,至于整个用例是否执行正确这个文档不再做过多描述(用例执行正确必须保证该用例执行后所有的组件都执行正确,是该用例场景下所有组件执行结果“与”的集合,如果该场景下有1个或1个以上组件运行失败,则用例执行结果是失败),该校验组件无论执行成功还是失败都可以在测试轮次下自动测试日志中查看某一次运行的记录,如下,从中找到对应的用例查看校验点结果,双击“买入校验交易数量”这个组件,可以在数据校验中显示:预期值、实际值、校验结果,这些显示的数据是通过上面编写的脚本实现的;相反,如果校验失败,上面的脚本会走第二个分支,同时还会有Exception抛出,用例在执行时如果脚本有异常语句运行了组件会失败,也是下图中会看到组件后面不是打钩而是一个红叉,同样双击该组件可以看到“数据校验”中显示的预期值、实际值、校验结果,可以通过看到显示的预期值和实际值判断为什么校验失败了:
您的信息已成功提交!
我们的客服人员稍后会与您联系