Category: service
Alibaba Cloud Performance Testing Service (PTS)
Purpose
Use Alibaba Cloud PTS OpenAPI to support:
-
test scene inventory and inspection
-
pressure test planning and lifecycle automation
-
report and metrics retrieval for verification and troubleshooting
Prerequisites
-
Configure least-privilege Alibaba Cloud credentials.
-
Install Python SDKs (virtual environment recommended):
python3 -m venv .venv . .venv/bin/activate python -m pip install -U alibabacloud_pts20201020 alibabacloud_tea_openapi
-
Prefer environment variables:
-
ALICLOUD_ACCESS_KEY_ID
-
ALICLOUD_ACCESS_KEY_SECRET
-
optional ALICLOUD_REGION_ID
-
Before mutating operations, run read-only API discovery and current-state checks.
AccessKey Priority
-
Environment variables: ALICLOUD_ACCESS_KEY_ID / ALICLOUD_ACCESS_KEY_SECRET / ALICLOUD_REGION_ID
-
Shared credentials file: ~/.alibabacloud/credentials
If region/environment is unclear, confirm with user before mutating operations.
Workflow
-
Identify target region, test scene identifiers, and operation scope.
-
Run API discovery to confirm API names and required parameters.
-
Execute read-only APIs first (List* / Get* / Describe* ).
-
Execute mutating operations only after confirming rollback and change window.
-
Save outputs and evidence to output/alicloud-observability-pts/ .
API Discovery
-
Product code: PTS
-
Default API version: 2020-10-20
-
Metadata source: https://api.aliyun.com/meta/v1/products/PTS/versions/2020-10-20/api-docs.json
Minimal Executable Quickstart
python skills/observability/pts/alicloud-observability-pts/scripts/list_openapi_meta_apis.py
Optional arguments:
python skills/observability/pts/alicloud-observability-pts/scripts/list_openapi_meta_apis.py
--product-code PTS
--version 2020-10-20
--output-dir output/alicloud-observability-pts
List scenes (read-only):
python skills/observability/pts/alicloud-observability-pts/scripts/list_pts_scenes.py
--region cn-hangzhou
--page-number 1
--page-size 10
--output output/alicloud-observability-pts/scenes.txt
Start one scene (mutating):
python skills/observability/pts/alicloud-observability-pts/scripts/start_pts_scene.py
--region cn-hangzhou
--scene-id <scene-id>
--wait
--output output/alicloud-observability-pts/start-result.json
Stop one scene (mutating):
python skills/observability/pts/alicloud-observability-pts/scripts/stop_pts_scene.py
--region cn-hangzhou
--scene-id <scene-id>
--wait
--output output/alicloud-observability-pts/stop-result.json
Common Operation Map
-
Scene inventory: ListPtsScene , GetPtsScene , ListOpenJMeterScenes , GetOpenJMeterScene
-
Scene lifecycle: CreatePtsScene , SavePtsScene , ModifyPtsScene , DeletePtsScene , DeletePtsScenes
-
Test execution control: StartPtsScene , StopPtsScene , StartTestingJMeterScene , StopTestingJMeterScene
-
Debug control: StartDebugPtsScene , StopDebugPtsScene , StartDebuggingJMeterScene , StopDebuggingJMeterScene
-
Reports/metrics: ListPtsReports , GetPtsReportDetails , GetPtsSceneRunningData , GetPtsSceneRunningStatus
See references/api_quick_map.md for grouped API lists.
Script Catalog
-
scripts/list_openapi_meta_apis.py : fetch metadata and generate API inventory files.
-
scripts/list_pts_scenes.py : list PTS scenes with pagination.
-
scripts/start_pts_scene.py : start a scene and optionally poll running status.
-
scripts/stop_pts_scene.py : stop a scene and optionally poll until non-running.
Output Policy
Write generated files and execution evidence to: output/alicloud-observability-pts/
Validation
mkdir -p output/alicloud-observability-pts for f in skills/observability/pts/alicloud-observability-pts/scripts/*.py; do python3 -m py_compile "$f" done echo "py_compile_ok" > output/alicloud-observability-pts/validate.txt
Pass criteria: command exits 0 and output/alicloud-observability-pts/validate.txt is generated.
Output And Evidence
-
Save artifacts, command outputs, and API response summaries under output/alicloud-observability-pts/ .
-
Include key parameters (region/resource id/time range) in evidence files for reproducibility.
References
-
Source list: references/sources.md
-
API quick map: references/api_quick_map.md
-
request/response templates: references/templates.md