Menu
Open source

Client.invoke(url, request [,params])

Caution

Starting on k6 v0.49, the experimental module k6/experimental/grpc has been graduated, and its functionality is now available in the k6/net/grpc module. The k6/experimental/grpc is deprecated and will be removed in v0.51.0.

To migrate your scripts, replace all k6/experimental/grpc imports with k6/net/grpc.

Invokes an unary RPC request to the given method.

The given method to invoke must have its RPC schema previously loaded via the Client.load() function, otherwise an error will be thrown.

Client.connect() must be called first before invoking a request, otherwise an error will be thrown.

ParameterTypeDescription
urlstringThe gRPC method url to invoke, in the form /package.Service/Method, e.g. /google.cloud.language.v1.LanguageService/AnalyzeSentiment. The leading slash / is optional.
requestobjectThe canonical request object, as-per the Protobuf JSON Mapping.
params (optional)objectParams object containing additional request parameters.

Returns

TypeDescription
ResponsegRPC Response object.

Examples

JavaScript
import grpc from 'k6/experimental/grpc';
import { check } from 'k6';

const client = new grpc.Client();
client.load([], 'routeguide.proto');

export default () => {
  client.connect('localhost:10000', { plaintext: true });
  const response = client.invoke('main.RouteGuide/GetFeature', {
    latitude: 410248224,
    longitude: -747127767,
  });
  check(response, { 'status is OK': (r) => r && r.status === grpc.StatusOK });
  console.log(response.message.name);
  // output: 3 Hasta Way, Newton, NJ 07860, USA

  client.close();
};