更新時間:2021-06-10 16:36:26 來源:動力節(jié)點 瀏覽1607次
1.服務提供者:對外提供接口服務方;
2.服務消費者:調(diào)用遠程服務方提供方;
3.服務注冊中心:負責服務地址的注冊與查找,服務提供者和消費者只在啟動時與注冊中心交互
4.服務監(jiān)控中心:負責統(tǒng)計各服務調(diào)用次數(shù),調(diào)用時間等。
服務提供者向注冊中心注冊其提供的服務,并匯報調(diào)用時間到監(jiān)控中心;服務消費者向注冊中心獲取服務提供者地址列表,并根據(jù)負載算法直接調(diào)用提供者,同時匯報調(diào)用時間到監(jiān)控中心。
簡單說來,測試樁就是測試人員為了模擬客戶端向接口服務端發(fā)送請求并接收返回信息,而編寫的一段測試代碼。對dubbo接口來說,就是模擬了消費者向提供者發(fā)送請求并接收返回信息。
如何在測試樁中調(diào)用接口服務
hessian接口的客戶端,是通過服務方提供的url得到接口層的服務,并利用HessianProxyFactory類中的create方法創(chuàng)建了一個HessianProxy代理類的目標類,然后通過調(diào)用目標對象的對應方法,達到請求接口并獲取相應返回信息的目的。其中具體如何實現(xiàn),有興趣的童鞋可以自行研究Hessian源碼,我們就不做詳述了,因為這與今天的話題無關。
而Dubbo接口的消費者,則是通過ClassPathXmlApplicationContext獲得consumer.xml,從而引用提供者provider.xml中定義的Bean實例(對象),然后通過調(diào)用Bean對象的對應方法,達到請求接口并獲取相應返回信息的目的。
接下來筆者將要帶著大家進入實操階段,學習利用LuckyFrame實現(xiàn)dubbo接口自動化。
1. 步驟總結
LuckyFrame平臺實現(xiàn)Dubbo接口自動化的方式,與實現(xiàn)hessian接口自動化的方式是一樣的
實際上,LuckyFrame平臺實現(xiàn)Dubbo接口自動化的方式,與實現(xiàn)hessian接口自動化的方式,基本步驟一般無二。
我們先來復習下,LuckyFrame是如何實現(xiàn)hessian接口自動化的:
第一步:編寫java接口測試樁;
第二步:基于上面所編寫測試樁,創(chuàng)建測試用例;
第三步:創(chuàng)建測試計劃,將測試用例添加到測試計劃中;
第四步:給測試計劃新建調(diào)度任務,并將測試驅動樁打成jar包導入到客戶端;
第五步:執(zhí)行調(diào)度任務。
2. 準備工作
在進入第一個步驟編寫測試樁之前,我們需要知道接口提供者的一些信息
定義的接口
實現(xiàn)接口的類
provider.xml配置
3. 具體操作
這一部分具體介紹“步驟總結”中提到的編寫測試樁,以及創(chuàng)建測試用例
編寫dubbo接口測試樁
測試人員導入Dubbo框架需要的JAR包、以及服務提供方提供的接口和接口引用POJO的JAR包,然后編寫測試代碼,模擬接口消費者調(diào)用接口服務:
調(diào)用接口的測試代碼
消費者的consumer.xml配置
創(chuàng)建dubbo測試用例
“包|定位路徑”:輸入測試樁的類路徑,填寫格式為“包路徑.類名”。例如:包路徑為com.consumer,類名為Dubbotest,則此處填寫“com.consumer.Dubbotest”
“方法|操作”:輸入測試樁的方法名,如上面例子中的testdubbo
“參數(shù)”:輸入接口請求參數(shù),如上面的例子,我們可以在這里輸入“測試請求”
“步驟動作”:一般留空,也可以“n*Wait”的格式輸入,表示執(zhí)行此步驟后等待n秒
“預期結果”:輸入我們期望的接口返回信息
接口用例創(chuàng)建好了,接下來的創(chuàng)建測試計劃、調(diào)度任務以及執(zhí)行調(diào)度任務,筆者在之前的文章中已經(jīng)詳細地介紹過,這里也就不再贅述。
以上就是動力節(jié)點小編介紹的"Dubbo接口自動化學習",希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為您服務。