国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

這篇具有很好參考價(jià)值的文章主要介紹了用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

每天進(jìn)步一點(diǎn)點(diǎn),關(guān)注我哦,每天分享測試技術(shù)文章,文末有福利!

目錄:導(dǎo)讀

前言

一、什么是RPC

二、RPC框架

三、基于grpc框架服務(wù)的接口測試

01創(chuàng)建一個(gè)grpc服務(wù)接口

02調(diào)用grpc接口客戶端

03接口框架中適配grpc封裝

四、基于dubbo框架服務(wù)的接口測試

01、dubbo服務(wù)管理簡單使用

02、實(shí)戰(zhàn)接口說明

03、python調(diào)用dubbo接口

04、接口框架中適配dubbo封裝

結(jié)語


前言

當(dāng)我們進(jìn)行接口測試時(shí),手動(dòng)測試成本高且易錯(cuò),因此自動(dòng)化測試成為了提高效率和準(zhǔn)確性的重要手段。而RPC協(xié)議在分布式系統(tǒng)中很常見,對其進(jìn)行自動(dòng)化測試能夠更好地保障在各節(jié)點(diǎn)之間的通信質(zhì)量。

今天我想和大家分享一下,我是如何用Python來實(shí)現(xiàn)自動(dòng)化測試并輕松完成RPC協(xié)議接口測試的,讓我們一起來看看!

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

一、什么是RPC

RPC(Remote Procedure Call)遠(yuǎn)程過程調(diào)用協(xié)議是一個(gè)用于建立適當(dāng)框架的協(xié)議。從本質(zhì)上講,它使一臺機(jī)器上的程序能夠調(diào)用另一臺機(jī)器上的子程序,而不會(huì)意識到它是遠(yuǎn)程的。

RPC 是一種軟件通信協(xié)議,一個(gè)程序可以用來向位于網(wǎng)絡(luò)上另一臺計(jì)算機(jī)的程序請求服務(wù),而不必了解網(wǎng)絡(luò)的細(xì)節(jié)。RPC 被用來像本地系統(tǒng)一樣調(diào)用遠(yuǎn)程系統(tǒng)上的其他進(jìn)程。過程調(diào)用有時(shí)也被稱為函數(shù)調(diào)用或子程序調(diào)用

二、RPC框架

RPC本身是一套協(xié)議規(guī)范,遵循這一套規(guī)范實(shí)現(xiàn)的框架比較流行的有以下幾個(gè):

  • grpc框架

gRPC是由 google開發(fā)的一個(gè)高性能、通用的開源RPC框架,主要面向移動(dòng)應(yīng)用開發(fā)且基于HTTP/2協(xié)議標(biāo)準(zhǔn)而設(shè)計(jì),同時(shí)支持大多數(shù)流行的編程語言。gRPC基于 HTTP/2協(xié)議傳輸

  • dubbo框架

Dubbo是阿里巴巴公司開源的一個(gè)高性能優(yōu)秀的服務(wù)框架,使得應(yīng)用可通過高性能的 RPC 實(shí)現(xiàn)服務(wù)的輸出和輸入功能,可以和Spring框架無縫集成。

Dubbo是一款高性能、輕量級的開源Java RPC框架,它提供了三大核心能力

① 面向接口的遠(yuǎn)程方法調(diào)用

② 智能容錯(cuò)和負(fù)載均衡

③ 服務(wù)自動(dòng)注冊和發(fā)現(xiàn)

  • thrift框架

Thrift是一種接口描述語言和二進(jìn)制通訊協(xié)議。原由Facebook于2007年開發(fā),2008年正式提交Apache基金會(huì)托管,成為Apache下的開源項(xiàng)目。

Thrift是一個(gè)RPC通訊框架,采用自定義的二進(jìn)制通訊協(xié)議設(shè)計(jì)。相比于傳統(tǒng)的HTTP協(xié)議,效率更高,傳輸占用帶寬更小。另外,Thrift是跨語言的

  • Hetty 框架

Hetty 是一款構(gòu)建于?Netty??和?Hessian?基礎(chǔ)上的高性能的 RPC 框架

Hessian 是一款基于 HTTP 協(xié)議的 RPC 框架,采用的是二進(jìn)制 RPC 協(xié)議,非常輕量級 ,且速度較快。

