Python은 RPC 프로토콜을 기반으로 인터페이스의 자동화된 테스트를 구현합니다.

RPC란?

RPC(원격 프로시저 호출) 원격 프로시저 호출 프로토콜은 적절한 프레임워크를 설정하기 위한 프로토콜입니다. 기본적으로 한 시스템의 프로그램이 원격이라는 사실을 인식하지 못한 채 다른 시스템의 서브루틴을 호출할 수 있습니다.

RPC는 프로그램이 네트워크의 세부 사항을 알 필요 없이 네트워크의 다른 컴퓨터에 있는 프로그램에서 서비스를 요청하는 데 사용할 수 있는 소프트웨어 통신 프로토콜입니다. RPC는 로컬 시스템과 마찬가지로 원격 시스템에서 다른 프로세스를 호출하는 데 사용됩니다. 프로시저 호출은 때때로 함수 호출 또는 서브루틴 호출이라고도 합니다.

02 RPC 프레임워크

RPC 자체는 일련의 프로토콜 사양입니다. 다음 프레임워크는 이 사양 세트에 따라 구현하는 것이 더 일반적입니다.

grpc 프레임워크

gRPC는 Google에서 개발한 고성능 범용 오픈 소스 RPC 프레임워크로 주로 모바일 애플리케이션 개발을 위해 설계되었으며 HTTP/2 프로토콜 표준을 기반으로 하며 대부분의 인기 있는 프로그래밍 언어를 지원합니다. gRPC는 HTTP/2 프로토콜 전송을 기반으로 합니다.

더보 프레임워크

Dubbo는 Alibaba가 오픈 소스로 제공하는 고성능 및 우수한 서비스 프레임워크로 애플리케이션이 고성능 RPC를 통해 서비스의 출력 및 입력 기능을 실현할 수 있도록 하며 Spring 프레임워크와 원활하게 통합될 수 있습니다.

Dubbo는 다음과 같은 세 가지 핵심 기능을 제공하는 고성능 경량 오픈 소스 Java RPC 프레임워크입니다.

① 인터페이스 지향 원격 메서드 호출

② 지능형 내결함성 및 로드 밸런싱

③ 서비스 자동 등록 및 검색

절약 프레임 워크

Thrift는 인터페이스 설명 언어이자 이진 통신 프로토콜입니다. 원래 2007년 Facebook에서 개발했으며 2008년 호스팅을 위해 Apache Foundation에 공식적으로 제출되었으며 Apache에서 오픈 소스 프로젝트가 되었습니다.

Thrift는 맞춤형 바이너리 통신 프로토콜로 설계된 RPC 통신 프레임워크입니다. 기존의 HTTP 프로토콜과 비교할 때 더 효율적이며 전송에 더 적은 대역폭을 차지합니다. 또한 Thrift는 교차 언어입니다.

헤티 프레임

Hetty는 Netty와 Hessian을 기반으로 구축된 고성능 RPC 프레임워크입니다.

Hessian은 매우 가볍고 빠른 바이너리 RPC 프로토콜을 사용하는 HTTP 프로토콜 기반의 RPC 프레임워크입니다.

Netty는 고성능, 고신뢰성 웹 서버 및 클라이언트 프로그램의 신속한 개발을 위한 이벤트 기반 NIO 프레임워크입니다. Hetty 클라이언트는 완전히 Hessian에 의해 구현되지만 서버는 Netty를 사용하여 다시 구현됩니다.
 

03 grpc 프레임워크 서비스 기반 인터페이스 테스트

01 grpc 서비스 인터페이스 생성

회사에서 사용하는 grpc 서비스는 파이썬으로 구현하지 않을 수 있으니 클래스에서 grpc 인터페이스를 테스트하기 위해 먼저 파이썬을 사용하여 grpc 서비스 인터페이스를 생성합니다.

종속 라이브러리 설치

 

grpc 인터페이스 프로토콜 문서 작성

프로젝트 아래에 grpc_study 패키지를 만들고 패키지 아래에 add.proto 파일을 만들고 다음 내용을 복사합니다.

 

서비스 코드 생성

터미널에서 proto 파일이 있는 디렉토리를 입력하고 다음 명령을 실행합니다.

서버 생성

 

 

