栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Jmeter protobuf测试。无法读取Protobuf讯息

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Jmeter protobuf测试。无法读取Protobuf讯息

我完全相信您的问题是,在从二进制流转换为String然后又返回时,您丢失了一些不可打印的字符。我正在
考虑两种可能的解决方法:

  1. 将二进制数据写入文件中,而不是保存为字符串,然后在文件部分的正文中将文件名用作HTTP采样器中的变量

  2. 使用beanshell采样器,并使用体内的二进制数据构造自己的HTTPClient对象和POST请求,并自行触发,而不是使用HTTP采样器

由于所有其他文件I / O,我不喜欢第一种选择。我不
喜欢第二个选项,因为现在测量响应时间将包括
您正在beanshell中执行的所有请求程序集-因此您必须选择
一个使您烦恼的选项。

让我知道,如果您想让我为这两种情况编写一些代码示例。

编辑:对于使用HttpClient 4的beanshell HTTP调用:

import org.apache.http.HttpEntity;import org.apache.http.HttpHeaders;import org.apache.http.HttpResponse;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.ByteArrayEntity;import org.apache.http.impl.client.DefaultHttpClient;byte[] data = null;//...assign protobuf binary buffer to data...HttpClient client = new DefaultHttpClient();HttpPost post = new HttpPost("http://127.0.0.1");HttpEntity entity = new ByteArrayEntity(data);post.setEntity(entity);post.setHeader(HttpHeaders.CONTENT_TYPE, "application/octet-stream");HttpResponse response=null;try {    response = client.execute(post);} catch (ClientProtocolException e) {    // TODO Auto-generated catch block    e.printStackTrace();} catch (IOException e) {    // TODO Auto-generated catch block    e.printStackTrace();}ResponseCode = response.getStatusLine().getStatusCode().toString();//if some assert is true thenIssuccess = true;ResponseMessage="Some Response Message";

这是未经测试的protobuf终点,请让我知道它如何为您效劳。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/366703.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号