Netty 是一款基于事件驅(qū)動(dòng)的 NIO 框架,用以快速開發(fā)高性能、高可靠性的網(wǎng)絡(luò)服務(wù)器和客戶端程序。Hetty 客戶端完全由 Hessian 實(shí)現(xiàn),只是使用 Netty 重新實(shí)現(xiàn)了服務(wù)端

三、基于grpc框架服務(wù)的接口測試

01創(chuàng)建一個(gè)grpc服務(wù)接口 ?

注意在公司里你們的grpc服務(wù)可能并不是采用python去實(shí)現(xiàn)的,課上咱們?yōu)榱藴y試grpc的接口,使用python先創(chuàng)建grpc的服務(wù)接口。

  • 安裝依賴庫

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

  • 創(chuàng)建grpc接口協(xié)議文檔

    在項(xiàng)目下創(chuàng)建一個(gè)grpc_study包,包下創(chuàng)建一個(gè)add.proto文件,將下述內(nèi)容復(fù)制進(jìn)去

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

  • 生成服務(wù)代碼

    終端下進(jìn)入proto文件所在目錄,執(zhí)行下述命令:

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

  • 創(chuàng)建服務(wù)端

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

02調(diào)用grpc接口客戶端 ?

以下代碼就是調(diào)用第一步中的grpc接口的

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

03接口框架中適配grpc封裝 ?

(1)封裝底層channel初始化

在config目錄下創(chuàng)建grpc.yml,其中寫上grpc接口的地址:

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

在common目錄下的client中增加下述代碼:

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

在conftes.py中增加下述代碼:

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

(2)封裝grpc接口調(diào)用

在api包下創(chuàng)建一個(gè)grpcapi的包,將grpc的定義proto文件拷貝進(jìn)去,然后在終端下進(jìn)入grpcapi目錄執(zhí)行下述命令

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

免費(fèi)領(lǐng)取碼同學(xué)軟件測試課程筆記+超多學(xué)習(xí)資料+完整視頻+面試題,可加微信:Matongxue_10

該目錄下文件如下:

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

修改add_pb2_grpc.py中的導(dǎo)入如下:

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

根據(jù)上述代碼封裝接口調(diào)用,創(chuàng)建一個(gè)api_client.py,寫上如下代碼就是grpc提供的add接口的調(diào)用方法

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

(3)編寫grpc接口測試用例

在testcases包下創(chuàng)建一個(gè)grpcapi包,創(chuàng)建一個(gè)test_grpc_api.py,編寫針對add接口的測試用例如下:

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

執(zhí)行測試

四、基于dubbo框架服務(wù)的接口測試 ?

dubbo服務(wù)管理地址:

http://**.***.**.***:****/dubbo-admin-2.6.0

用戶名和密碼都是root

01、dubbo服務(wù)管理簡單使用 ?

先設(shè)置為中文,右側(cè)選擇語言

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

選擇服務(wù)治理-->服務(wù)

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

點(diǎn)開MarketService,再點(diǎn)ip和端口,打開如下:

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

02、實(shí)戰(zhàn)接口說明

第1步里我們看到了兩個(gè)接口,exchange和lottery,下面是這兩個(gè)接口的業(yè)務(wù)說明

  • exchange

業(yè)務(wù)是積分兌換,該接口的參數(shù)是一個(gè)對象,對象類型對應(yīng)后臺java代碼中的某個(gè)類cn.testfan.dubbo.model.ExchangeRequest,這個(gè)類對象對應(yīng)的屬性如下,這些屬性其實(shí)就是我們的參數(shù)

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

  • lottery

業(yè)務(wù)是抽獎(jiǎng),參數(shù)有兩個(gè),都是數(shù)字,沒有參數(shù)名稱,按照順序,第一個(gè)表示參與的活動(dòng)id,第二個(gè)表示用戶id

03、python調(diào)用dubbo接口 ?

  • 安裝第三方庫

  • 用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

  • dubbo接口調(diào)用

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

04、接口框架中適配dubbo封裝 ?

(1)封裝底層dubbo初始化

在config目錄下創(chuàng)建dubbo.yml文件,寫上如下內(nèi)容

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

在client.py里增加下述代碼

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

