接口压力测试并发脚本
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)