mirror of
https://github.com/httprunner/httprunner.git
synced 2026-09-05 23:51:25 +08:00
refactor run times: display test statistics correctly with run times setting
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
- test:
|
||||
name: get token
|
||||
request:
|
||||
url: http://127.0.0.1:5000/api/get-token
|
||||
method: POST
|
||||
headers:
|
||||
Content-Type: application/json
|
||||
user_agent: 'iOS/10.3'
|
||||
device_sn: 'HZfFBh6tU59EdXJ'
|
||||
os_platform: 'ios'
|
||||
app_version: '2.8.6'
|
||||
json:
|
||||
sign: f1219719911caae89ccc301679857ebfda115ca2
|
||||
variables:
|
||||
- expect_status_code: 200
|
||||
- token_len: 16
|
||||
extract:
|
||||
- token: content.token
|
||||
validate:
|
||||
- {"check": "status_code", "comparator": "eq", "expect": 200}
|
||||
- eq: ["status_code", $expect_status_code]
|
||||
- {"check": "$token", "comparator": "len_eq", "expect": 16}
|
||||
- len_eq: ["$token", $token_len]
|
||||
- len_eq: ["content.token", 16]
|
||||
- {"check": "status_code", "comparator": "sum_status_code", "expect": 2}
|
||||
- sum_status_code: ["status_code", 2]
|
||||
|
||||
- test:
|
||||
name: create user which does not exist
|
||||
request:
|
||||
url: http://127.0.0.1:5000/api/users/1000
|
||||
method: POST
|
||||
headers:
|
||||
Content-Type: application/json
|
||||
device_sn: 'HZfFBh6tU59EdXJ'
|
||||
token: $token
|
||||
json:
|
||||
name: "user1"
|
||||
password: "123456"
|
||||
extract:
|
||||
- success: content.success
|
||||
validate:
|
||||
- eq: ["status_code", 201]
|
||||
- sum_status_code: ["status_code", 3]
|
||||
- eq: ["$success", True]
|
||||
- eq: ["abc$success", "abcTrue"]
|
||||
- {"check": "status_code", "comparator": "eq", "expect": 201}
|
||||
- {"check": "content.success", "comparator": "eq", "expect": true}
|
||||
|
||||
- test:
|
||||
name: create user which existed
|
||||
times: 3
|
||||
request:
|
||||
url: http://127.0.0.1:5000/api/users/1000
|
||||
method: POST
|
||||
headers:
|
||||
Content-Type: application/json
|
||||
device_sn: 'HZfFBh6tU59EdXJ'
|
||||
token: $token
|
||||
json:
|
||||
name: "user1"
|
||||
password: "123456"
|
||||
validate:
|
||||
- "eq": ["status_code", 500]
|
||||
- sum_status_code: ["status_code", 5]
|
||||
- "eq": ["content.success", false]
|
||||
- {"check": "status_code", "comparator": "eq", "expect": 500}
|
||||
- {"check": "content.success", "comparator": "eq", "expect": false}
|
||||
@@ -0,0 +1,24 @@
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
|
||||
from httprunner.task import TaskSuite
|
||||
from pyunitreport import HTMLTestRunner
|
||||
from tests.base import ApiServerUnittest
|
||||
|
||||
|
||||
class TestCli(ApiServerUnittest):
|
||||
|
||||
def test_run_times(self):
|
||||
testset_path = "tests/data/demo_testset_cli.yml"
|
||||
output_folder_name = os.path.basename(os.path.splitext(testset_path)[0])
|
||||
kwargs = {
|
||||
"output": output_folder_name
|
||||
}
|
||||
|
||||
task_suite = TaskSuite(testset_path)
|
||||
result = HTMLTestRunner(**kwargs).run(task_suite)
|
||||
self.assertEqual(result.testsRun, 5)
|
||||
|
||||
report_save_dir = os.path.join(os.getcwd(), 'reports', output_folder_name)
|
||||
shutil.rmtree(report_save_dir)
|
||||
Reference in New Issue
Block a user