lf知识星球banner

三分钟学会Dubbo接口自动化

2018-03-13 17:22:00
Peggy
原创
8001
摘要:如何利用LuckyFrame平台,三分钟学会Dubbo接口自动化,搞定你的自动化测试

笔者在之前的文章中介绍过LuckyFrame实现hessian接口自动化,但很多童鞋都不知道,我们的平台其实也可以支持dubbo接口自动化,下面听我慢慢道来。


在实际动手操作之前,为了关照dubbo测试新手,笔者特意总结了以下几个知识点以供参考。已经有所了解的童鞋可以直接跳过此节~



dubbo接口的基本工作原理


1. 服务提供者:对外提供接口服务方;

2. 服务消费者:调用远程服务方提供方;

3. 服务注册中心:负责服务地址的注册与查找,服务提供者和消费者只在启动时与注册中心交互

4. 服务监控中心:负责统计各服务调用次数,调用时间等。


服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心;服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心。



什么是测试桩


简单说来,测试桩就是测试人员为了模拟客户端向接口服务端发送请求并接收返回信息,而编写的一段测试代码。对dubbo接口来说,就是模拟了消费者向提供者发送请求并接收返回信息。




如何在测试桩中调用接口服务


hessian接口的客户端,是通过服务方提供的url得到接口层的服务,并利用HessianProxyFactory类中的create方法创建了一个HessianProxy代理类的目标类,然后通过调用目标对象的对应方法,达到请求接口并获取相应返回信息的目的。其中具体如何实现,有兴趣的童鞋可以自行研究Hessian源码,我们就不做详述了,因为这与今天的话题无关。


而Dubbo接口的消费者,则是通过ClassPathXmlApplicationContext获得consumer.xml,从而引用提供者provider.xml中定义的Bean实例(对象),然后通过调用Bean对象的对应方法,达到请求接口并获取相应返回信息的目的。

   




接下来笔者将要带着大家进入实操阶段,学习利用LuckyFrame实现dubbo接口自动化。


1 步骤总结

LuckyFrame平台实现Dubbo接口自动化的方式,与实现hessian接口自动化的方式是一样的



实际上,LuckyFrame平台实现Dubbo接口自动化的方式,与实现hessian接口自动化的方式,基本步骤一般无二。


我们先来复习下,LuckyFrame是如何实现hessian接口自动化的:

第一步:编写java接口测试桩;

第二步:基于上面所编写测试桩,创建测试用例;

第三步:创建测试计划,将测试用例添加到测试计划中;

第四步:给测试计划新建调度任务,并将测试驱动桩打成jar包导入到客户端;

第五步:执行调度任务。


2 准备工作

在进入第一个步骤编写测试桩之前,我们需要知道接口提供者的一些信息



  • 定义的接口


  • 实现接口的类



  • provider.xml配置



3 具体操作

这一部分具体介绍“步骤总结”中提到的编写测试桩,以及创建测试用例



  • 编写dubbo接口测试桩



测试人员导入Dubbo框架需要的JAR包、以及服务提供方提供的接口和接口引用POJO的JAR包,然后编写测试代码,模拟接口消费者调用接口服务:

1. 调用接口的测试代码

2. 消费者的consumer.xml配置




  • 创建dubbo测试用例


“包 | 定位路径”:输入测试桩的类路径,填写格式为“包路径.类名”。例如:包路径为com.consumer,类名为Dubbotest,则此处填写“com.consumer.Dubbotest” 


“方法 | 操作”:输入测试桩的方法名,如上面例子中的testdubbo


“参数”:输入接口请求参数,如上面的例子,我们可以在这里输入“测试请求”


“步骤动作”:一般留空,也可以“n#Wait”的格式输入,表示执行此步骤后等待n秒


“预期结果”:输入我们期望的接口返回信息



接口用例创建好了,接下来的创建测试计划、调度任务以及执行调度任务,笔者在之前的文章中已经详细地介绍过,这里也就不再赘述。


文章原创申明
  • 本站文章以及相关内容除注明 转贴外,均为本站 原创翻译

  • 如果本站转载的文章涉嫌侵犯了您的权益,请在评论区留言或是邮件联系管理员及时删除 【admin@luckyframe.cn】

发表评论
评论通过审核后显示。
付费知识圈