02 grpc 인터페이스 클라이언트 호출

다음 코드는 첫 번째 단계에서 grpc 인터페이스를 호출하는 것입니다.

 

03 인터페이스 프레임워크에서 grpc 캡슐화 적응

1. 기본 채널 초기화 캡슐화

config 디렉토리에 grpc.yml을 생성하고 그 안에 grpc 인터페이스의 주소를 작성합니다.

 공통 디렉토리의 클라이언트에 다음 코드를 추가하십시오.

 conftes.py에 다음 코드를 추가합니다.

 

2. grpc 인터페이스 호출 캡슐화

api 패키지 아래에 grpcapi 패키지를 생성하고 grpc의 정의 proto 파일을 여기에 복사한 다음 터미널 아래에 grpcapi 디렉토리를 입력하여 다음 명령을 실행합니다.

 이 디렉토리의 파일은 다음과 같습니다.

 다음과 같이 add_pb2_grpc.py에서 가져오기를 수정합니다.

위 코드에 따라 인터페이스 호출을 캡슐화하여 api_client.py를 생성하고 grpc에서 제공하는 add 인터페이스를 호출하는 코드를 다음과 같이 작성합니다. 

 3. grpc 인터페이스 테스트 케이스 작성

testcases 패키지 아래에 grpcapi 패키지를 생성하고 test_grpc_api.py를 생성한 후 다음과 같이 추가 인터페이스에 대한 테스트 케이스를 작성합니다.

 테스트 실행

04 더보 프레임워크 서비스 기반 인터페이스 테스트

dubbo 서비스 관리 주소:

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

사용자 이름과 암호는 모두 루트입니다.

01 Dubbo 서비스 관리는 사용하기 쉽습니다.

먼저 중국어로 설정하고 오른쪽에서 언어 선택

서비스 거버넌스 선택 - 서비스 

 클릭하여 MarketService를 연 다음 ip 및 포트를 클릭하고 다음과 같이 엽니다.

 

02 실제 인터페이스 설명
첫 번째 단계에서 교환과 복권의 두 가지 인터페이스를 보았습니다.다음은 이 두 인터페이스의 비즈니스 설명입니다.

교환

비즈니스는 포인트 교환입니다.이 인터페이스의 매개 변수는 객체입니다.객체 유형은 백그라운드 Java 코드의 특정 클래스 cn.testfan.dubbo.model.ExchangeRequest에 해당합니다.이 클래스 객체에 해당하는 속성은 다음과 같습니다.이 속성은 실제로 우리의 매개 변수입니다.

사업은 로또 2개의 매개변수가 있는데 둘 다 숫자이고 매개변수 이름은 없으며 순서대로 첫 번째는 참여 활동 ID를 나타내고 두 번째는 사용자 ID를 나타냅니다.

03 Python은 dubbo 인터페이스를 호출합니다.

타사 라이브러리 설치 

 더보 인터페이스 호출

 

04 인터페이스 프레임워크에 dubbo 패키지 적용

1. 기본 dubbo 초기화를 캡슐화합니다.

config 디렉토리에 dubbo.yml 파일을 생성하고 다음 내용을 작성합니다.

client.py에 다음 코드를 추가합니다. 

 

2. API 레이어 캡슐화

일반적으로 dubbo 인터페이스는 서비스에 따라 나뉘는데, 하나의 서비스 아래에 여러 개의 인터페이스가 있고, 해당 서비스에 대한 객체가 생성된 후 각각의 인터페이스가 호출됩니다.

api 패키지 아래에 dubboapi 패키지를 생성하고 마켓 서비스를 위한 market_api.py 파일을 생성한 후 다음 코드를 작성합니다.

 

3. 테스트 케이스 레이어

testcases 패키지 아래에 dubboapi 패키지를 생성하고 그 아래에 test_market_service.py를 생성한 후 다음 코드를 작성합니다.

 

정보 공유

아래의 전체 소프트웨어 테스트 비디오 학습 자습서는 CSDN에서 공식적으로 인증한 QR 코드를 업로드했습니다. 필요하면 무료로 얻을 수 있습니다. 【保证100%免费】

Supongo que te gusta

Origin blog.csdn.net/lzz718719/article/details/130683246
Recomendado
Clasificación