![](https://csdnimg.cn/release/download_crawler_static/9915738/bg5.jpg)
2015/12/28 自动化测试使用说明文档自动化测试Qunar.comengineerwiki
http://wiki.corp.qunar.com/pages/viewpage.action?pageId=19346606#%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95%E4%BD%…
5/24
式引用。
待测接口配置文件(service)
完成了Qunit框架的测试环境配置之后,需要针对每个待测的接口进行相应的配置,这样Qunit才能够正确的找到待测接口并
正确的完成测试工作。
Qunit框架中对于待测接口的配置文件是test/resources/service/service.xml。
Qunit当前支持的接口测试类型包括:HTTP、RPC
针对不同种类的接口需要在service.xml文件中插入不同的配置选项。
一个service.xml文件的结构如下:
<?xmlversion="1.0"encoding="UTF8"?>
<services>
<httpid="logon"url="$qhotel.host/logon/logon.json"method="post"desc="登录Qhotel系统"
<shttpid="getImage"url="$qhotel.host/image/getimage.jpg"method="get"desc="获取图片"
<rpcid="WorkloadService"class="com.qunar.hotel.api.service.WorkloadService"method=
<hessianid="transferFacade_trade"class="com.qunar.pay.g2.api.gateway.TransferFacade"
<localid="SetupMock"class="com.qunar.hotel.test.SetupMock"method="start"desc=
</services>
<services>根节点
<http>配置一个待测http接口。该标签参数:
1. id为接口的唯一标识符,用户自定义,Qunit框架根据该id值对case中调用的服务进行映射并完成接口的调用。一般id
命名为待测接口名称。
2. url为http接口对应的调用url,在本例中$qhotel.host为在qunit.properties中已经配置好的host变量,在实际使用中请使
用这种方式配置URL。
3. method为http接口的调用方式,默认为post。
4. desc为接口功能描述,建议使用中文,清晰描述该接口的功能。
<shttp>配置一个待测的http接口。其设置参数与上面的http相同。对于<http>接口,Qunit内部会将获取到的内容转换成字
符串,然后交给case的后续流程。但是在某些场景中,我们或许想获得http接口直接返回的二进制流。然后从流中提取我们
想要的东西(比如很多无线接口)。那么你就可以使用<shttp>标签获取原生二进制流。
<rpc>配置一个待测dubbo服务接口。该标签参数说明(注意:qunit只支持通过直连的方式测试dubbo服务,不支持通过注册
中心的方式):
1. id同上
2. class为待测接口所属的接口全名(包括包名。注意,在测试dubbo服务的时候,需要在测试的pom里引入dubbo服务
api包的依赖)
3. method为待测接口在类中定义的方法
4. url为rpc接口所在的host,只需指定机器名及其端口号(host:port,注意,这里不是zookeeper的地址和端口)
5. desc同上
测试rpc接口的时候,我们仅仅指定了服务接口中的方法名称,这样在接口中存在方法重载时将无法测试,Qunit增加
了对重载方法的支持
service.xml
<rpcid="rpcService"class="com.qunar.autotest.RpcService"method="getName(String,int
参数列表里只需要填写参数类型列表即可,不能填写参数名称,并且以逗号分隔。没有方法重载的情况,不用填写参
数列表
<hessian>配置一个待测hessian服务接口。该标签参数说明:
1. id同上
2. class为待测接口所属的接口全名(包含包名。注意,在测试hessian服务的时候,需要在测试的pom里引入hessian服
务对应api包的依赖)
3. method为待测接口在类中定义的方法
4. url为hessian接口的地址
5. 同上
<local>调用本地类
1. id同上
2. class要调用的本地类(该类必须在pom里导入了或直接以代码形式存在工程中)
3. method要调用的方法
4. desc同上
hessian方法重载类似于rpc,参见rpc重载处理方法
Dataset文件介绍