問題タブ [karate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1331 参照

java - JAVA を使用してコールバックを使用するときに REST エンドポイントをテストする方法は?

コールバック パラメータを使用している REST エンドポイントに対するテストを作成したいと考えています。ややこしいかもしれないので、以下に説明します。

  • /publish最初の呼び出しは、ペイロードを使用した POSTです。

    {"callbackURL":"http://localhost:609/test"}

  • サーバーは 200 といくつかの json で応答します

  • サーバーは、http://localhost:609/test/status(提供されたコールバック URL に基づいて) への非同期 POST を実行し、いくつかの json ペイロードを使用します。

TestNG と Rest-assured (必須ではありません) を使用してテストを作成しました。私の問題は、最初の返信とコールバック URL で受信したメッセージの両方を検証する方法です。私が最初に考えた (おそらくナイーブな) アプローチは、でリッスンする HTTP サーバーを実装するhttp://localhost:609/test/statusことです。何かが来ると、同期されたオブジェクトに書き込み、そこからテストが読み取られて検証されます。ただし、少しトリッキー (テスト ローカル サーバーは内部クラスを使用するなど) で壊れやすいように思えます。誰もがより良いアプローチを考えることができますか?

0 投票する
1 に答える
2885 参照

cucumber - Karate API テスト - '?' のエスケープ 機能ファイルの URL

Karate API フレームワークのpathキーワードを使用して、文字列を連結して URL を形成しています。ただし、「?」を渡すことができません。これが私がやっていることです:

テストを実行すると、「?」が表示されます。%3F として渡されます。\ を使用してエスケープしようとしましたが、他の答えも試しましたが、成功しませんでした。URL エンコーディングを使用する必要がありますか? ポインタやヘルプをいただければ幸いです。ありがとう

0 投票する
1 に答える
964 参照

karate - 702 ミリ秒後に呼び出しが失敗しました

最初のスクリプトを実行すると、次のエラーが表示されます。

com.intuit.karate.exception.KarateException: URL: https://qa.myorg.intVersionの http 呼び出しが 702 ミリ秒後に失敗しました。

これが私の機能ファイルです。

これが私のJavaファイルです:

デバッグモードで長時間手動で待機しました。それでも、以下のエラーが表示され、ターゲット フォルダーに HTML レポートが読み込まれません。(対象フォルダの下に Karate.log のみが表示されます。)

11:36:23.751 [main] エラー com.intuit.karate - javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX パスの構築に失敗しました: sun.security.provider.certpath.SunCertPathBuilderException: 有効なものが見つかりません要求されたターゲットへの証明書パス、URL の 271489 ミリ秒後に http 呼び出しが失敗しました: https://qa.myorg.int/Version

どうすれば解決できますか?