spring和接口测试的那点事

接口测试和spring的那点事
本文中主要说说spring跟接口测试的关联,因为本人用的接口测试框架跟spring有很大关联(可以理解为就是spring的框架,但是也融入了支付宝这边内容)所以聊下他的框架是什么样的。。

在环境准备这块因为用到了testNG和EclEmma(查看覆盖率的)及maven所以先在Eclipse中安装这些插件

大致框架介绍:
1、接口测试一般单独分为一个bundle,即命名 xxx-tester;
2、bundle下测试基类:每个系统都有一个接口测试的Base类,供每个接口在接口测试时调用,命名xxxTestBase.java(基类主要是加载该系统的jar包和一些xml文件,如:    list.add("ebppcore-remote-client.xml");
list.add("ebppcore-itest-actions.xml");想必spring框架中也有类似的xml文件,下文会讲改xml文件的作用;
3、ats-config.properties链接数据库配置
4、sofa-log4j.properties日志级别输出

针对一个接口进行编码:
1、生成一个xxxxNormalTest.java和一个xxxNormal.csvwen文件,Normal文件继承基类,Normal内容:
@TCList(caseid = { "TC0001N01" }, casedesc = {}
@Test(dataProvider = "CsvDataProvider", description = "") CSV文件的驱动内容

//初始化测试用例执行上下文
        FlowContext contextt = new FlowContext();

BizDataManagerRequest bizDataManagerRequest =BizreconUtil.checkDataCount(bizType, orgCode, subOrgCode, bizStartDate, bizEndDate, context);
        contextt.setOutput(BizreconServiceTestKeys.BIZDATA_MANGER,
bizDataManagerRequest); //被测试对象构造以及入参

//执行测试用例
        flowTestEngine.executeTest(contextt);

2、norm类中涉及了xxxServiceTestKeys.java和OweUtil.java,xxxServiceTestKeys.java根据自己需要的参数在文件中进行配置,OweUtil.java封装实现类

3、xxxAction.java作用:a、调用facade方法,b,构造方法中参数,c,返回结果给norm类

4、xxx-itest-actions.xml中定义上文的Action文件名,供下文引用

5、src/test/resources/testcase/xxx.XML介绍内容如下

<?xml version="1.0" encoding="GBK"?>
<testcases desc="testAction正常场景测试用例">

<testcase name="createBill" desc="创建订单正常场景测试">
<processor step="beforetest" desc="测试数据准备">
</processor>
<processor step="innerprocess" desc="业务服务调用">
<action flowseq="1" ref="createEbppBillAction"  desc="测试组件1"/>
<action flowseq="2" ref="checkCreateBillAction" desc="测试组件2"/>
</processor>
<processor step="aftertest" desc="测试数据清理">
<action flowseq="1" ref="clearEbppBillAction" desc="清除数据"/>
</processor>
</testcase>

</testcases>

xml中引用了上文的Action

6、CSV中的文件和norm的java类参数一致;

7、在Normal类中通过testNG执行接口测试内容

8、通过EclEmma监控该脚本的覆盖率

猜你喜欢

转载自fangpeng123456789.iteye.com/blog/2142863