java 单机接口限流处理方案
378
2022-10-29
本文目录一览:
对于一款程序来说,接口除了有对接外部的以外同时还有对程序内部的接口,下面电脑培训就一起来了解一下,关于软件开发接口测试的常见问题。
一、常见接口:
1、webService接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有SoapUI、jmeter、loadrunner等;
2、httpapi接口:是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是常用的两种请求方式。可以使用的工具有postman、RESTClient、jmeter、loadrunner等;
二、前端和后端:
在说接口测试之前,我们先来搞清楚这两个概念,前端和后端。
前端是什么呢,对于web端来说,咱们使用的网页,打开的网站,这都是前端,这些都是html、css写的;对于app端来说呢,它就是咱们用的app,android或者object-C(开发ios上的app)开发的,它的作用就是显示页面,让我们看到漂亮的页面,以及做一些简单的校验,比如说非空校验,咱们在页面上操作的时候,这些业务逻辑、功能,比如说你购物,发微博这些功能是由后端来实现的,后端去控制你购物的时候扣你的余额,发微博发到哪个账号下面,那前端和后端是怎么交互的呢,就是通过接口。
前面说的你可能不好理解,你只需记住:前端负责貌美如花,后端负责挣钱养家。
三、什么是接口测试:
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
一、通过WSCaller.jar工具进行测试:
前提:知道wsdl的url。
wsCaller可执行程序的发布方式为一个wsCaller.jar包,不包含Java运行环境。你可以把wsCaller.jar复制到任何安装了Java运行环境(要求安装JRE/JDK 1.3.1或更高版本)的计算机中,用以下命令运行wsCaller:
java -jar wsCaller.jar
使用wsCaller软件的方法非常简单,下面是wsCaller的主界面:
首先在WSDL Location输入框中输入你想调用或想测试的Web
Service的WSDL位置,,然后点“Find”按钮。wsCaller就会检查你输入的URL地址,并获取Web
Service的WSDL信息。如果信息获取成功,wsCaller会在Service和Operation下拉列表框中列出该位置提供的Web
Service服务和服务中的所有可调用的方法。你可以在列表框中选择你要调用或测试的方法名称,选定后,wsCaller窗口中间的参数列表框就会列出
该方法的所有参数,包括每个参数的名称、类型和参数值的输入框(只对[IN]或[IN,
OUT]型的参数提供输入框)。你可以输入每个参数的取值。如下图:
这时,如果你想调用该方法并查看其结果的话,只要点下面的“Invoke”按钮就可以了。如果你想测试该方法的执行时间,则可以在“Invoke
Times”框中指定重复调用的次数,然后再按“Invoke”按钮。wsCaller会自动调用你指定的方法,如果调用成功,wsCaller会显示结
果对话框,其中包括调用该方法所花的总时间,每次调用的平均时间和该方法的返回值(包括返回值和所有输出型的参数)。如下图:
wsCaller软件是基于Axis库(Apache eXtensible Interaction System)开发的,Axis库的介绍及其版权信息请参见Apache Software Foundation的网站。
二、编写java的Main()函数,创建XFireProxyFactory调用声明的Interface接口函数。
前提:知道wsdl的url、知道webservice程序的接口(方法)声明。
举例:
public static void main(String[] args) {
Service srvcModel = new ObjectServiceFactory()
.create(IHelloWorldService.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
.newInstance().getXFire());
String helloWorldURL = "";
try {
IHelloWorldService srvc = (IHelloWorldService) factory.create(
srvcModel, helloWorldURL);
System.out.print(srvc.example("dennis"));
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
三、利用Eclipse向导生成webservice的客户端调用程序。
前提:知道wsdl的url、知道webservice程序的接口(方法)声明。
步骤:
1)在Eclipse中加入Xfire插件:
在Eclipse的安装目录的plugins下包含:
org.codehaus.xfire.eclipse.ui_1.0.2.xfire126.jar、
org.codehaus.xfire.eclipse.ui.wizards_1.0.2.xfire126.jar、
org.codehaus.xfire.eclipse.core_1.0.2.xfire126.jar
在Eclipse的安装目录的features下包含:
org.codehaus.xfire.eclipse_1.0.2.xfire126
2) 在Eclipse中创建一个Web Project项目,设为WSClient项目名。
同时点击项目右键,添加Xfire nature。
3)在WSClient项目下创建一个Web Service Client文件组【或者是Code Generation from WSDL document的文件组!】。
即点击项目右键,new--》other--》...
输入webservice的url,比如:
再选好生成文件放置目录。完成生成!
4)修改所生成文件组中的文件:****client.java 中的main函数.
比如:生成的文件为BizRemoteServiceClient.java,在main函数中找到:
BizRemoteServiceSoap bizRemoteServiceSoap = client.getBizRemoteServiceSoapLocalEndpoint();
该语句用BizRemoteServiceSoap bizRemoteServiceSoap = client.getBizRemoteServiceSoap();代替即可!
public static void main(String[] args) {
BizRemoteServiceClient client = new BizRemoteServiceClient();
//create a default service endpoint
//BizRemoteServiceSoap bizRemoteServiceSoap = client.getBizRemoteServiceSoapLocalEndpoint();
BizRemoteServiceSoap bizRemoteServiceSoap = client.getBizRemoteServiceSoap();
//TODO: Add custom client code here
//
//bizRemoteServiceSoap.yourServiceOperationHere();
MyResponse MyResponse=bizRemoteServiceSoap.login("ivy1", "111");
System.out.println(MyResponse.getFlag());
System.out.println(MyResponse.getDetail());
System.out.println("test client completed");
System.exit(0);
}
绿色代码部分是根据测试业务逻辑加入的测试代码!试具体测试任务而定!
直接运行该main函数,看结果即可!
1.了解url : ;
2.新建web service 项目 Test,启动接口;
3.在项目Test上新建一个 web service client ,选择JAX_WS;
4.Test项目会自动生成关联代码,新建一个Java类,main方法
public static void main(String[] args) {
System.out.println("123");
ServiceCommandService sc = new ServiceCommandService();
IServiceCommand is = sc.getServiceCommandPort();
String s = is.queryInstanceById();
System.out.println(s);
String s2 = is.queryInstanceList();
System.out.println(s2);
}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~