public static WebSocketChecker exists(final String endpoint, final String sendMessage, final String receiveMessage) {
        return (websocketClient, gatewayClient) -> {
            try {
                updateWebSocketClientURI(websocketClient, endpoint);

                websocketClient.connectBlocking();
                websocketClient.send(sendMessage);
                Optional.of(websocketClient)
                        .filter(WebSocketClient::isOpen)
                        .ifPresent(client -> Assertions.assertEquals(receiveMessage, gatewayClient.getWebSocketMessage()));
            } catch (AssertionError | InterruptedException | RuntimeException error) {
                Assertions.fail("websocket endpoint '" + websocketClient.getURI() + "' not exists", error);
            } catch (NoSuchFieldException | IllegalAccessException | URISyntaxException e) {
                throw new RuntimeException(e);
            }
        };
    }
exist endpoint.
@param endpoint endpoint
@param sendMessage sendMessage
@param receiveMessage receiveMessage
@return WebSocketChecker
shenyu-e2e/shenyu-e2e-engine/src/main/java/org/apache/shenyu/e2e/engine/scenario/function/WebSocketCheckers.java