在测试 Metrics 功能时,可以使用 Robot Framework 编写如下的测试用例:
*** Settings ***
Documentation Test Metrics Functionality
Library RequestsLibrary
*** Variables ***
${base_url} http://localhost:8080 # metrics API 的基本 URL
${timeout} 10s # 请求超时时间
*** Test Cases ***
Get Metrics Data
[Tags] Metrics
Given the metrics API is available and running
When I get the metrics data from "${base_url}/metrics"
Then the response status code should be 200 OK
And the response content should contain "process_cpu_seconds_total"
And the response content should contain "http_requests_total"
*** Keywords ***
Given the metrics API is available and running
Wait until keyword succeeds ${timeout} 1s Check Service Availability
Check Service Availability
[Arguments] ${url}
${resp}= Get Request ${url}
Should Be Equal As Strings ${resp.status_code} 200 Failed to connect to service: ${url}
When I get the metrics data from "${url}"
[Arguments] ${url}
${resp}= Get Request ${url}
Then the response status code should be 200 OK
[Arguments] ${resp}
Should Be Equal As Strings ${resp.status_code} 200 Unexpected status code returned: {${resp.status_code}}
And the response content should contain "${expected}"
[Arguments] ${resp} ${expected}
Should Contain String ${resp.content.decode()} ${expected}
这个测试用例会通过 HTTP GET 请求获取 Metrics 数据,并检查响应状态码、响应内容是否包含指定的数据项。如果响应状态码不是 200,或者响应内容中不包含指定的数据项,则测试失败。
这里用到了 RequestsLibrary 库来发送 HTTP 请求和解析响应。其中,Given the metrics API is available and running 和 Check Service Availability 是自定义的关键字,用于检查 Metrics API 是否可用和是否可以连接到指定的服务。




