java 单机接口限流处理方案
2108
2022-08-29
我们如何记录API,或者如何记录一个REST API。
我们可以使用软件或HTML网站维护文档,甚至可以通过代码中的某些工具生成文档。这种方法的缺点是我们需要手动(或通过半自动过程)对文档进行维护,尽管它是人类可读的,但实际上不是机器可读的。
另一种方法是使用WADL,它可以由一些工具生成。在这种情况下,它是机器可读的,但绝对不是人类可读的。另外,手动编写WADL也是一个乏味的过程。
Eolinker为两者寻找一个更简单的解决方案。Eolinker是用于描述REST API的格式的一组规则(换句话说,一种规范)。该格式是机器可读和人类可读的。因此,它可以用于在产品经理,测试人员和开发人员之间共享文档,但也可以被各种工具用来自动化与API相关的流程。
当我们说REST时,我们不一定要遵循RESTful规则。我们引用REST API背后的基本概念。虽然WADL以复杂性为代价涵盖了几乎所有可能的API设计,但Eolinker的目标是涵盖更常见的设计模式,同时简化编写和使用,使其更易于编辑。
这个对我工作而言实在是很方便啊,之前的文章我分享了一些接口管理的功能点,这次我整合起这些测试小技巧分享给大家。对了,eoLinker是开源免费的,后面我分享中文网址的。
【发送请求的方式,最常用的是GET和POST】点击下拉列表可以看到共9种请求方式供选择(最喜欢是有多种请求方式);并且请求参数支持表单(Form-data)、RESTful、源数据(Raw)格式,并支持表单转源数据;点击可以以键值对的方式添加URL参数;获取返回结果分为body和header,按需进行查看。
接着就是编辑接口参数信息时,点击“更多设置”,填入参数值可能性即可。测试时参数值将被自动填入,设置多个值可能性可在测试时按需选择。
还有一个功能是【参数构造器】,该功能可对原始参数进行渲染转换,获得渲染转换后的参数。构造参数操作如下
再讲一个【Mock简单测试】,在api的编辑页面,高级mock里面,输入mock的规则就行。eolinker的mock是基于mockjs来改的,不过规则大同小异,规则可以参考这里http://mockjs.com/examples.html 简单说就是编辑完成之后,回到api的详情页面,在mock的标签下面会看到有一个url,复制到项目里面即可。
如何使用到项目中,此处写了一个demo:
public class MockServerTest {
@Test
public void testMockServer() throws IOException {
mockClient.when(
request()
.withPath(“http://mock.eolinker.com/cK8aThy725ce359f61cceeabf120d895e1e106ef6f034f6?uri=/api/v1/redEnvelope/applyResetTranPwd.shtml“)
.withMethod(“POST”)
// .withHeader(new Header(HttpHeaders.ACCEPT, MediaType.TEXT_PLAIN))
// .withQueryStringParameter(new Parameter(“my-token”, “12345”))
).respond(
response()
.withStatusCode(200)
.withBody(expected)
);
CloseableHttpClient client = HttpClients.createDefault();
HttpGet httpGet = new HttpPost(“http://mock.eolinker.com/TPivSvI55cabdf9f2243a023dc6a76ec9514dc38084c19d?uri=/bestedu/course/primarySchool“);
CloseableHttpResponse response = client.execute(httpGet);
//验证输出是否是正确
InputStream content = response.getEntity().getContent();
InputStreamReader inputStreamReader = new InputStreamReader(content);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String responseText = bufferedReader.readLine();
assertThat(responseText, equalTo(expected));
}
}
而【RESTful mock测试】请求是在url中填入restful地址,在mock测试时,可将restful path中的变量后替换,获取到相应的值。还可以填入测试url中,并将restful中的path参数替换,点击发送,获取结果。若想重新确认之前测试时的参数内容或返回结果,只需要点击相应的接口测试历史,测试历史间切换畅通无忧。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~