GAT框架使用指南(四)

3.2接口用例场景组件

在此之前,大家应该都已经开发完成了一个最简单的接口测试用例,但是之前的接口用例的期望结果是固定值,不能动态的去做对比,有很大局限性。下面开始介绍怎样通过场景组件来动态对测试结果做断言。(以下步骤的前提是你已经完成了3.1小结中的简单测试用例。)

 

1)         单一接口用例的断言组件

l   第一步:在eclipse中导入IATStepGroup,根据你自己的接口功能模块添加新的package包.本例中我添加的package名字:cn.gateside.iat.steps.demo

 

l   第二步:在新建的package下添加场景组件类。类名称建议以接口的名称+Steps作为你的场景组件类名称。本例中我添加的场景组件类名称为:UserInfoSteps.java

 

l   第三步:添加好场景组件后,开始添加场景组件方法。在UserInfoSteps.类中添加如下代码:

@AssertStepMethodDesc(description=””,owner=””)

publicvoid asserUserInfo(String parameterID,String expectResut,String actualResult) throws Exception

{

InterfaceStepParameter parameter=(InterfaceStepParameter)ParameterHelper.getInterfaceStepParameter(parameterID);

JSONObject object=JSONObject.fromObject(actualResult);

MysqlDBOperationService service=new MysqlDBOperationService(parameter.ConnectiongString);

List<List<String>> resultSet= service.executeQuery(parameter.getValue(“announcerInfoSql”),parameter.getValue(“user”),parameter.getValue(“password”));

  1. assertEquals(object.keys(), resultSet.size()-1,”!!!the announcer number from interface is different from the number from database!!!”);

}

以上是一个最常用的断言场景组件的写法。接下来解释上述方法中的每一行。这里说到的每一行是指一行代码,请忽略换行,以及花括号。

 

H1:是断言方法的注解,包含两个参数description(方法功能描述),owner(方法的开发人员)

 

H2:场景组件方法定义,需要注意的是断言组件方法会有三个参数,分别表示这个方法中用到的数据的存储ID,期望结果,以及用例的实际结果。

 

H3:第三行是用来获取方法中用到的数据,根据parameterID从存储数据的xml文件中读取。此行可以照抄,如果没有用到数据可以不写此行。

 

H4:是将实际结果转换成Json对象,如果实际结果不是json字符串,请用相应的处理格式来处理。

 

H5,H6:两行是用来从数据库查询出期望的结果和实际结果做对比。对于H5行来说只有一个参数ConnectionString,在此是指JDBC链接字符串。H6行中三个参数,第一个只是要执行的sql语句,后面两个是访问数据库需要的用户名和密码。另外H6返回值是一个二维的list.resultSet.get(0)代表的是查询结果的column name.

 

H7:对实际结果以及查询到的期望结果做断言。

 

2)   断言场景组件的使用

完成自己的场景方法后,接下来介绍怎么使用。首先需要知道我们完成的场景方法的全名是什么。

l  场景方法全名:cn.gateside.iat.steps.demo.UserInfoSteps.asserUserInfo,也就是之前提到的pacakge.class.method

l  现在来看怎么使用我们的场景方法,先打开你在excel中创建的用例,将AssertType的值改为Custom.然后修改AssertMethod的值为cn.gateside.iat.steps.demo.UserInfoSteps.asserUserInfo:Test01

l  到这一步的时候,很多人可能不明白AssertMethod的值里面【:Test01】的意思,这一段表示这个场景方法用到的数据在xml中的存储ID.这个ID也就是在你开发场景方法的时候的第一个参数parameterID.

l  接下来看看,parameterID这个参数指定的数据是存放在哪里,对于Excel形式的用例,parameterID所指定的数据是存放在与Excel同名的xml文件里的。所以在我们示例中开发的场景方法用到的数据必须都放在xml中。

|  在运行你的用例之前,要做的一件事就是修改IATStepGroup项目下的build.xml文件。将下图中红框里的路径修改为你本地的Libs的路径。修改完成后,将IATStepGroup编译打包成jar文件

IATStepGroup_build2

 

l  准备好数据后,就可以运行你的用例,注意如果只是修改了数据不需要重新执行GatRuner生成用例。

咦?还没有评论,抢沙发!

发表评论