Enterprise · gRPC

gRPC testing
without the codegen hell.

Load .proto files directly, express payloads as JSON, and test all four gRPC modes (unary, server streaming, client streaming, and bidirectional) with the same Karate syntax you use for REST.

Also available: Kafka · WebSocket

grpc-test.feature
Feature: User service gRPC tests

Background:
  * host 'grpc.example.com:443'
  * proto 'proto/user.proto'
  * ssl true

Scenario: Create user (unary call)
  Given rpc 'UserService.Create'
  And request
    { name: 'Jane', email: 'jane@test.com' }
  When method grpc
  Then match response ==
    { id: '#number', created: '#notnull' }

Scenario: Server streaming call
  Given rpc 'UserService.ListUsers'
  And request { limit: 10 }
  When method grpc
  Then match each responses ==
    { id: '#number', name: '#string' }

gRPC-Specific Features

First-class gRPC testing

All 4 gRPC Modes

Unary, server streaming, client streaming, and bidirectional streaming: all with the same consistent syntax. No mode-switching boilerplate.

No Code Generation

Point Karate at your .proto files and go. No protoc build step, no generated stubs to commit, no classpath headaches.

Protobuf ↔ JSON

Express requests as plain JSON: Karate handles the binary encoding. Assert against responses with fuzzy JSON matching.

SSL / TLS & Auth

Built-in support for mTLS, bearer tokens, and custom metadata headers. Certificate management handled through standard Karate config.

Mix with REST & Kafka

Test a gRPC call, publish to Kafka, verify the HTTP side-effects: all in the same scenario. Polyglot microservices, unified testing.

Parallel & Perf Testing

Run thousands of gRPC tests in parallel. Reuse the same feature files as Gatling load tests: no separate perf harness.

When to Use gRPC Testing

Perfect for service-mesh teams

Polyglot microservices contracts

Verify service contracts across languages (Go, Java, Python, Node) without language-specific test harnesses.

Bidirectional streaming flows

Test long-lived bidirectional streams like live feeds, chat, or telemetry ingestion, with timing assertions and flow control.

Service mesh & sidecar validation

Validate gRPC traffic through Istio, Linkerd, or Envoy. Assert on headers, retry behavior, and circuit-breaker responses.

API versioning & backward compatibility

Load multiple .proto versions in the same test to verify forward and backward compatibility as schemas evolve.

Licensing

Karate gRPC requires an Enterprise runtime license for CI/CD deployment and the Pro tier of IntelliJ or VS Code plugins for development.

Get Pricing

Ready to test your gRPC services?

Book a 30-minute demo tailored to your gRPC stack: protos, modes, auth, and all.