請求與組合
這些節點執行一次請求/回應的呼叫,然後交還控制權。至於會保持開啟的連線,請參 閱連線與串流。
每一個都綁定到專案裡的某個請求:您在建立時就指定它。
HTTP 請求
Section titled “HTTP 請求”一次執行完一個 HTTP 請求、GraphQL、gRPC unary 或 WebSocket 呼叫。
| 輸入 | env(執行時使用的環境)、override(覆寫值,物件) |
| 輸出 | response — 完整的回應 |
| 設定 | requestId、label |
response 輸出帶著回應物件:狀態、標頭、內文、耗時。在連結上放一個
選擇器,就能直接把您要的東西抽出來 —
status、body.data.id。
SOAP 請求
Section titled “SOAP 請求”執行一個 SOAP 請求。
| 輸入 | env |
| 輸出 | response |
| 設定 | requestId、label |
<soap:Fault> 回應會出現在回應物件裡:請用一個 Assert 去檢查它,不要只信 HTTP
狀態碼。
Redis command(Redis 命令)
Section titled “Redis command(Redis 命令)”在一條新連線上執行一道單獨的 Redis 命令。
| 輸入 | env |
| 輸出 | response |
Kafka produce(Kafka 產生)
Section titled “Kafka produce(Kafka 產生)”發布一筆 Kafka 記錄。
| 輸入 | env |
| 輸出 | response — 記錄的中繼資料:主題、分割區、偏移量 |
呼叫專案裡的另一個情境 — 這就是組合的機制。
| 輸入 | 子情境的每一個未設定參數對應一個 param:<name> 連接埠 |
| 輸出 | 子情境的每一個輸出對應一個 output:<name> 連接埠,另加 result |
| 設定 | scenarioId、label |
這些連接埠是即時從子情境推導出來的:在子情境裡加一個參數,呼叫方就會長出對應的 連接埠。
要抽出共用邏輯就靠它:寫一個「取得權杖」的情境,讓另外五個情境去呼叫。
執行情境「登入」 ├─ param:user ◄── Input └─ output:token ──► 設定變數「token」一共四層,依這個順序套用:
- 專案裡儲存的那份請求;
- 在動作上指定的快速設定;
- 在動作上填入的覆寫值;
- 從覆寫連接埠收到的值。
於是同一個呼叫可以用三組資料重跑,而不必把請求複製三份。