接口压力测试并发脚本

import requests
import json
import string
import random
from multiprocessing import Pool, Manager


def test_register(lock, success_Count, failure_Count):
    data_dict = {'username': 'nanbei', 'password': '123456', 'email': '123456@qq.com'}
    for i in range(2):
        data_dict["username"] = "".join(random.sample(string.ascii_lowercase, 10))+str(i)
        data = json.dumps(data_dict)
        r = requests.post('http://192.168.0.119:8080/register/', data=data)  # 接口
        print(str(r.json()))  # 用json的规则,把服务器的接口返回转换为了一个字典
        if r.json()["code"] == "00" and isinstance(r.json()["userid"], int):
            lock.acquire()
            success_Count.value += 1
            lock.release()
        else:
            lock.acquire()
            failure_Count.value += 1
            lock.release()


if __name__ == '__main__':    
    manager = Manager()
    lock = manager.Lock()
    success_Count = manager.Value('i', 0)
    failure_Count = manager.Value('i', 0)
    pool = Pool(3)
    pool.apply_async(test_register, args=(lock, success_Count, failure_Count))  
    pool.close()
    pool.join()
    print("Process end.")  
    print("success count:", success_Count.value)
    print("faileure count:", failure_Count.value)

 

posted @ 2020-03-27 22:43  海澜时见鲸  阅读(659)  评论(0)    收藏  举报