注意:本篇文章主要是测试dubbo下的业务,并非测试dubbo框架本身

在如下情况下可以使用这种方式

  1. dubbo消费端不到服务端提供API或者jar包
  2. 想通过http接口测试dubbo
  3. 字符串和对象的互相转化

核心伪代码,利用下面的代码起一个HTTP服务


class DubboParams {public String url;public String method;public String params;public String interfaceName;public String type;public String value;public String getType() {return type;}public DubboParams setType(String type) {this.type = type;return this;}public String getValue() {return value;}public DubboParams setValue(String value) {this.value = value;return this;}public String getUrl() {return url;}public DubboParams setUrl(String url) {this.url = url;return this;}public String getMethod() {return method;}public DubboParams setMethod(String method) {this.method = method;return this;}public String getParams() {return params;}public DubboParams setParams(String params) {this.params = params;return this;}public String getInterfaceName() {return interfaceName;}public DubboParams setInterfaceName(String interfaceName) {this.interfaceName = interfaceName;return this;}
}public Response runDubbo( DubboParams dubboParams){String url = dubboParams.getUrl();String method = dubboParams.getMethod();String interfaceName = dubboParams.getInterfaceName() ;String types = dubboParams.getType();String values = dubboParams.getValue();JSONArray jsonArray = JSON.parseArray(types);String[] parameterTypes = new String[jsonArray.size()];for(int i=0;i<jsonArray.size();i++ ){// 设置参数类型parameterTypes[i]  = jsonArray.get(i).toString();}JSONArray jsonArray1 = JSON.parseArray(values);Object[] parameterObjs = new Object[jsonArray1.size()];jsonArray1.toArray(parameterObjs);// Application InfoApplicationConfig application = new ApplicationConfig();application.setName("yyy");// Registry InfoRegistryConfig registry = new RegistryConfig();// 无注册中心registry.setAddress("N/A");
// NOTES: ReferenceConfig holds the connections to registry and providers, please cache it for performance.
// Refer remote serviceReferenceConfig<GenericService> reference = new ReferenceConfig<GenericService>(); // In case of memory leak, please cache.reference.setApplication(application);reference.setRegistry(registry);// 直连urlreference.setUrl(url);reference.setInterface(interfaceName);reference.setGeneric(true);
// Use xxxService just like a local bean// 客户端泛泛调用GenericService genericService = reference.get();Object result = genericService.$invoke(method, parameterTypes, parameterObjs);System.out.println(result.toString());return Response.ok().putData(result);   }

利用postman调用http接口,从而实现调用dubbo接口

【java】测试dubbo业务相关推荐

  1. python、java大作战,python测试dubbo接口

    很多小伙伴都反映公司要求测dubbo(dubbo是一个java的分布式开源框架)接口,不会写java代码,怎么测,能不能用python来调dubbo接口.当然是可以的了,最近研究了一下,很简单,分享给 ...

  2. JAVA表示层,业务层,持久层的框架分别有哪些

    JAVA表示层,业务层,持久层的框架分别有哪些 1.表示层 JSP,Freemark,Velocity, 2.控制层 Struts,Struts2 3.持久层 Hibernate.Mybatis.My ...

  3. 自动化测试框架 2019_2019年用于自动化的5个最佳Java测试框架

    自动化测试框架 2019 几十年来,Java一直是开发应用程序服务器端层的首选编程语言. 尽管JUnit一直在与开发人员一起帮助他们进行自动化的单元测试,但随着时间的推移和测试的发展,当自动化测试不断 ...

  4. 2019年用于自动化的5个最佳Java测试框架

    几十年来,Java一直是开发应用程序服务器端层的首选编程语言. 尽管JUnit一直在与开发人员一起帮助他们进行自动化的单元测试,但是随着时间的推移和测试的发展,当自动化测试不断增长时,已经开发了许多基 ...

  5. 本地测试dubbo远程调用找不到provider

    项目中遇到个坑,记录一下:本地测试dubbo远程调用找不到provider.(文中图片仅供参考) 生产者服务的service加多一层文件夹.dubbo就找不到这个服务了.报错如下: org.apach ...

  6. Jmeter dubbo插件测试dubbo接口

    一.背景 对于如何使用Jmeter测试http接口,大家都已经比较熟悉,网上相关的知识也很多.但随着微服务越来越流行,仅仅会测试http接口已经远远不够.Dubbo作为当下非常流行的RPC接口,学习如 ...

  7. 初入Java测试员之路

    初入(在大神的指导下)小小的经验之谈: 1.要熟悉需求分析说明书!重点要熟悉业务脉络,清晰业务流程传递! 2.熟悉项目原型!原型界面需求要保证能在项目真正实现中看到! 3.亲自操作真实项目实现,要切换 ...

  8. 七款最优秀的Java测试框架

    Java 是当今最流行的编程语言之一,常年位居最受欢迎编程语言排行榜前三.一个优秀的java程序员,在研发时离不开对测试框架的了解,从而开发出更安全和更高效的代码.使用这些测试框架的其中一个最重要的原 ...

  9. 如何利用Parasoft Jtest提高Java测试ROI

    Parasoft Jtest是一款能够无缝集成Parasoft SOAtest的Java自动化测试工具.为了帮助团队更加可靠地实现质量和安全性,企业可以利用Parasoft Jtest进行Java测试 ...

最新文章

  1. 【剑指offer-Java版】19二叉树的镜像
  2. 2018-2019-1 20165236 《信息安全系统设计基础》第4周学习总结
  3. 使用SQL Server 2008提供的表分区向导
  4. 关于知识图谱,我们接下来该研究什么?斯坦福教授们给出了答案
  5. PostGIS mysql_fdw安装(Linux)
  6. java 正则表达式学习
  7. springmvc从request中获取body的数据的方法
  8. OpenGL立方体面的显示问题?
  9. MySQL主从同步(一)——原理详解
  10. 如何使用Python玩转PDF各种骚操作?你看了就知道。
  11. python之os模块详解
  12. php weka,使用Weka进行数据挖掘
  13. windows下如何安装ipython_Windows下IPython安装
  14. tp5 admin.php,TP-admin即基于ThinkPHP5拿来即用高性能后台管理系统
  15. 计算机的发展共经历了哪几个阶段,1. 计算机的发展经历了哪几个阶段?各阶段的主要特征是什么,计算机的发展经历了哪些阶段?...
  16. Pixhawk原生固件PX4之调节怠速
  17. 用个人微信小号代替【Server酱】推送消息通知
  18. ZZNUOJ_C语言1039:n个数求和(完整代码)
  19. c# Stack源码解析
  20. Python爬取所有人位置信息——腾讯位置大数据!

热门文章

  1. LeetCode 61. Rotate List
  2. 【英文写作日知录 第1期】句式汇总 Sun, 05 July 2020
  3. 【Linux】shell命令学习之find
  4. 前端开发 图片的插入 。。。。需演练
  5. 办公自动化-数据库的增删改查操作-mysql-0223
  6. 查询某个条件在一个区间内的数据
  7. sonar工具使用常见问题解决
  8. Python + Selenium + Chrome 使用代理 auth 的用户名密码授权
  9. 内连接 左连接 右连接 交叉连接的区别
  10. Applet、Scriptlet与Servlet