add HelloWorld example

This commit is contained in:
httprunner
2018-02-09 16:43:50 +08:00
parent b247cd49bc
commit f8beb887ea
10 changed files with 656 additions and 0 deletions

View File

View File

@@ -0,0 +1,82 @@
- api:
def: get_token($user_agent, $device_sn, $os_platform, $app_version)
request:
url: /api/get-token
method: POST
headers:
user_agent: $user_agent
device_sn: $device_sn
os_platform: $os_platform
app_version: $app_version
json:
sign: ${get_sign($user_agent, $device_sn, $os_platform, $app_version)}
validate:
- eq: ["status_code", 200]
- len_eq: ["content.token", 16]
- api:
def: create_user($uid, $user_name, $user_password, $token)
request:
url: /api/users/$uid
method: POST
headers:
token: $token
json:
name: $user_name
password: $user_password
validate:
- eq: ["status_code", 201]
- api:
def: get_user($uid, $token)
request:
url: /api/users/$uid
method: GET
headers:
token: $token
validate:
- eq: ["status_code", 200]
- api:
def: update_user($uid, $user_name, $user_password, $token)
request:
url: /api/users/$uid
method: PUT
headers:
token: $token
json:
name: $user_name
password: $user_password
validate:
- eq: ["status_code", 200]
- api:
def: delete_user($uid, $token)
request:
url: /api/users/$uid
method: DELETE
headers:
token: $token
validate:
- eq: ["status_code", 200]
- api:
def: get_users($token)
request:
url: /api/users
method: GET
headers:
token: $token
validate:
- eq: ["status_code", 200]
- api:
def: reset_all($token)
request:
url: /api/reset-all
method: GET
headers:
token: $token
validate:
- eq: ["status_code", 200]
- eq: ["content.success", true]

View File

@@ -0,0 +1,28 @@
import hashlib
import hmac
import random
import string
SECRET_KEY = "DebugTalk"
default_request = {
"base_url": "http://127.0.0.1:5000",
"headers": {
"Content-Type": "application/json",
"device_sn": "$device_sn"
}
}
def gen_random_string(str_len):
random_char_list = []
for _ in range(str_len):
random_char = random.choice(string.ascii_letters + string.digits)
random_char_list.append(random_char)
random_string = ''.join(random_char_list)
return random_string
def get_sign(*args):
content = ''.join(args).encode('ascii')
sign_key = SECRET_KEY.encode('ascii')
sign = hmac.new(sign_key, content, hashlib.sha1).hexdigest()
return sign

View File

@@ -0,0 +1,31 @@
- config:
name: "create user and check result."
def: create_and_check($uid, $token)
request: $default_request
output:
- token
- test:
name: make sure user $uid does not exist
api: get_user($uid, $token)
validate:
- eq: ["status_code", 404]
- eq: ["content.success", false]
- test:
name: create user $uid
variables:
- user_name: "user1"
- user_password: "123456"
api: create_user($uid, $user_name, $user_password, $token)
validate:
- eq: ["status_code", 201]
- eq: ["content.success", true]
- test:
name: check if user $uid exists
api: get_user($uid, $token)
validate:
- eq: ["status_code", 200]
- eq: ["content.success", true]

View File

@@ -0,0 +1,26 @@
- config:
name: "setup and reset all."
def: setup_and_reset($device_sn)
variables:
- user_agent: 'iOS/10.3'
- device_sn: ${gen_random_string(15)}
- os_platform: 'ios'
- app_version: '2.8.6'
request: $default_request
output:
- token
- test:
name: get token
api: get_token($user_agent, $device_sn, $os_platform, $app_version)
variables:
- user_agent: 'iOS/10.3'
- device_sn: $device_sn
- os_platform: 'ios'
- app_version: '2.8.6'
extract:
- token: content.token
- test:
name: reset all users
api: reset_all($token)

View File

@@ -0,0 +1,20 @@
- config:
name: smoketest
variables:
- device_sn: ${gen_random_string(15)}
request: $default_request
- test:
name: setup and reset all.
suite: setup_and_reset($device_sn)
output:
- token
- device_sn
- test:
name: create user 1000 and check result.
suite: create_and_check(1000, $token)
- test:
name: create user 1001 and check result.
suite: create_and_check(1001, $token)