(2)封裝api層

dubbo接口通常是按照服務(wù)進(jìn)行劃分,一個(gè)服務(wù)下有多個(gè)接口,針對該服務(wù)創(chuàng)建對象,然后調(diào)用各個(gè)接口。

在api包下創(chuàng)建dubboapi的包,針對market服務(wù)創(chuàng)建一個(gè)market_api.py文件,寫上如下代碼:

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

(3)測試用例層

在testcases包下創(chuàng)建dubboapi包,在其下創(chuàng)建test_market_service.py,寫上如下代碼

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

執(zhí)行測試

用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試

結(jié)語

這篇貼子到這里就結(jié)束了,最后,希望看這篇帖子的朋友能夠有所收獲。

?Python自動(dòng)化測試教程獲取方式:留言【Python自動(dòng)化測試】即可

如果你覺得文章還不錯(cuò),請大家 點(diǎn)贊、分享、留言 下,因?yàn)檫@將是我持續(xù)輸出更多優(yōu)質(zhì)文章的最強(qiáng)動(dòng)力!文章來源地址http://www.zghlxwxcb.cn/news/detail-427754.html

到了這里,關(guān)于用Python搞定接口自動(dòng)化測試:輕松實(shí)現(xiàn)RPC協(xié)議接口測試的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 自動(dòng)化接口測試之Postman(一篇搞定)

    自動(dòng)化接口測試之Postman(一篇搞定)

    該篇文章針對已經(jīng)掌握 Postman 基本用法的讀者,即對接口相關(guān)概念有一定了解、已經(jīng)會(huì)使用 Postman 進(jìn)行模擬請求的操作。 當(dāng)前環(huán)境: Window 7 - 64 Postman 版本(免費(fèi)版):Chrome App v5.5.3 不同版本頁面 UI 和部分功能位置會(huì)有點(diǎn)不同,不過影響不大。 我們先思考一下,如果需要達(dá)

    2024年02月03日
    瀏覽(26)
  • 簡單實(shí)現(xiàn)接口自動(dòng)化測試(基于python)

    簡單實(shí)現(xiàn)接口自動(dòng)化測試(基于python)

    本文從一個(gè)簡單的登錄接口測試入手,一步步調(diào)整優(yōu)化接口調(diào)用姿勢,然后簡單討論了一下接口測試框架的要點(diǎn),最后介紹了一下我們目前正在使用的接口測試框架pithy。期望讀者可以通過本文對接口自動(dòng)化測試有一個(gè)大致的了解。 為什么要做接口自動(dòng)化測試? 在當(dāng)前互聯(lián)網(wǎng)

    2024年02月13日
    瀏覽(24)
  • 基于Python 簡易實(shí)現(xiàn)接口測試自動(dòng)化

    基于Python 簡易實(shí)現(xiàn)接口測試自動(dòng)化

    目錄 實(shí)現(xiàn)思路 統(tǒng)籌腳本 請求封裝? 日志封裝 結(jié)果比對 結(jié)果郵件 用例獲取及數(shù)據(jù)格式化 請求url轉(zhuǎn)換 測試用例excel結(jié)構(gòu) 測試報(bào)告 郵件接收結(jié)果 資料獲取方法 使用excel管理用例用例信息,requests模塊發(fā)送http請求,實(shí)現(xiàn)了記錄日志,郵件發(fā)送測試報(bào)告的功能 目錄結(jié)構(gòu)如下: 下

    2024年02月13日
    瀏覽(20)
  • Python+Requests實(shí)現(xiàn)接口自動(dòng)化測試

    Python+Requests實(shí)現(xiàn)接口自動(dòng)化測試

    一般對于自動(dòng)化的理解,有兩種方式的自動(dòng)化。 第一,不需要寫代碼,完全由工具實(shí)現(xiàn),這種方式的工具一般是公司自己研發(fā)的,方便黑盒測試人員使用。這種工具的特點(diǎn)是學(xué)習(xí)成本低,方便使用,但是通用性不強(qiáng),也就是換了一家公司,就很有可能無法使用之前的工具。

    2024年01月16日
    瀏覽(22)
  • (基于python)簡單實(shí)現(xiàn)接口自動(dòng)化測試

    (基于python)簡單實(shí)現(xiàn)接口自動(dòng)化測試

    本文從一個(gè)簡單的登錄接口測試入手,一步步調(diào)整優(yōu)化接口調(diào)用姿勢,然后簡單討論了一下接口測試框架的要點(diǎn),最后介紹了一下我們目前正在使用的接口測試框架pithy。期望讀者可以通過本文對接口自動(dòng)化測試有一個(gè)大致的了解。 為什么要做接口自動(dòng)化測試? 在當(dāng)前互聯(lián)網(wǎng)

    2024年02月08日
    瀏覽(17)
  • 基于Python簡單實(shí)現(xiàn)接口自動(dòng)化測試(詳解)

    基于Python簡單實(shí)現(xiàn)接口自動(dòng)化測試(詳解)

    本文從一個(gè)簡單的登錄接口測試入手,一步步調(diào)整優(yōu)化接口調(diào)用姿勢,然后簡單討論了一下接口測試框架的要點(diǎn),最后介紹了一下我們目前正在使用的接口測試框架pithy。期望讀者可以通過本文對接口自動(dòng)化測試有一個(gè)大致的了解。 為什么要做接口自動(dòng)化測試? 在當(dāng)前互聯(lián)網(wǎng)

    2024年01月20日
    瀏覽(23)
  • 簡單實(shí)現(xiàn)接口自動(dòng)化測試(基于python+unittest)

    簡單實(shí)現(xiàn)接口自動(dòng)化測試(基于python+unittest)

    本文通過從Postman獲取基本的接口測試Code簡單的接口測試入手,一步步調(diào)整優(yōu)化接口調(diào)用,以及增加基本的結(jié)果判斷,講解Python自帶的Unittest框架調(diào)用,期望各位可以通過本文對接口自動(dòng)化測試有一個(gè)大致的了解。 為什么要做接口自動(dòng)化測試? 在當(dāng)前互聯(lián)網(wǎng)產(chǎn)品迭代頻繁的背景

    2024年02月07日
    瀏覽(22)
  • python實(shí)現(xiàn)基于RPC協(xié)議的接口自動(dòng)化測試

    python實(shí)現(xiàn)基于RPC協(xié)議的接口自動(dòng)化測試

    RPC(Remote Procedure Call)遠(yuǎn)程過程調(diào)用協(xié)議是一個(gè)用于建立適當(dāng)框架的協(xié)議。從本質(zhì)上講,它使一臺機(jī)器上的程序能夠調(diào)用另一臺機(jī)器上的子程序,而不會(huì)意識到它是遠(yuǎn)程的。 RPC 是一種軟件通信協(xié)議,一個(gè)程序可以用來向位于網(wǎng)絡(luò)上另一臺計(jì)算機(jī)的程序請求服務(wù),而不必了解

    2024年02月04日
    瀏覽(26)
  • 可以用Python實(shí)現(xiàn)RPC協(xié)議的接口自動(dòng)化測試

    基于RPC協(xié)議的接口自動(dòng)化測試可以用Python語言實(shí)現(xiàn)。下面是實(shí)現(xiàn)步驟: 1、安裝依賴庫,如protobuf、grpc。 2、編寫.proto文件定義接口參數(shù)和返回值。 3、使用protoc編譯.proto文件生成Python代碼。 4、編寫客戶端代碼調(diào)用遠(yuǎn)程接口進(jìn)行測試。 具體實(shí)現(xiàn)步驟如下: 1、安裝依賴庫 在終

    2024年02月15日
    瀏覽(31)
  • 【Python+requests+unittest+excel】實(shí)現(xiàn)接口自動(dòng)化測試框架

    【Python+requests+unittest+excel】實(shí)現(xiàn)接口自動(dòng)化測試框架

    一、框架結(jié)構(gòu): ?工程目錄 二、Case文件設(shè)計(jì) 三、基礎(chǔ)包 base 3.1 封裝get/post請求(runmethon.py) 3.2 封裝mock(mock.py) 四、數(shù)據(jù)操作包 operation_data 4.1 獲取excel單元格中的內(nèi)容(get_data.py) ? 4.2?獲取excel中每個(gè)列(data_config.py) 4.3?解決數(shù)據(jù)依賴(dependent.py?) 五、工具類包 to

    2024年02月15日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包