java-dubbo接口测试三种方式

官方文档: 1.2 需求 · dubbo-user-bookjava-dubbo接口测试三种方式_第1张图片https://dubbo.gitbooks.io/dubbo-user-book/content/preface/requirements.html

前置准备工具

1:搭建测试环境,dubbo+zookeeper注册中心

zookeeper官网下载,解压

重命名:conf/zoo_sample.cfg为zoo.cfg(记住端口号)

双击zkServer.cmd启动

2.dubbo管理工具-dubbo-admin

下载地址:https://github.com/apache/dubbo-admin/

使用文档:老版本: Dubbo:搭建管理控制台(dubbo-admin)_琦彦-CSDN博客_dubbo-admin

最近新版本,分为前后两端:dubbo管理工具之dubbo-admin安装使用_mry6的博客-CSDN博客_dubbo-admin

测试三种方式

1: 常用的telnet命令,详细文档:Telnet Command Reference-zh - Dubbo - Alibaba Open Sesame

### telnet ip地址 端口号

telnet 127.0.0.1 20880

###显示服务列表

ls

###显示服务详细信息列表。

ls -l

###显示服务的方法列表。

ls XxxService

###显示服务的方法详细信息列表

ls -l XxxService

### 调用方法

invoke XxxService.xxxMethod({"prop": "value"})

2:jmeter

2.1 插件下载地址:jmeter-plugins-dubbo,下载源代码后,需要自己把打包jar..打包完后,会出现两个jar包。jmeter-plugins-dubbo-2.7.3.jar,jmeter-plugins-dubbo-2.7.3-with-dependencies.jar.

2.2 将jmeter-plugins-dubbo-2.7.3-with-dependencies.jar包放入${JMETER_HOME}\lib\ext路径下,重启jmeter即可。

2.3 开始使用测试

(1) 添加线程组

(2) 添加--》取样器 --》dubbo sample

(3) 添加--》监听器--》察看结果树

java-dubbo接口测试三种方式_第2张图片

3:java代码:一

import org.apache.commons.net.telnet.TelnetClient;

import java.io.InputStream;

import java.io.PrintStream;

public class TelnetOperator {undefined

public static void main(String args[]) throws Exception{undefined

TelnetClient telnetClient = new TelnetClient ( "vt200" ); //指明Telnet终端类型,否则会返回来的数据中文会乱码

telnetClient.setDefaultTimeout ( 5000 ); //socket延迟时间:5000ms

telnetClient.connect ( "主机IP", 端口号 ); //填写对应主机和端口建立连接

InputStream inputStream = telnetClient.getInputStream (); //读命令的流

PrintStream pStream = new PrintStream ( telnetClient.getOutputStream () ); //写命令的流

byte[] b = new byte[1024 * 16];

int size;

StringBuffer sBuffer = new StringBuffer ( 500 );

String ivk="invoke 服务名.方法名(参数)";//具体根据具体服务来写

pStream.println ( ivk ); //写命令

pStream.flush (); //将命令发送到telnet Server

}

}

注:需要导入commons-net的jar包,然后就可以很方便的转移到工具里面去执行测试咯。
————————————————
原文链接:https://blog.csdn.net/weixin_39561004/article/details/114125621

4:java代码二

(1)引入相关jar包

dubbo
zk
提供者api

(2)配置文件中引入提供者的地址

  • 使用Zookeeper作为注册中心
  • 引用远程的HelloService接口服务



(3)测试用例中注入接口

@Autowired
private HelloService helloService;

   (4) 直接调用测试方法

//https://dubbo.gitbooks.io/dubbo-user-book/content/quick-start.html

import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.alibaba.dubbo.demo.DemoService;

public class Consumer {
    public static void main(String[] args) throws Exception {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"http://10.20.160.198/wiki/display/dubbo/consumer.xml"});
        context.start();
        DemoService demoService = (DemoService)context.getBean("demoService"); // 获取远程服务代理
        String hello = demoService.sayHello("world"); // 执行远程方法
        System.out.println( hello ); // 显示调用结果
    }
}

4:java代码三、main方法中启动调用

你可能感兴趣的:(java-接口自动化测试,java)