Skip to main content
The k6/net/grpc module provides a gRPC client for testing gRPC services.

Client

The Client class is used to interact with gRPC services.

Constructor

Methods

load(importPaths, …protoFiles)

Loads protocol buffer definitions from proto files.
array
Array of import paths for proto files
...string
Proto file paths to load
The load() method must be called in the init context.

loadProtoset(protosetPath)

Loads a compiled protoset file.
string
Path to the protoset file

connect(address, [params])

Connects to a gRPC server.
string
Server address (host:port)
object
Connection parameters
boolean
Returns true on successful connection

Connection Parameters

boolean
default:false
Use plaintext connection (no TLS)
string
default:"60s"
Connection timeout
number
Maximum message size to receive (bytes)
number
Maximum message size to send (bytes)
object
TLS configuration
boolean
Use server reflection protocol
string
Override the :authority pseudo-header

invoke(method, request, [params])

Invokes a unary gRPC method.
string
Fully qualified method name (e.g., “package.Service/Method”)
object
Request message object
object
Request parameters
object
Response object containing status, message, headers, and trailers

Response Object

number
gRPC status code
object
Response message
object
Response headers metadata
object
Response trailers metadata
object
Error information if request failed

asyncInvoke(method, request, [params])

Invokes a unary gRPC method asynchronously.
string
Fully qualified method name
object
Request message object
object
Request parameters
Promise
Promise that resolves with the response

close()

Closes the gRPC connection.

Constants

Status Codes

  • grpc.StatusOK - 0
  • grpc.StatusCanceled - 1
  • grpc.StatusUnknown - 2
  • grpc.StatusInvalidArgument - 3
  • grpc.StatusDeadlineExceeded - 4
  • grpc.StatusNotFound - 5
  • grpc.StatusAlreadyExists - 6
  • grpc.StatusPermissionDenied - 7
  • grpc.StatusResourceExhausted - 8
  • grpc.StatusFailedPrecondition - 9
  • grpc.StatusAborted - 10
  • grpc.StatusOutOfRange - 11
  • grpc.StatusUnimplemented - 12
  • grpc.StatusInternal - 13
  • grpc.StatusUnavailable - 14
  • grpc.StatusDataLoss - 15
  • grpc.StatusUnauthenticated - 16

Examples

Basic gRPC Test

With TLS

With Metadata

Server Reflection

gRPC connections cannot be used in the init context. Connect to the server in the VU context (default function).