import java.lang.Thread.State;
import java.util.Iterator;
import java.util.List;
import org.apache.thrift.TException;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.transport.TFramedTransport;
import org.apache.thrift.transport.TSocket;
import org.apache.thrift.transport.TTransport;
import org.apache.thrift.transport.TTransportException;
import tdbservice.ErrorReturn;
import tdbservice.TDB_ReqTLine;
import tdbservice.TDB_TLine;
import tdbservice.TdbService;
public class Client {
private TTransport transport ;
private TdbService.Client client;
private String result = new String();
private String url;
private int port;
public Client(String url,int port) throws TTransportException{
this.url = url;
this.port = port;
// transport = new TSocket(url, port);
transport = new TFramedTransport(new TSocket(this.url, this.port));
//以上兩行為兩種不同transport,書寫方法主要取決於服務端的書寫格式
if(!transport.isOpen()){
TProtocol protocol = new TBinaryProtocol(transport);
client = new TdbService.Client(protocol);//此處的TdbService的呼叫由服務端來決定
transport.open();
}
State state = Thread.currentThread().getState();
String threadName = Thread.currentThread().getName();
System.out.println(threadName +"--------"+ state.toString());
}
public TTransport getTTransport(){
return transport;
}
public String testGetAllStock(){
try {
result = client.get_allstock();
} catch (TTransportException e) {
e.printStackTrace();
} catch (TException e) {
e.printStackTrace();
} finally{
transport.close();
}
return result;
}
private List<TDB_TLine> TLineResult;
private StringBuffer sbResult = new StringBuffer();
public String testTLine(TDB_ReqTLine req){//TDB_ReqTLine物件由服務端決定,這裡的就是我要測試的介面get_tline的一個引數
try {
TLineResult = client.get_tline(req);//此處執行測試介面的呼叫
Iterator<TDB_TLine> it = TLineResult.iterator();
while(it.hasNext()){
TDB_TLine t = it.next();
sbResult.append(t.toString());
}
} catch (ErrorReturn e) {
e.printStackTrace();
} catch (TException e) {
e.printStackTrace();
}
return sbResult.toString();
}
}
介面自動化測試:Thrift框架RPC協議客戶端開發
相關文章
- JMeter 測試 thrift RPC 介面JMeterRPC
- 介面自動化測試框架 HttpFPT框架HTTP
- 測試開發之自動化篇-自動化測試框架設計框架
- win/mac 端有哪些客戶端自動化測試的想法呢Mac客戶端
- Eolink Apikit「 零程式碼」快速發起 RPC 介面自動化測試APIRPC
- 淺談自動化測試框架開發框架
- 介面自動化測試框架搭建的思路框架
- 介面自動化測試框架搭建總結框架
- 測試開發之介面篇-使用K6完成介面自動化測試
- 介面自動化測試
- 移動端 UI 自動化測試框架對比UI框架
- 自動化測試框架框架
- 編寫 Netty / RPC 客戶端【框架程式碼分析】NettyRPC客戶端框架
- 介面自動化測試錄製工具,讓python selenium自動化測試指令碼開發更加方便Python指令碼
- ICAP: 互換客戶端地址協議客戶端協議
- Python 介面自動化測試Python
- 21_MQTT協議_客戶端和服務端MQQT協議客戶端服務端
- 自動化測試框架指南框架
- 通過命令列在 Python 中測試以太坊 RPC 客戶端命令列PythonRPC客戶端
- 通過命令列在Python中測試以太坊RPC客戶端命令列PythonRPC客戶端
- 透過命令列在 Python 中測試以太坊 RPC 客戶端命令列PythonRPC客戶端
- 實現一個clickhouse tcp協議客戶端驅動TCP協議客戶端
- Jmeter+Ant+Jenkins介面自動化測試框架搭建for WindowsJMeterJenkins框架Windows
- 『居善地』介面測試 — 7、介面自動化測試框架的設計與實現框架
- RPC框架實踐之:Apache ThriftRPC框架Apache
- 介面自動化測試 - RobotFramework RESTinstanceFrameworkREST
- 二、介面自動化測試(2)
- protobuf 介面自動化測試摸索
- python介面自動化測試 —— unittest框架suite、runner詳細使用Python框架UI
- Python + requests + unittest + ddt 進行介面自動化測試的框架Python框架
- Python 自動化測試框架unittestPython框架
- Python自動化測試框架-pytestPython框架
- 利用tox打造自動自動化測試框架框架
- T框架介紹(自動化測試框架)框架
- 開源介面自動化測試專案--時默
- 網路通訊協議自動轉換之thrift到http協議HTTP
- MQTT協議從服務端到客戶端詳解MQQT協議服務端客戶端
- JMeter 介面自動化測試(手工轉自動化指令碼)JMeter指令碼
- 使用 testng 做介面自動化測試